


Bits error versus x
Results
Initial program 58.1
Taylor expanded around 0 0.6
Final simplification0.6
herbie shell --seed 2019002
(FPCore (x)
:name "Hyperbolic sine"
(/ (- (exp x) (exp (- x))) 2))
Time bar (total: 11.5s)Debug log
1 calls. Slowest were:
| 18.0ms | (/ (- (exp x) (exp (- x))) 2) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 58.8b
Found 1 expressions with local error:
| 5.3b | (- (exp x) (exp (- x))) |
1 calls. Slowest were:
| 4.0ms | (- (exp x) (exp (- x))) |
1 calls. Slowest were:
| 44.0ms | (- (exp x) (exp (- x))) |
7 calls. Slowest were:
| 25.0ms | (+ (* 2 x) (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5)))) |
| 13.0ms | (- (exp x) (exp (* -1 x))) |
| 13.0ms | (/ (exp (exp x)) (exp (exp (- x)))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.1b | (* 1/3 (pow x 3)) |
| 0.0b | (* 1/60 (pow x 5)) |
| 0.0b | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
| 0.0b | (+ (* 2 x) (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5)))) |
4 calls. Slowest were:
| 6.0ms | (+ (* 2 x) (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5)))) |
| 3.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
| 1.0ms | (* 1/3 (pow x 3)) |
4 calls. Slowest were:
| 73.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
| 34.0ms | (+ (* 2 x) (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5)))) |
| 19.0ms | (* 1/60 (pow x 5)) |
| 15.0ms | (* 1/3 (pow x 3)) |
23 calls. Slowest were:
| 157.0ms | (* (exp (* 2 x)) (* (exp (* 1/3 (pow x 3))) (exp (* 1/60 (pow x 5))))) |
| 136.0ms | (* (exp (* 2 x)) (exp (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))))) |
| 44.0ms | (+ (* 2 x) (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5)))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0b
Found 4 expressions with local error:
| 5.3b | (- (sqrt (exp x)) (sqrt (exp (- x)))) |
| 0.0b | (+ (sqrt (exp x)) (sqrt (exp (- x)))) |
| 0.0b | (* (+ (sqrt (exp x)) (sqrt (exp (- x)))) (- (sqrt (exp x)) (sqrt (exp (- x))))) |
| 0.0b | (sqrt (exp (- x))) |
4 calls. Slowest were:
| 21.0ms | (* (+ (sqrt (exp x)) (sqrt (exp (- x)))) (- (sqrt (exp x)) (sqrt (exp (- x))))) |
| 6.0ms | (- (sqrt (exp x)) (sqrt (exp (- x)))) |
| 5.0ms | (+ (sqrt (exp x)) (sqrt (exp (- x)))) |
4 calls. Slowest were:
| 110.0ms | (* (+ (sqrt (exp x)) (sqrt (exp (- x)))) (- (sqrt (exp x)) (sqrt (exp (- x))))) |
| 56.0ms | (- (sqrt (exp x)) (sqrt (exp (- x)))) |
| 39.0ms | (+ (sqrt (exp x)) (sqrt (exp (- x)))) |
| 12.0ms | (sqrt (exp (- x))) |
65 calls. Slowest were:
| 333.0ms | (* (+ (* (sqrt (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))) (sqrt (exp (- x)))) (* (sqrt (exp x)) (sqrt (exp (- x))))))) |
| 274.0ms | (* (+ (pow (sqrt (exp x)) 3) (pow (sqrt (exp (- x))) 3)) (- (pow (sqrt (exp x)) 3) (pow (sqrt (exp (- x))) 3))) |
| 189.0ms | (* (+ (pow (sqrt (exp x)) 3) (pow (sqrt (exp (- x))) 3)) (- (sqrt (exp x)) (sqrt (exp (- x))))) |
3 alts after pruning (0 fresh and 3 done)
Merged error: 0b
0% (0.6b remaining)
Error of 0.6b against oracle of 0.0b and baseline of 0.6b