


Bits error versus v
Initial program 0.6
Simplified0.6
rmApplied log1p-expm1-u0.6
Final simplification0.6
herbie shell --seed 2019005 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
Time bar (total: 25.5s)Debug log
1 calls. Slowest were:
| 533.0ms | (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.3b
Found 2 expressions with local error:
| 0.3b | (acos (/ (fma (* -5 v) v 1) (fma v v -1))) |
| 0.0b | (/ (fma (* -5 v) v 1) (fma v v -1)) |
2 calls. Slowest were:
| 7.0ms | (/ (fma (* -5 v) v 1) (fma v v -1)) |
| 2.0ms | (acos (/ (fma (* -5 v) v 1) (fma v v -1))) |
2 calls. Slowest were:
| 47.0ms | (/ (fma (* -5 v) v 1) (fma v v -1)) |
| 5.0ms | (acos (/ (fma (* -5 v) v 1) (fma v v -1))) |
31 calls. Slowest were:
| 521.0ms | (- (+ (* 4 (/ 1 (pow v 4))) (+ 5 (* 4 (/ 1 (pow v 2)))))) |
| 499.0ms | (- (+ (* 4 (/ 1 (pow v 4))) (+ 5 (* 4 (/ 1 (pow v 2)))))) |
| 402.0ms | (/ (* (* (fma (* -5 v) v 1) (fma (* -5 v) v 1)) (fma (* -5 v) v 1)) (* (* (fma v v -1) (fma v v -1)) (fma v v -1))) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 0.3b
Found 3 expressions with local error:
| 0.3b | (acos (log1p (expm1 (/ (fma (* -5 v) v 1) (fma v v -1))))) |
| 0.0b | (/ (fma (* -5 v) v 1) (fma v v -1)) |
| 0.0b | (log1p (expm1 (/ (fma (* -5 v) v 1) (fma v v -1)))) |
3 calls. Slowest were:
| 7.0ms | (/ (fma (* -5 v) v 1) (fma v v -1)) |
| 1.0ms | (acos (log1p (expm1 (/ (fma (* -5 v) v 1) (fma v v -1))))) |
| 0.0ms | (log1p (expm1 (/ (fma (* -5 v) v 1) (fma v v -1)))) |
3 calls. Slowest were:
| 145.0ms | (log1p (expm1 (/ (fma (* -5 v) v 1) (fma v v -1)))) |
| 33.0ms | (/ (fma (* -5 v) v 1) (fma v v -1)) |
| 5.0ms | (acos (log1p (expm1 (/ (fma (* -5 v) v 1) (fma v v -1))))) |
35 calls. Slowest were:
| 604.0ms | (- (+ (* 4 (/ 1 (pow v 4))) (+ 5 (* 4 (/ 1 (pow v 2)))))) |
| 554.0ms | (- (+ (* 4 (/ 1 (pow v 4))) (+ 5 (* 4 (/ 1 (pow v 2)))))) |
| 554.0ms | (- (+ (* 4 (/ 1 (pow v 4))) (+ 5 (* 4 (/ 1 (pow v 2)))))) |
5 alts after pruning (4 fresh and 1 done)
Merged error: 0.3b
Found 4 expressions with local error:
| 1.0b | (* (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))) |
| 1.0b | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
| 1.0b | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
| 0.3b | (acos (/ (fma (* -5 v) v 1) (fma v v -1))) |
4 calls. Slowest were:
| 10.0ms | (* (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))) |
| 2.0ms | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
| 2.0ms | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
4 calls. Slowest were:
| 20.0ms | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
| 14.0ms | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
| 5.0ms | (* (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))) |
| 2.0ms | (acos (/ (fma (* -5 v) v 1) (fma v v -1))) |
42 calls. Slowest were:
| 101.0ms | (sqrt (* (cbrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) (cbrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) |
| 100.0ms | (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))) |
| 98.0ms | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0.3b
Found 4 expressions with local error:
| 1.0b | (* (* (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) |
| 1.0b | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
| 1.0b | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
| 1.0b | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
4 calls. Slowest were:
| 23.0ms | (* (* (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) |
| 1.0ms | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
| 1.0ms | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
4 calls. Slowest were:
| 14.0ms | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
| 13.0ms | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
| 12.0ms | (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) |
| 4.0ms | (* (* (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) |
50 calls. Slowest were:
| 168.0ms | (* (* (* (* (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))) (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))) (* (* (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))))) (* (* (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))))) |
| 163.0ms | (* (* (* (* (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) (* (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))))) (* (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))))) (* (* (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1))))))) |
| 111.0ms | (* (* (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) (sqrt (sqrt (acos (/ (fma (* -5 v) v 1) (fma v v -1)))))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.3b
0% (0.0b remaining)
Error of 0.6b against oracle of 0.6b and baseline of 0.6b