You are here: Home > Fastcode project > ArcCos Challenge
![]() |
ArcCos Challenge
The objective is to build the fastest replacement for RTL ArcCos.
ArcCos returns the inverse cosine 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 ArcCos(const X: Extended): Extended;
overload;
function ArcCos(const X: Double): Double; overload;
function
ArcCos(const X: Single): Single; overload;
Validation and Benchmark Tool:
Tables of results
Extended
| Target | Function | Author | Speed up over RTL |
| P4 Prescott | ArcCosJOH | John O'Harrow | 1,36 |
| P4 Northwood | ArcCosNJ1 | Norbert Juffa | 1,34 |
| Pentium M Dothan | ArcCosDKC1 | Dennis Christensen | 1,15 |
| Pentium M Banias | ArcCosNJ1 | Norbert Juffa | 1,16 |
| AMD 64 | ArcCosJOH | John O'Harrow | 1,23 |
| Athlon XP | ArcCosJOH | John O'Harrow | 1,22 |
| Blended | ArcCosJOH | John O'Harrow | 1,21 |
| RTL Replacement | ArcCosNJ1 | Norbert Juffa | 1,21 |
| Pascal | ArcCosRTL | Borland | 1,00 |
Double
| Target | Function | Author | Speed up over RTL |
| P4 Prescott | ArcCosJOH | John O'Harrow | 1,18 |
| P4 Northwood | ArcCosNJ1 | Norbert Juffa | 1,17 |
| Pentium M Dothan | ArcCosDKC1 | Dennis Christensen | 1,17 |
| Pentium M Banias | ArcCosDKC1 | Dennis Christensen | 1,16 |
| AMD 64 | ArcCosJOH | John O'Harrow | 1,24 |
| Athlon XP | ArcCosJOH | John O'Harrow | 1,28 |
| Blended | ArcCosNJ1 | Norbert Juffa | 1,17 |
| RTL Replacement | ArcCosNJ1 | Norbert Juffa | 1,17 |
| Pascal | ArcCosRTL | Borland | 1,00 |
Single
| Target | Function | Author | Speed up over RTL |
| P4 Prescott | ArcCosJOH | John O'Harrow | 1,72 |
| P4 Northwood | ArcCosJOH | John O'Harrow | 1,40 |
| Pentium M Dothan | ArcCosDKC1 | Dennis Christensen | 1,25 |
| Pentium M Banias | ArcCosJOH | John O'Harrow | 1,16 |
| AMD 64 | ArcCosJOH | John O'Harrow | 1,28 |
| Athlon XP | ArcCosJOH | John O'Harrow | 1,33 |
| Blended | ArcCosJOH | John O'Harrow | 1,29 |
| RTL Replacement | ArcCosJOH | John O'Harrow | 1,29 |
| Pascal | ArcCosRTL | Borland | 1,00 |
