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 |