


Bits error versus x
Results
Initial program 57.9
Taylor expanded around 0 0.7
Final simplification0.7
herbie shell --seed 2019004
(FPCore (x)
:name "Hyperbolic sine"
(/ (- (exp x) (exp (- x))) 2))
Time bar (total: 19.6s)Debug log
1 calls. Slowest were:
| 33.0ms | (/ (- (exp x) (exp (- x))) 2) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 58.0b
Found 1 expressions with local error:
| 5.1b | (- (exp x) (exp (- x))) |
1 calls. Slowest were:
| 4.0ms | (- (exp x) (exp (- x))) |
1 calls. Slowest were:
| 56.0ms | (- (exp x) (exp (- x))) |
7 calls. Slowest were:
| 45.0ms | (+ (* 2 x) (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5)))) |
| 20.0ms | (/ (exp (exp x)) (exp (exp (- x)))) |
| 17.0ms | (- (exp x) (exp (* -1 x))) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 0.0b
Found 3 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))) |
3 calls. Slowest were:
| 3.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
| 1.0ms | (* 1/3 (pow x 3)) |
| 1.0ms | (* 1/60 (pow x 5)) |
3 calls. Slowest were:
| 68.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
| 31.0ms | (* 1/60 (pow x 5)) |
| 16.0ms | (* 1/3 (pow x 3)) |
17 calls. Slowest were:
| 21.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
| 17.0ms | (* (exp (* 1/3 (pow x 3))) (exp (* 1/60 (pow x 5)))) |
| 13.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 5.0b | (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) |
| 0.0b | (* (exp x) (exp x)) |
| 0.0b | (/ (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) (+ (exp x) (exp (- x)))) |
| 0.0b | (* (exp (- x)) (exp (- x))) |
4 calls. Slowest were:
| 15.0ms | (/ (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) (+ (exp x) (exp (- x)))) |
| 8.0ms | (* (exp (- x)) (exp (- x))) |
| 6.0ms | (* (exp x) (exp x)) |
4 calls. Slowest were:
| 85.0ms | (/ (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) (+ (exp x) (exp (- x)))) |
| 51.0ms | (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) |
| 11.0ms | (* (exp (- x)) (exp (- x))) |
| 11.0ms | (* (exp x) (exp x)) |
111 calls. Slowest were:
| 317.0ms | (/ (sqrt (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x))))) (+ (exp x) (exp (- x)))) |
| 311.0ms | (/ (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) (+ (exp x) (exp (- x)))) |
| 310.0ms | (/ (sqrt (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x))))) 1) |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 5.0b | (+ (/ -1 (exp (+ x x))) (exp (+ x x))) |
| 5.0b | (log (exp (+ (/ -1 (exp (+ x x))) (exp (+ x x))))) |
| 0.0b | (/ (log (exp (+ (/ -1 (exp (+ x x))) (exp (+ x x))))) (+ (exp x) (exp (- x)))) |
| 0.0b | (/ -1 (exp (+ x x))) |
4 calls. Slowest were:
| 75.0ms | (/ (log (exp (+ (/ -1 (exp (+ x x))) (exp (+ x x))))) (+ (exp x) (exp (- x)))) |
| 20.0ms | (log (exp (+ (/ -1 (exp (+ x x))) (exp (+ x x))))) |
| 6.0ms | (+ (/ -1 (exp (+ x x))) (exp (+ x x))) |
4 calls. Slowest were:
| 79.0ms | (/ (log (exp (+ (/ -1 (exp (+ x x))) (exp (+ x x))))) (+ (exp x) (exp (- x)))) |
| 46.0ms | (log (exp (+ (/ -1 (exp (+ x x))) (exp (+ x x))))) |
| 45.0ms | (+ (/ -1 (exp (+ x x))) (exp (+ x x))) |
| 10.0ms | (/ -1 (exp (+ x x))) |
105 calls. Slowest were:
| 554.0ms | (/ (* (* (log (exp (+ (/ -1 (exp (+ x x))) (exp (+ x x))))) (log (exp (+ (/ -1 (exp (+ x x))) (exp (+ x x)))))) (log (exp (+ (/ -1 (exp (+ x x))) (exp (+ x x)))))) (* (* (+ (exp x) (exp (- x))) (+ (exp x) (exp (- x)))) (+ (exp x) (exp (- x))))) |
| 158.0ms | (+ (* (exp x) (exp x)) (- (* (exp (- x)) (exp (- x))) (* (exp x) (exp (- x))))) |
| 102.0ms | (/ (- (exp (* 2 x)) (/ 1 (exp (* 2 x)))) (+ (exp (* -1 x)) (exp x))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0b
0% (0.6b remaining)
Error of 0.7b against oracle of 0.1b and baseline of 0.7b