You are here: Home > Fastcode project > ArcSin Challenge

The Fastcode Project

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