


Bits error versus x
Results
Initial program 31.4
rmApplied difference-of-sqr-131.4
Applied sqrt-prod0.1
rmApplied add-sqr-sqrt0.1
Applied sqrt-prod0.1
Final simplification0.1
herbie shell --seed 2018365
(FPCore (x)
:name "Hyperbolic arc-cosine"
(log (+ x (sqrt (- (* x x) 1)))))
Time bar (total: 19.5s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 33.2b
Found 3 expressions with local error:
| 31.9b | (sqrt (- (* x x) 1)) |
| 0.2b | (log (+ x (sqrt (- (* x x) 1)))) |
| 0.0b | (+ x (sqrt (- (* x x) 1))) |
3 calls. Slowest were:
| 3.0ms | (sqrt (- (* x x) 1)) |
| 3.0ms | (log (+ x (sqrt (- (* x x) 1)))) |
| 3.0ms | (+ x (sqrt (- (* x x) 1))) |
3 calls. Slowest were:
| 87.0ms | (log (+ x (sqrt (- (* x x) 1)))) |
| 37.0ms | (sqrt (- (* x x) 1)) |
| 26.0ms | (+ x (sqrt (- (* x x) 1))) |
22 calls. Slowest were:
| 383.0ms | (- (+ (* 1/2 (/ (pow x 2) (sqrt -1))) (sqrt -1)) (* 1/8 (/ (pow x 4) (pow (sqrt -1) 3)))) |
| 273.0ms | (- (+ (log (sqrt -1)) (/ x (sqrt -1))) (* 1/6 (/ (pow x 3) (pow (sqrt -1) 3)))) |
| 271.0ms | (- (log 2) (+ (log (/ 1 x)) (+ (* 3/32 (/ 1 (pow x 4))) (* 1/4 (/ 1 (pow x 2)))))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.5b | (* (sqrt (+ x 1)) (sqrt (- x 1))) |
| 0.2b | (log (+ x (* (sqrt (+ x 1)) (sqrt (- x 1))))) |
| 0.0b | (+ x (* (sqrt (+ x 1)) (sqrt (- x 1)))) |
| 0.0b | (sqrt (- x 1)) |
4 calls. Slowest were:
| 5.0ms | (* (sqrt (+ x 1)) (sqrt (- x 1))) |
| 1.0ms | (+ x (* (sqrt (+ x 1)) (sqrt (- x 1)))) |
| 1.0ms | (log (+ x (* (sqrt (+ x 1)) (sqrt (- x 1))))) |
4 calls. Slowest were:
| 95.0ms | (log (+ x (* (sqrt (+ x 1)) (sqrt (- x 1))))) |
| 41.0ms | (* (sqrt (+ x 1)) (sqrt (- x 1))) |
| 32.0ms | (+ x (* (sqrt (+ x 1)) (sqrt (- x 1)))) |
| 14.0ms | (sqrt (- x 1)) |
52 calls. Slowest were:
| 550.0ms | (* (* (* (sqrt (+ x 1)) (sqrt (+ x 1))) (sqrt (+ x 1))) (* (* (sqrt (- x 1)) (sqrt (- x 1))) (sqrt (- x 1)))) |
| 534.0ms | (log (- (* x x) (* (* (sqrt (+ x 1)) (sqrt (- x 1))) (* (sqrt (+ x 1)) (sqrt (- x 1)))))) |
| 466.0ms | (- (+ (* 1/2 (/ x (sqrt -1))) (sqrt -1)) (* 1/8 (/ (pow x 2) (pow (sqrt -1) 3)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.5b | (* (sqrt (+ x 1)) (* (sqrt (sqrt (- x 1))) (sqrt (sqrt (- x 1))))) |
| 0.5b | (* (sqrt (sqrt (- x 1))) (sqrt (sqrt (- x 1)))) |
| 0.2b | (log (+ x (* (sqrt (+ x 1)) (* (sqrt (sqrt (- x 1))) (sqrt (sqrt (- x 1))))))) |
| 0.1b | (sqrt (sqrt (- x 1))) |
4 calls. Slowest were:
| 20.0ms | (* (sqrt (+ x 1)) (* (sqrt (sqrt (- x 1))) (sqrt (sqrt (- x 1))))) |
| 6.0ms | (* (sqrt (sqrt (- x 1))) (sqrt (sqrt (- x 1)))) |
| 1.0ms | (sqrt (sqrt (- x 1))) |
4 calls. Slowest were:
| 62.0ms | (log (+ x (* (sqrt (+ x 1)) (* (sqrt (sqrt (- x 1))) (sqrt (sqrt (- x 1))))))) |
| 38.0ms | (sqrt (sqrt (- x 1))) |
| 30.0ms | (* (sqrt (+ x 1)) (* (sqrt (sqrt (- x 1))) (sqrt (sqrt (- x 1))))) |
| 13.0ms | (* (sqrt (sqrt (- x 1))) (sqrt (sqrt (- x 1)))) |
124 calls. Slowest were:
| 518.0ms | (log (+ (pow x 3) (pow (* (sqrt (+ x 1)) (* (sqrt (sqrt (- x 1))) (sqrt (sqrt (- x 1))))) 3))) |
| 423.0ms | (- (+ (* 1/2 (/ x (sqrt -1))) (sqrt -1)) (* 1/8 (/ (pow x 2) (pow (sqrt -1) 3)))) |
| 395.0ms | (- (+ (* 1/2 (/ (pow x 2) (sqrt -1))) (sqrt -1)) (* 1/8 (/ (pow x 4) (pow (sqrt -1) 3)))) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 1.2b | (/ -1/4 (* x x)) |
| 0.5b | (/ -3/32 (pow x 4)) |
| 0.2b | (+ (log 2) (log x)) |
| 0.0b | (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) |
4 calls. Slowest were:
| 17.0ms | (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) |
| 3.0ms | (+ (log 2) (log x)) |
| 0.0ms | (/ -3/32 (pow x 4)) |
4 calls. Slowest were:
| 1.3s | (+ (+ (log 2) (log x)) (/ -3/32 (pow x 4))) |
| 315.0ms | (+ (log 2) (log x)) |
| 24.0ms | (/ -3/32 (pow x 4)) |
| 18.0ms | (/ -1/4 (* x x)) |
26 calls. Slowest were:
| 396.0ms | (+ (* (- (* (log 2) (log 2)) (* (log x) (log x))) (pow x 4)) (* (- (log 2) (log x)) -3/32)) |
| 297.0ms | (- (+ (log 2) (log -1)) (+ (log (/ -1 x)) (* 3/32 (/ 1 (pow x 4))))) |
| 187.0ms | (+ (* (+ (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)) |
2 alts after pruning (0 fresh and 2 done)
Merged error: 0b
0% (0.1b remaining)
Error of 0.1b against oracle of 0.0b and baseline of 0.1b