2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)2 \cdot \tan^{-1} \left(\sqrt{\frac{1}{1 + x} - \frac{x}{1 + x}}\right)(FPCore (x) :precision binary64 (* 2.0 (atan (sqrt (/ (- 1.0 x) (+ 1.0 x))))))
(FPCore (x) :precision binary64 (* 2.0 (atan (sqrt (- (/ 1.0 (+ 1.0 x)) (/ x (+ 1.0 x)))))))
double code(double x) {
return 2.0 * atan(sqrt((1.0 - x) / (1.0 + x)));
}
double code(double x) {
return 2.0 * atan(sqrt((1.0 / (1.0 + x)) - (x / (1.0 + x))));
}

























Bits error versus x
Results
| Alternative 1 | |
|---|---|
| Error | 0.0 |
| Cost | 46144 |
| Alternative 2 | |
|---|---|
| Error | 0.0 |
| Cost | 39488 |
| Alternative 3 | |
|---|---|
| Error | 0.0 |
| Cost | 33600 |
| Alternative 4 | |
|---|---|
| Error | 0.0 |
| Cost | 33216 |
| Alternative 5 | |
|---|---|
| Error | 0.0 |
| Cost | 33088 |
| Alternative 6 | |
|---|---|
| Error | 0.0 |
| Cost | 26560 |
| Alternative 7 | |
|---|---|
| Error | 0.0 |
| Cost | 26432 |
| Alternative 8 | |
|---|---|
| Error | 0.0 |
| Cost | 26432 |
| Alternative 9 | |
|---|---|
| Error | 32.2 |
| Cost | 26432 |
| Alternative 10 | |
|---|---|
| Error | 0.0 |
| Cost | 26240 |
| Alternative 11 | |
|---|---|
| Error | 0.0 |
| Cost | 26240 |
| Alternative 12 | |
|---|---|
| Error | 0.0 |
| Cost | 19776 |
| Alternative 13 | |
|---|---|
| Error | 0.0 |
| Cost | 13504 |
| Alternative 14 | |
|---|---|
| Error | 0.0 |
| Cost | 13376 |
| Alternative 15 | |
|---|---|
| Error | 0.7 |
| Cost | 13248 |
| Alternative 16 | |
|---|---|
| Error | 0.3 |
| Cost | 7360 |
| Alternative 17 | |
|---|---|
| Error | 0.4 |
| Cost | 7104 |
| Alternative 18 | |
|---|---|
| Error | 0.7 |
| Cost | 6720 |
| Alternative 19 | |
|---|---|
| Error | 1.4 |
| Cost | 6592 |
| Alternative 20 | |
|---|---|
| Error | 51.2 |
| Cost | 64 |
| Alternative 21 | |
|---|---|
| Error | 62.0 |
| Cost | 64 |
| Alternative 22 | |
|---|---|
| Error | 63.0 |
| Cost | 64 |

Initial program 0.0
rmApplied div-sub_binary640.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2021042
(FPCore (x)
:name "arccos"
:precision binary64
(* 2.0 (atan (sqrt (/ (- 1.0 x) (+ 1.0 x))))))