


Bits error versus x
Results
Initial program 58.0
Taylor expanded around 0 0.6
Final simplification0.6
herbie shell --seed 2018360
(FPCore (x)
:name "Hyperbolic sine"
(/ (- (exp x) (exp (- x))) 2))
Time bar (total: 30.0s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 57.1b
Found 1 expressions with local error:
| 5.7b | (- (exp x) (exp (- x))) |
1 calls. Slowest were:
| 4.0ms | (- (exp x) (exp (- x))) |
1 calls. Slowest were:
| 47.0ms | (- (exp x) (exp (- x))) |
7 calls. Slowest were:
| 47.0ms | (+ (* 2 x) (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5)))) |
| 18.0ms | (- (exp x) (exp (* -1 x))) |
| 13.0ms | (/ (exp (exp x)) (exp (exp (- x)))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.0b
Found 3 expressions with local error:
| 0.2b | (* 1/3 (pow x 3)) |
| 0.0b | (* 1/60 (pow x 5)) |
| 0.0b | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
3 calls. Slowest were:
| 6.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
| 2.0ms | (* 1/3 (pow x 3)) |
| 2.0ms | (* 1/60 (pow x 5)) |
3 calls. Slowest were:
| 91.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
| 26.0ms | (* 1/60 (pow x 5)) |
| 15.0ms | (* 1/3 (pow x 3)) |
17 calls. Slowest were:
| 24.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
| 24.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
| 24.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 5.7b | (- (exp x) (exp (- x))) |
| 5.7b | (- (exp x) (exp (- x))) |
| 5.7b | (- (exp x) (exp (- x))) |
| 0.1b | (cbrt (* (* (- (exp x) (exp (- x))) (- (exp x) (exp (- x)))) (- (exp x) (exp (- x))))) |
4 calls. Slowest were:
| 26.0ms | (cbrt (* (* (- (exp x) (exp (- x))) (- (exp x) (exp (- x)))) (- (exp x) (exp (- x))))) |
| 4.0ms | (- (exp x) (exp (- x))) |
| 4.0ms | (- (exp x) (exp (- x))) |
4 calls. Slowest were:
| 40.0ms | (- (exp x) (exp (- x))) |
| 39.0ms | (- (exp x) (exp (- x))) |
| 38.0ms | (cbrt (* (* (- (exp x) (exp (- x))) (- (exp x) (exp (- x)))) (- (exp x) (exp (- x))))) |
| 38.0ms | (- (exp x) (exp (- x))) |
52 calls. Slowest were:
| 692.0ms | (cbrt (* (* (- (pow (exp x) 3) (pow (exp (- x)) 3)) (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x))))) (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))))) |
| 573.0ms | (cbrt (* (* (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x))))) (- (exp x) (exp (- x))))) |
| 568.0ms | (cbrt (* (* (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) (- (pow (exp x) 3) (pow (exp (- x)) 3))) (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 5.8b | (- (sqrt (exp x)) (sqrt (exp (- x)))) |
| 5.7b | (- (exp x) (exp (- x))) |
| 5.7b | (- (exp x) (exp (- x))) |
| 0.1b | (cbrt (* (* (- (exp x) (exp (- x))) (* (+ (sqrt (exp x)) (sqrt (exp (- x)))) (- (sqrt (exp x)) (sqrt (exp (- x)))))) (- (exp x) (exp (- x))))) |
4 calls. Slowest were:
| 82.0ms | (cbrt (* (* (- (exp x) (exp (- x))) (* (+ (sqrt (exp x)) (sqrt (exp (- x)))) (- (sqrt (exp x)) (sqrt (exp (- x)))))) (- (exp x) (exp (- x))))) |
| 8.0ms | (- (sqrt (exp x)) (sqrt (exp (- x)))) |
| 6.0ms | (- (exp x) (exp (- x))) |
4 calls. Slowest were:
| 462.0ms | (cbrt (* (* (- (exp x) (exp (- x))) (* (+ (sqrt (exp x)) (sqrt (exp (- x)))) (- (sqrt (exp x)) (sqrt (exp (- x)))))) (- (exp x) (exp (- x))))) |
| 400.0ms | (- (exp x) (exp (- x))) |
| 60.0ms | (- (sqrt (exp x)) (sqrt (exp (- x)))) |
| 52.0ms | (- (exp x) (exp (- x))) |
113 calls. Slowest were:
| 1.2s | (cbrt (* (* (- (exp x) (exp (- x))) (* (+ (sqrt (exp x)) (sqrt (exp (- x)))) (- (* (sqrt (exp x)) (sqrt (exp x))) (* (sqrt (exp (- x))) (sqrt (exp (- x))))))) (- (exp x) (exp (- x))))) |
| 550.0ms | (pow (* (- (sqrt (exp x)) (sqrt (exp (- x)))) (* (pow (- (exp x) (exp (- x))) 2) (+ (sqrt (exp x)) (sqrt (exp (- x)))))) 1/3) |
| 523.0ms | (cbrt (* (* (- (exp x) (exp (- x))) (* (- (* (sqrt (exp x)) (sqrt (exp x))) (* (sqrt (exp (- x))) (sqrt (exp (- x))))) (- (* (sqrt (exp x)) (sqrt (exp x))) (* (sqrt (exp (- x))) (sqrt (exp (- x))))))) (- (exp x) (exp (- x))))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0.0b
0% (0.5b remaining)
Error of 0.6b against oracle of 0.1b and baseline of 0.6b