


Bits error versus x
Results
Initial program 31.7
rmApplied difference-of-sqr-131.7
Applied sqrt-prod0.0
Final simplification0.0
herbie shell --seed 2019007
(FPCore (x)
:name "Hyperbolic arc-cosine"
(log (+ x (sqrt (- (* x x) 1)))))
Time bar (total: 3.3m)Debug log
1 calls. Slowest were:
| 110.0ms | (log (+ x (sqrt (- (* x x) 1)))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 34.1b
Found 2 expressions with local error:
| 32.7b | (sqrt (- (* x x) 1)) |
| 0.2b | (log (+ x (sqrt (- (* x x) 1)))) |
2 calls. Slowest were:
| 2.0ms | (sqrt (- (* x x) 1)) |
| 2.0ms | (log (+ x (sqrt (- (* x x) 1)))) |
2 calls. Slowest were:
| 113.0ms | (log (+ x (sqrt (- (* x x) 1)))) |
| 20.0ms | (sqrt (- (* x x) 1)) |
19 calls. Slowest were:
| 334.0ms | (log (- (* x x) (* (sqrt (- (* x x) 1)) (sqrt (- (* x x) 1))))) |
| 328.0ms | (- (+ (* 1/2 (/ (pow x 2) (sqrt -1))) (sqrt -1)) (* 1/8 (/ (pow x 4) (pow (sqrt -1) 3)))) |
| 285.0ms | (+ (log -1/2) (+ (log (/ -1 x)) (+ (* 3/32 (/ 1 (pow x 4))) (* 1/4 (/ 1 (pow x 2)))))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0.0b
Found 2 expressions with local error:
| 0.5b | (* (sqrt (+ x 1)) (sqrt (- x 1))) |
| 0.2b | (log (+ x (* (sqrt (+ x 1)) (sqrt (- x 1))))) |
2 calls. Slowest were:
| 9.0ms | (* (sqrt (+ x 1)) (sqrt (- x 1))) |
| 1.0ms | (log (+ x (* (sqrt (+ x 1)) (sqrt (- x 1))))) |
2 calls. Slowest were:
| 70.0ms | (log (+ x (* (sqrt (+ x 1)) (sqrt (- x 1))))) |
| 37.0ms | (* (sqrt (+ x 1)) (sqrt (- x 1))) |
40 calls. Slowest were:
| 602.0ms | (* (* (* (sqrt (+ x 1)) (sqrt (+ x 1))) (sqrt (+ x 1))) (* (* (sqrt (- x 1)) (sqrt (- x 1))) (sqrt (- x 1)))) |
| 517.0ms | (log (- (* x x) (* (* (sqrt (+ x 1)) (sqrt (- x 1))) (* (sqrt (+ x 1)) (sqrt (- x 1)))))) |
| 419.0ms | (log (+ (pow x 3) (pow (* (sqrt (+ x 1)) (sqrt (- x 1))) 3))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.4b | (/ -1/4 (* x x)) |
| 0.2b | (/ -3/32 (pow x 4)) |
| 0.2b | (+ (log 2) (log x)) |
| 0.0b | (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))) |
4 calls. Slowest were:
| 120.0ms | (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))) |
| 6.0ms | (+ (log 2) (log x)) |
| 1.0ms | (/ -3/32 (pow x 4)) |
4 calls. Slowest were:
| 286.0ms | (+ (log 2) (log x)) |
| 122.0ms | (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))) |
| 24.0ms | (/ -3/32 (pow x 4)) |
| 19.0ms | (/ -1/4 (* x x)) |
32 calls. Slowest were:
| 266.0ms | (- (log 2) (+ (log (/ 1 x)) (+ (* 3/32 (/ 1 (pow x 4))) (* 1/4 (/ 1 (pow x 2)))))) |
| 236.0ms | (* (+ (* (+ (log 2) (log x)) (+ (log 2) (log x))) (- (* (/ -3/32 (pow x 4)) (/ -3/32 (pow x 4))) (* (+ (log 2) (log x)) (/ -3/32 (pow x 4))))) (* x x)) |
| 230.0ms | (- (+ (log 2) (log x)) (+ (* 1/4 (/ 1 (pow x 2))) (* 3/32 (/ 1 (pow x 4))))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.5b | (* (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))) (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x)))) |
| 0.5b | (cbrt (* (* (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))) (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x)))) (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))))) |
| 0.4b | (/ -1/4 (* x x)) |
| 0.4b | (/ -1/4 (* x x)) |
4 calls. Slowest were:
| 390.0ms | (cbrt (* (* (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))) (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x)))) (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))))) |
| 280.0ms | (* (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))) (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x)))) |
| 1.0ms | (/ -1/4 (* x x)) |
4 calls. Slowest were:
| 116.0ms | (* (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))) (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x)))) |
| 104.0ms | (cbrt (* (* (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))) (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x)))) (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))))) |
| 11.0ms | (/ -1/4 (* x x)) |
| 11.0ms | (/ -1/4 (* x x)) |
456 calls. Slowest were:
| 1.4s | (* (* (* (+ (* (log 2) (log 2)) (- (* (log x) (log x)) (* (log 2) (log x)))) (pow x 4)) (* x x)) (* (* (+ (* (log 2) (log 2)) (- (* (log x) (log x)) (* (log 2) (log x)))) (pow x 4)) (* x x))) |
| 1.0s | (cbrt (* (* (+ (pow (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) 3) (pow (/ -1/4 (* x x)) 3)) (+ (* (+ (* (+ (pow (log 2) 3) (pow (log x) 3)) (pow x 4)) (* (+ (* (log 2) (log 2)) (- (* (log x) (log x)) (* (log 2) (log x)))) -3/32)) (* x x)) (* (* (+ (* (log 2) (log 2)) (- (* (log x) (log x)) (* (log 2) (log x)))) (pow x 4)) -1/4))) (+ (* (+ (pow (+ (log 2) (log x)) 3) (pow (/ -3/32 (pow x 4)) 3)) (* x x)) (* (+ (* (+ (log 2) (log x)) (+ (log 2) (log x))) (- (* (/ -3/32 (pow x 4)) (/ -3/32 (pow x 4))) (* (+ (log 2) (log x)) (/ -3/32 (pow x 4))))) -1/4)))) |
| 991.0ms | (cbrt (* (* (+ (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) (/ -1/4 (* x x))) (+ (* (+ (* (+ (pow (log 2) 3) (pow (log x) 3)) (pow x 4)) (* (+ (* (log 2) (log 2)) (- (* (log x) (log x)) (* (log 2) (log x)))) -3/32)) (* x x)) (* (* (+ (* (log 2) (log 2)) (- (* (log x) (log x)) (* (log 2) (log x)))) (pow x 4)) -1/4))) (+ (* (+ (pow (+ (log 2) (log x)) 3) (pow (/ -3/32 (pow x 4)) 3)) (* x x)) (* (+ (* (+ (log 2) (log x)) (+ (log 2) (log x))) (- (* (/ -3/32 (pow x 4)) (/ -3/32 (pow x 4))) (* (+ (log 2) (log x)) (/ -3/32 (pow x 4))))) -1/4)))) |
3 alts after pruning (0 fresh and 3 done)
Merged error: 0b
0% (0.0b remaining)
Error of 0.0b against oracle of 0.0b and baseline of 0.0b