You are here: Home > Fastcode project > ArcSin Challenge
![]() |
ArcSin Challenge
The objective is to build the fastest replacement for RTL ArcSin.
ArcSin returns the inverse sine of X. X must be between -1 and 1. The return
value will be in the range [-Pi/2..Pi/2], in radians.
There are three
overloaded functions differing in the input and output datatype.
function
ArcSin(const X: Extended): Extended; overload;
function ArcSin(const X:
Double): Double; overload;
function ArcSin(const X: Single): Single;
overload;
Validation and Benchmark Tool:
Tables of results
Extended
| Target | Function | Author | Speed up over RTL |
| P4 Prescott | ArcSinJOH | John O'Harrow | 1,19 |
| P4 Northwood | ArcSinJOH | John O'Harrow | 1,23 |
| Pentium M Dothan | ArcSinDKC | Dennis Christensen | 1,13 |
| Pentium M Banias | ArcSinNJ | Norbert Juffa | 1,24 |
| AMD 64 | ArcSinJOH | John O'Harrow | 1,32 |
| Athlon XP | ArcSinJOH | John O'Harrow | 1,17 |
| Blended | ArcSinJOH | John O'Harrow | 1,21 |
| RTL Replacement | ArcSinJOH | John O'Harrow | 1,21 |
| Pascal | ArcSinRTL | Borland | 1,00 |
Double
| Target | Function | Author | Speed up over RTL |
| P4 Prescott | ArcSinJOH | John O'Harrow | 1,04 |
| P4 Northwood | ArcSinJOH | John O'Harrow | 1,10 |
| Pentium M Dothan | ArcSinNJ | Norbert Juffa | 1,18 |
| Pentium M Banias | ArcSinJOH | John O'Harrow | 1,12 |
| AMD 64 | ArcSinJOH | John O'Harrow | 1,47 |
| Athlon XP | ArcSinDKC | Dennis Christensen | 1,24 |
| Blended | ArcSinJOH | John O'Harrow | 1,16 |
| RTL Replacement | ArcSinNJ | Norbert Juffa | 1,16 |
| Pascal | ArcSinRTL | Borland | 1,00 |
Single
| Target | Function | Author | Speed up over RTL |
| P4 Prescott | ArcSinJOH | John O'Harrow | 1,49 |
| P4 Northwood | ArcSinJOH | John O'Harrow | 1,46 |
| Pentium M Dothan | ArcSinNJ | Norbert Juffa | 1,25 |
| Pentium M Banias | ArcSinJOH | John O'Harrow | 1,17 |
| AMD 64 | ArcSinJOH | John O'Harrow | 1,47 |
| Athlon XP | ArcSinJOH | John O'Harrow | 1,28 |
| Blended | ArcSinJOH | John O'Harrow | 1,33 |
| RTL Replacement | ArcSinJOH | John O'Harrow | 1,33 |
| Pascal | ArcSinRTL | Borland | 1,00 |
