


Bits error versus x
Results
Initial program 57.9
Taylor expanded around 0 0.6
Final simplification0.6
herbie shell --seed 2019007
(FPCore (x)
:name "Hyperbolic sine"
(/ (- (exp x) (exp (- x))) 2))
Time bar (total: 17.6s)Debug log
1 calls. Slowest were:
| 22.0ms | (/ (- (exp x) (exp (- x))) 2) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 58.4b
Found 1 expressions with local error:
| 7.5b | (- (exp x) (exp (- x))) |
1 calls. Slowest were:
| 5.0ms | (- (exp x) (exp (- x))) |
1 calls. Slowest were:
| 51.0ms | (- (exp x) (exp (- x))) |
7 calls. Slowest were:
| 29.0ms | (+ (* 2 x) (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5)))) |
| 24.0ms | (/ (exp (exp x)) (exp (exp (- x)))) |
| 12.0ms | (- (exp x) (exp (* -1 x))) |
4 alts after pruning (3 fresh and 1 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:
| 4.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:
| 50.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
| 23.0ms | (* 1/60 (pow x 5)) |
| 15.0ms | (* 1/3 (pow x 3)) |
17 calls. Slowest were:
| 17.0ms | (* (exp (* 1/3 (pow x 3))) (exp (* 1/60 (pow x 5)))) |
| 12.0ms | (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5))) |
| 11.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 2 expressions with local error:
| 7.5b | (- (exp x) (exp (- x))) |
| 7.5b | (log (exp (- (exp x) (exp (- x))))) |
2 calls. Slowest were:
| 12.0ms | (log (exp (- (exp x) (exp (- x))))) |
| 4.0ms | (- (exp x) (exp (- x))) |
2 calls. Slowest were:
| 53.0ms | (- (exp x) (exp (- x))) |
| 50.0ms | (log (exp (- (exp x) (exp (- x))))) |
22 calls. Slowest were:
| 49.0ms | (+ (* 2 x) (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5)))) |
| 45.0ms | (+ (* 2 x) (+ (* 1/3 (pow x 3)) (* 1/60 (pow x 5)))) |
| 27.0ms | (log (* (cbrt (exp (- (exp x) (exp (- x))))) (cbrt (exp (- (exp x) (exp (- x))))))) |
4 alts after pruning (1 fresh and 3 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 7.5b | (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) |
| 0.2b | (/ (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) (+ (exp x) (exp (- x)))) |
| 0.0b | (* (exp (- x)) (exp (- x))) |
| 0.0b | (* (exp x) (exp x)) |
4 calls. Slowest were:
| 26.0ms | (/ (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) (+ (exp x) (exp (- x)))) |
| 12.0ms | (* (exp (- x)) (exp (- x))) |
| 6.0ms | (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) |
4 calls. Slowest were:
| 111.0ms | (/ (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) (+ (exp x) (exp (- x)))) |
| 56.0ms | (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) |
| 18.0ms | (* (exp (- x)) (exp (- x))) |
| 12.0ms | (* (exp x) (exp x)) |
111 calls. Slowest were:
| 435.0ms | (/ (- (* (exp x) (exp x)) (* (exp (- x)) (exp (- x)))) (+ (exp x) (exp (- x)))) |
| 372.0ms | (- (* (* (exp x) (exp x)) (* (exp x) (exp x))) (* (* (exp (- x)) (exp (- x))) (* (exp (- x)) (exp (- x))))) |
| 366.0ms | (/ (- (pow (exp x) 2) (pow (exp (* -1 x)) 2)) (+ (exp (* -1 x)) (exp x))) |
4 alts after pruning (1 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