


Bits error versus x
Results
Initial program 4.2
Simplified0.1
rmApplied flip3-+0.2
Final simplification0.2
herbie shell --seed 2019005
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))
Time bar (total: 2.5m)Debug log
1 calls. Slowest were:
| 79.0ms | (sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.3b
Found 2 expressions with local error:
| 0.3b | (sqrt (+ (exp x) 1)) |
| 0.0b | (+ (exp x) 1) |
2 calls. Slowest were:
| 5.0ms | (sqrt (+ (exp x) 1)) |
| 2.0ms | (+ (exp x) 1) |
2 calls. Slowest were:
| 47.0ms | (sqrt (+ (exp x) 1)) |
| 12.0ms | (+ (exp x) 1) |
12 calls. Slowest were:
| 97.0ms | (- (+ (sqrt 2) (+ (* 1/4 (/ (pow x 2) (sqrt 2))) (* 1/2 (/ x (sqrt 2))))) (* 1/8 (/ (pow x 2) (pow (sqrt 2) 3)))) |
| 27.0ms | (sqrt (- (* (exp x) (exp x)) (* 1 1))) |
| 19.0ms | (+ x (+ (* 1/2 (pow x 2)) 2)) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 4.1b | (- (* 1 1) (* (exp x) 1)) |
| 0.3b | (sqrt (/ (+ (pow (exp x) 3) (pow 1 3)) (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))))) |
| 0.2b | (/ (+ (pow (exp x) 3) (pow 1 3)) (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1)))) |
| 0.2b | (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))) |
4 calls. Slowest were:
| 45.0ms | (/ (+ (pow (exp x) 3) (pow 1 3)) (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1)))) |
| 23.0ms | (sqrt (/ (+ (pow (exp x) 3) (pow 1 3)) (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))))) |
| 14.0ms | (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))) |
4 calls. Slowest were:
| 120.0ms | (sqrt (/ (+ (pow (exp x) 3) (pow 1 3)) (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))))) |
| 76.0ms | (/ (+ (pow (exp x) 3) (pow 1 3)) (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1)))) |
| 19.0ms | (- (* 1 1) (* (exp x) 1)) |
| 19.0ms | (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))) |
94 calls. Slowest were:
| 590.0ms | (+ (* (* (exp x) (exp x)) (* (exp x) (exp x))) (- (* (- (* 1 1) (* (exp x) 1)) (- (* 1 1) (* (exp x) 1))) (* (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))))) |
| 521.0ms | (sqrt (/ (+ (pow (exp x) 3) (pow 1 3)) (- (* (* (exp x) (exp x)) (* (exp x) (exp x))) (* (- (* 1 1) (* (exp x) 1)) (- (* 1 1) (* (exp x) 1)))))) |
| 335.0ms | (/ (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))) (* (cbrt (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1)))) (cbrt (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1)))))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0.2b
Found 2 expressions with local error:
| 0.3b | (sqrt (+ (exp x) 1)) |
| 0.0b | (+ (exp x) 1) |
2 calls. Slowest were:
| 3.0ms | (sqrt (+ (exp x) 1)) |
| 2.0ms | (+ (exp x) 1) |
2 calls. Slowest were:
| 21.0ms | (sqrt (+ (exp x) 1)) |
| 7.0ms | (+ (exp x) 1) |
12 calls. Slowest were:
| 108.0ms | (- (+ (sqrt 2) (+ (* 1/4 (/ (pow x 2) (sqrt 2))) (* 1/2 (/ x (sqrt 2))))) (* 1/8 (/ (pow x 2) (pow (sqrt 2) 3)))) |
| 51.0ms | (sqrt (- (* (exp x) (exp x)) (* 1 1))) |
| 31.0ms | (+ x (+ (* 1/2 (pow x 2)) 2)) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 4.1b | (- (* 1 1) (* (exp x) 1)) |
| 4.1b | (- 1 (exp x)) |
| 0.3b | (sqrt (/ (/ (+ (pow (exp x) 3) (pow 1 3)) (sqrt (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))))) (sqrt (+ (exp (+ x x)) (- 1 (exp x)))))) |
| 0.2b | (/ (/ (+ (pow (exp x) 3) (pow 1 3)) (sqrt (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))))) (sqrt (+ (exp (+ x x)) (- 1 (exp x))))) |
4 calls. Slowest were:
| 57.0ms | (/ (/ (+ (pow (exp x) 3) (pow 1 3)) (sqrt (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))))) (sqrt (+ (exp (+ x x)) (- 1 (exp x))))) |
| 48.0ms | (sqrt (/ (/ (+ (pow (exp x) 3) (pow 1 3)) (sqrt (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))))) (sqrt (+ (exp (+ x x)) (- 1 (exp x)))))) |
| 4.0ms | (- (* 1 1) (* (exp x) 1)) |
4 calls. Slowest were:
| 324.0ms | (sqrt (/ (/ (+ (pow (exp x) 3) (pow 1 3)) (sqrt (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))))) (sqrt (+ (exp (+ x x)) (- 1 (exp x)))))) |
| 101.0ms | (/ (/ (+ (pow (exp x) 3) (pow 1 3)) (sqrt (+ (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1))))) (sqrt (+ (exp (+ x x)) (- 1 (exp x))))) |
| 19.0ms | (- (* 1 1) (* (exp x) 1)) |
| 18.0ms | (- 1 (exp x)) |
965 calls. Slowest were:
| 926.0ms | (/ (sqrt (+ (* (* (exp x) (exp x)) (* (exp x) (exp x))) (- (* (- (* 1 1) (* (exp x) 1)) (- (* 1 1) (* (exp x) 1))) (* (* (exp x) (exp x)) (- (* 1 1) (* (exp x) 1)))))) (sqrt (+ (exp (+ x x)) (- 1 (exp x))))) |
| 750.0ms | (sqrt (/ (/ (+ (pow (exp x) 3) (pow 1 3)) (sqrt (- (* (* (exp x) (exp x)) (* (exp x) (exp x))) (* (- (* 1 1) (* (exp x) 1)) (- (* 1 1) (* (exp x) 1)))))) (sqrt (sqrt (+ (exp (+ x x)) (- 1 (exp x))))))) |
| 745.0ms | (/ (/ (+ (pow (exp x) 3) (pow 1 3)) (sqrt (- (* (* (exp x) (exp x)) (* (exp x) (exp x))) (* (- (* 1 1) (* (exp x) 1)) (- (* 1 1) (* (exp x) 1)))))) (sqrt (sqrt (+ (exp (+ x x)) (- 1 (exp x)))))) |
3 alts after pruning (0 fresh and 3 done)
Merged error: 0.2b
0% (0.1b remaining)
Error of 0.2b against oracle of 0.1b and baseline of 0.2b