


Bits error versus x



Bits error versus y
Initial program 43.0
Taylor expanded around 0 0.8
Simplified0.8
Final simplification0.8
herbie shell --seed 2018365 +o rules:numerics
(FPCore (x y)
:name "Euler formula imaginary part (p55)"
(im (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))
Time bar (total: 15.6s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 44.2b
Found 3 expressions with local error:
| 44.2b | (- (* (exp x) (sin y)) (/ (sin y) (exp x))) |
| 0.0b | (* (exp x) (sin y)) |
| 0.0b | (/ (sin y) (exp x)) |
3 calls. Slowest were:
| 8.0ms | (- (* (exp x) (sin y)) (/ (sin y) (exp x))) |
| 4.0ms | (* (exp x) (sin y)) |
| 3.0ms | (/ (sin y) (exp x)) |
3 calls. Slowest were:
| 135.0ms | (- (* (exp x) (sin y)) (/ (sin y) (exp x))) |
| 57.0ms | (* (exp x) (sin y)) |
| 33.0ms | (/ (sin y) (exp x)) |
70 calls. Slowest were:
| 456.0ms | (fma (exp x) (sin y) (- (* (/ (cbrt (sin y)) (cbrt (exp x))) (/ (* (cbrt (sin y)) (cbrt (sin y))) (* (cbrt (exp x)) (cbrt (exp x))))))) |
| 348.0ms | (fma (exp x) (sin y) (- (* (/ (sin y) (sqrt (exp x))) (/ 1 (sqrt (exp x)))))) |
| 339.0ms | (fma (- (/ (sin y) (cbrt (exp x)))) (/ 1 (* (cbrt (exp x)) (cbrt (exp x)))) (* (/ (sin y) (cbrt (exp x))) (/ 1 (* (cbrt (exp x)) (cbrt (exp x)))))) |
17 alts after pruning (17 fresh and 0 done)
Merged error: 29.6b
Found 0 expressions with local error:
0 calls. Slowest were:
0 calls. Slowest were:
0 calls. Slowest were:
17 alts after pruning (16 fresh and 1 done)
Merged error: 29.6b
Found 4 expressions with local error:
| 57.9b | (- (exp x) (exp (- x))) |
| 0.1b | (* (/ (- (exp x) (exp (- x))) 2) (sin y)) |
| 0.0b | (+ (exp x) (exp (- x))) |
| 0.0b | (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) |
4 calls. Slowest were:
| 23.0ms | (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) |
| 20.0ms | (* (/ (- (exp x) (exp (- x))) 2) (sin y)) |
| 11.0ms | (- (exp x) (exp (- x))) |
4 calls. Slowest were:
| 121.0ms | (* (/ (- (exp x) (exp (- x))) 2) (sin y)) |
| 76.0ms | (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) |
| 53.0ms | (- (exp x) (exp (- x))) |
| 31.0ms | (+ (exp x) (exp (- x))) |
60 calls. Slowest were:
| 405.0ms | (* (* (* (/ (- (exp x) (exp (- x))) 2) (/ (- (exp x) (exp (- x))) 2)) (/ (- (exp x) (exp (- x))) 2)) (* (* (sin y) (sin y)) (sin y))) |
| 369.0ms | (* 1/2 (* (- (exp x) (exp (- x))) (sin y))) |
| 366.0ms | (* (* (* (/ (+ (exp x) (exp (- x))) 2) (/ (+ (exp x) (exp (- x))) 2)) (/ (+ (exp x) (exp (- x))) 2)) (* (* (cos y) (cos y)) (cos y))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 0.1b | (* (/ (fma (fma 1/3 (* x x) 2) x (* (pow x 5) 1/60)) 2) (sin y)) |
| 0.1b | (* (pow x 5) 1/60) |
| 0.0b | (fma (fma 1/3 (* x x) 2) x (* (pow x 5) 1/60)) |
| 0.0b | (+ (exp x) (exp (- x))) |
4 calls. Slowest were:
| 5.0ms | (* (/ (fma (fma 1/3 (* x x) 2) x (* (pow x 5) 1/60)) 2) (sin y)) |
| 4.0ms | (+ (exp x) (exp (- x))) |
| 2.0ms | (* (pow x 5) 1/60) |
4 calls. Slowest were:
| 99.0ms | (* (/ (fma (fma 1/3 (* x x) 2) x (* (pow x 5) 1/60)) 2) (sin y)) |
| 43.0ms | (+ (exp x) (exp (- x))) |
| 35.0ms | (fma (fma 1/3 (* x x) 2) x (* (pow x 5) 1/60)) |
| 19.0ms | (* (pow x 5) 1/60) |
28 calls. Slowest were:
| 341.0ms | (* (* (* (/ (fma (fma 1/3 (* x x) 2) x (* (pow x 5) 1/60)) 2) (/ (fma (fma 1/3 (* x x) 2) x (* (pow x 5) 1/60)) 2)) (/ (fma (fma 1/3 (* x x) 2) x (* (pow x 5) 1/60)) 2)) (* (* (sin y) (sin y)) (sin y))) |
| 200.0ms | (* (fma (fma 1/3 (* x x) 2) x (* (pow x 5) 1/60)) (sin y)) |
| 165.0ms | (* (/ (fma (fma 1/3 (* x x) 2) x (* (pow x 5) 1/60)) 2) (sin y)) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 0.1b
0% (0.7b remaining)
Error of 0.8b against oracle of 0.1b and baseline of 0.8b