


Bits error versus x
Initial program 4.2
Simplified0.1
rmApplied add-sqr-sqrt0.1
Applied fma-def0.1
Final simplification0.1
herbie shell --seed 2019008 +o rules:numerics
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))
Time bar (total: 14.0s)Debug log
1 calls. Slowest were:
| 90.0ms | (sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.0b
Found 2 expressions with local error:
| 0.0b | (+ (exp x) 1) |
| 0.0b | (sqrt (+ (exp x) 1)) |
2 calls. Slowest were:
| 8.0ms | (+ (exp x) 1) |
| 6.0ms | (sqrt (+ (exp x) 1)) |
2 calls. Slowest were:
| 29.0ms | (+ (exp x) 1) |
| 19.0ms | (sqrt (+ (exp x) 1)) |
14 calls. Slowest were:
| 164.0ms | (- (+ (sqrt 2) (+ (* 1/4 (/ (pow x 2) (sqrt 2))) (* 1/2 (/ x (sqrt 2))))) (* 1/8 (/ (pow x 2) (pow (sqrt 2) 3)))) |
| 34.0ms | (sqrt (- (* (exp x) (exp x)) (* 1 1))) |
| 33.0ms | (+ x (+ (* 1/2 (pow x 2)) 2)) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.0b | (sqrt (exp x)) |
| 0.0b | (sqrt (exp x)) |
| 0.0b | (fma (sqrt (exp x)) (sqrt (exp x)) 1) |
| 0.0b | (sqrt (fma (sqrt (exp x)) (sqrt (exp x)) 1)) |
4 calls. Slowest were:
| 2.0ms | (sqrt (exp x)) |
| 2.0ms | (sqrt (fma (sqrt (exp x)) (sqrt (exp x)) 1)) |
| 2.0ms | (sqrt (exp x)) |
4 calls. Slowest were:
| 67.0ms | (sqrt (fma (sqrt (exp x)) (sqrt (exp x)) 1)) |
| 50.0ms | (fma (sqrt (exp x)) (sqrt (exp x)) 1) |
| 20.0ms | (sqrt (exp x)) |
| 20.0ms | (sqrt (exp x)) |
24 calls. Slowest were:
| 156.0ms | (- (+ (sqrt 2) (+ (* 1/4 (/ (pow x 2) (sqrt 2))) (* 1/2 (/ x (sqrt 2))))) (* 1/8 (/ (pow x 2) (pow (sqrt 2) 3)))) |
| 43.0ms | (+ x (+ (* 1/2 (pow x 2)) 2)) |
| 33.0ms | (+ (* 1/2 x) (+ (* 1/8 (pow x 2)) 1)) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.0b | (cbrt (exp x)) |
| 0.0b | (cbrt (exp x)) |
| 0.0b | (* (fabs (cbrt (exp x))) (sqrt (cbrt (exp x)))) |
| 0.0b | (sqrt (exp x)) |
4 calls. Slowest were:
| 10.0ms | (* (fabs (cbrt (exp x))) (sqrt (cbrt (exp x)))) |
| 2.0ms | (sqrt (exp x)) |
| 1.0ms | (cbrt (exp x)) |
4 calls. Slowest were:
| 152.0ms | (* (fabs (cbrt (exp x))) (sqrt (cbrt (exp x)))) |
| 145.0ms | (cbrt (exp x)) |
| 132.0ms | (cbrt (exp x)) |
| 20.0ms | (sqrt (exp x)) |
36 calls. Slowest were:
| 345.0ms | (+ (* 1/72 (* (pow x 2) (fabs (pow (exp x) 1/3)))) (+ (fabs (pow (exp x) 1/3)) (* 1/6 (* x (fabs (pow (exp x) 1/3)))))) |
| 87.0ms | (* (* (* (fabs (cbrt (exp x))) (fabs (cbrt (exp x)))) (fabs (cbrt (exp x)))) (* (* (sqrt (cbrt (exp x))) (sqrt (cbrt (exp x)))) (sqrt (cbrt (exp x))))) |
| 70.0ms | (+ (* 1/3 x) (+ (* 1/18 (pow x 2)) 1)) |
2 alts after pruning (0 fresh and 2 done)
Merged error: 0b
0% (0.0b remaining)
Error of 0.1b against oracle of 0.1b and baseline of 0.1b