



Bits error versus x




Bits error versus eps
| Original | 37.1 |
|---|---|
| Target | 14.7 |
| Herbie | 0.4 |
Initial program 37.1
Initial simplification37.1
rmApplied sin-sum22.3
Applied associate--l+0.4
rmApplied fma-neg0.4
rmApplied fma-def0.4
Final simplification0.4
herbie shell --seed 2018360 +o rules:numerics
(FPCore (x eps)
:name "2sin (example 3.3)"
:herbie-target
(* 2 (* (cos (+ x (/ eps 2))) (sin (/ eps 2))))
(- (sin (+ x eps)) (sin x)))
Time bar (total: 8.8s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 33.6b
Found 2 expressions with local error:
| 3.4b | (sin (+ eps x)) |
| 1.2b | (- (sin (+ eps x)) (sin x)) |
2 calls. Slowest were:
| 33.0ms | (- (sin (+ eps x)) (sin x)) |
| 3.0ms | (sin (+ eps x)) |
2 calls. Slowest were:
| 46.0ms | (- (sin (+ eps x)) (sin x)) |
| 29.0ms | (sin (+ eps x)) |
33 calls. Slowest were:
| 253.0ms | (- eps (+ (* 1/6 (pow eps 3)) (* 1/2 (* x (pow eps 2))))) |
| 50.0ms | (- (+ x eps) (* 1/6 (pow eps 3))) |
| 29.0ms | (fma (sqrt (sin (+ eps x))) (sqrt (sin (+ eps x))) (- (* (sqrt (sin x)) (sqrt (sin x))))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.3b
Found 4 expressions with local error:
| 2.5b | (- (* (cos eps) (sin x)) (sin x)) |
| 0.1b | (* (sin eps) (cos x)) |
| 0.1b | (* (cos eps) (sin x)) |
| 0.1b | (+ (* (sin eps) (cos x)) (- (* (cos eps) (sin x)) (sin x))) |
4 calls. Slowest were:
| 17.0ms | (+ (* (sin eps) (cos x)) (- (* (cos eps) (sin x)) (sin x))) |
| 6.0ms | (- (* (cos eps) (sin x)) (sin x)) |
| 4.0ms | (* (cos eps) (sin x)) |
4 calls. Slowest were:
| 122.0ms | (+ (* (sin eps) (cos x)) (- (* (cos eps) (sin x)) (sin x))) |
| 83.0ms | (- (* (cos eps) (sin x)) (sin x)) |
| 62.0ms | (* (cos eps) (sin x)) |
| 41.0ms | (* (sin eps) (cos x)) |
52 calls. Slowest were:
| 509.0ms | (+ (* (+ (sin (- eps x)) (sin (+ eps x))) (+ (* (cos eps) (sin x)) (sin x))) (* 2 (- (* (* (cos eps) (sin x)) (* (cos eps) (sin x))) (* (sin x) (sin x))))) |
| 392.0ms | (- eps (+ (* 1/6 (pow eps 3)) (* 1/2 (* (pow x 2) eps)))) |
| 385.0ms | (- x (+ (* 1/6 (pow x 3)) (* 1/2 (* x (pow eps 2))))) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 0.1b
Found 3 expressions with local error:
| 2.5b | (fma (cos eps) (sin x) (- (sin x))) |
| 0.1b | (* (sin eps) (cos x)) |
| 0.1b | (+ (* (sin eps) (cos x)) (fma (cos eps) (sin x) (- (sin x)))) |
3 calls. Slowest were:
| 7.0ms | (+ (* (sin eps) (cos x)) (fma (cos eps) (sin x) (- (sin x)))) |
| 4.0ms | (* (sin eps) (cos x)) |
| 0.0ms | (fma (cos eps) (sin x) (- (sin x))) |
3 calls. Slowest were:
| 154.0ms | (+ (* (sin eps) (cos x)) (fma (cos eps) (sin x) (- (sin x)))) |
| 77.0ms | (fma (cos eps) (sin x) (- (sin x))) |
| 49.0ms | (* (sin eps) (cos x)) |
21 calls. Slowest were:
| 359.0ms | (- eps (+ (* 1/6 (pow eps 3)) (* 1/2 (* (pow x 2) eps)))) |
| 240.0ms | (- eps (+ (* 1/6 (pow eps 3)) (* 1/2 (* x (pow eps 2))))) |
| 84.0ms | (* (exp (* (sin eps) (cos x))) (exp (fma (cos eps) (sin x) (- (sin x))))) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 0.1b
Found 2 expressions with local error:
| 2.5b | (fma (cos eps) (sin x) (- (sin x))) |
| 0.2b | (fma (sin eps) (cos x) (fma (cos eps) (sin x) (- (sin x)))) |
2 calls. Slowest were:
| 0.0ms | (fma (cos eps) (sin x) (- (sin x))) |
| 0.0ms | (fma (sin eps) (cos x) (fma (cos eps) (sin x) (- (sin x)))) |
2 calls. Slowest were:
| 142.0ms | (fma (sin eps) (cos x) (fma (cos eps) (sin x) (- (sin x)))) |
| 92.0ms | (fma (cos eps) (sin x) (- (sin x))) |
6 calls. Slowest were:
| 200.0ms | (- eps (+ (* 1/6 (pow eps 3)) (* 1/2 (* x (pow eps 2))))) |
| 62.0ms | (- (+ (* (cos x) (sin eps)) (* (sin x) (cos eps))) (sin x)) |
| 32.0ms | (- (+ (* (cos x) (sin eps)) (* (sin x) (cos eps))) (sin x)) |
12 alts after pruning (11 fresh and 1 done)
Merged error: 0.1b
0% (0.1b remaining)
Error of 0.4b against oracle of 0.2b and baseline of 0.4b