



Bits error versus x




Bits error versus eps
Results
| Original | 37.0 |
|---|---|
| Target | 15.1 |
| Herbie | 13.0 |
Initial program 37.0
rmApplied tan-sum21.8
Taylor expanded around inf 21.9
rmApplied div-inv22.0
Applied *-un-lft-identity22.0
Applied *-un-lft-identity22.0
Applied distribute-lft-out22.0
Applied prod-diff22.2
Simplified15.7
Simplified13.0
rmApplied associate-*r/13.0
Final simplification13.0
herbie shell --seed 2019007 +o rules:numerics
(FPCore (x eps)
:name "2tan (problem 3.3.2)"
:herbie-target
(/ (sin eps) (* (cos x) (cos (+ x eps))))
(- (tan (+ x eps)) (tan x)))
Time bar (total: 3.5m)Debug log
1 calls. Slowest were:
| 8.0ms | (- (tan (+ x eps)) (tan x)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 36.2b
Found 2 expressions with local error:
| 4.6b | (tan (+ x eps)) |
| 1.2b | (- (tan (+ x eps)) (tan x)) |
2 calls. Slowest were:
| 6.0ms | (- (tan (+ x eps)) (tan x)) |
| 2.0ms | (tan (+ x eps)) |
2 calls. Slowest were:
| 121.0ms | (- (tan (+ x eps)) (tan x)) |
| 74.0ms | (tan (+ x eps)) |
35 calls. Slowest were:
| 233.0ms | (+ (* x (pow eps 2)) (+ eps (* (pow x 2) eps))) |
| 213.0ms | (- (* (+ (tan x) (tan eps)) (cos x)) (* (- 1 (* (tan x) (tan eps))) (sin x))) |
| 153.0ms | (* (- 1 (* (tan x) (tan eps))) (cos x)) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 14.9b
Found 4 expressions with local error:
| 2.9b | (- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x)) |
| 0.2b | (* (tan x) (tan eps)) |
| 0.1b | (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) |
| 0.1b | (+ (tan x) (tan eps)) |
4 calls. Slowest were:
| 46.0ms | (- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x)) |
| 13.0ms | (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) |
| 4.0ms | (* (tan x) (tan eps)) |
4 calls. Slowest were:
| 391.0ms | (- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x)) |
| 254.0ms | (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) |
| 106.0ms | (* (tan x) (tan eps)) |
| 103.0ms | (+ (tan x) (tan eps)) |
199 calls. Slowest were:
| 590.0ms | (fma (/ 1 (* (cbrt (- 1 (* (tan x) (tan eps)))) (cbrt (- 1 (* (tan x) (tan eps)))))) (/ (+ (tan x) (tan eps)) (cbrt (- 1 (* (tan x) (tan eps))))) (- (* (sqrt (tan x)) (sqrt (tan x))))) |
| 540.0ms | (fma (/ 1 (* (cbrt (- 1 (* (tan x) (tan eps)))) (cbrt (- 1 (* (tan x) (tan eps)))))) (/ (+ (tan x) (tan eps)) (cbrt (- 1 (* (tan x) (tan eps))))) (- (* (sqrt (tan x)) (sqrt (tan x))))) |
| 459.0ms | (fma (/ 1 (* (cbrt (- 1 (* (tan x) (tan eps)))) (cbrt (- 1 (* (tan x) (tan eps)))))) (/ (+ (tan x) (tan eps)) (cbrt (- 1 (* (tan x) (tan eps))))) (- (* (tan x) 1))) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 14.8b
Found 4 expressions with local error:
| 2.9b | (- (+ (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))) (/ (sin x) (* (cos x) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))))))) (/ (sin x) (cos x))) |
| 0.2b | (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))) |
| 0.2b | (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))) |
| 0.2b | (* (sin x) (sin eps)) |
4 calls. Slowest were:
| 300.0ms | (- (+ (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))) (/ (sin x) (* (cos x) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))))))) (/ (sin x) (cos x))) |
| 16.0ms | (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))) |
| 16.0ms | (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))) |
4 calls. Slowest were:
| 455.0ms | (- (+ (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))) (/ (sin x) (* (cos x) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))))))) (/ (sin x) (cos x))) |
| 133.0ms | (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))) |
| 113.0ms | (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))) |
| 73.0ms | (* (sin x) (sin eps)) |
222 calls. Slowest were:
| 743.0ms | (fma (* (cbrt (+ (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))) (/ (sin x) (* (cos x) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))))) (cbrt (+ (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))) (/ (sin x) (* (cos x) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))))))))) (cbrt (+ (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))) (/ (sin x) (* (cos x) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))))) (- (* (/ (cbrt (sin x)) (cos x)) (/ (* (cbrt (sin x)) (cbrt (sin x))) 1)))) |
| 602.0ms | (fma (sqrt (+ (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))) (/ (sin x) (* (cos x) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))))) (sqrt (+ (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))) (/ (sin x) (* (cos x) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))))) (- (* (/ (cbrt (sin x)) (cos x)) (/ (* (cbrt (sin x)) (cbrt (sin x))) 1)))) |
| 502.0ms | (fma (sqrt (+ (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))) (/ (sin x) (* (cos x) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))))) (sqrt (+ (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))) (/ (sin x) (* (cos x) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))))) (- (* (/ 1 (cos x)) (sin x)))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 12.9b
Found 4 expressions with local error:
| 4.5b | (- (/ (/ (sin x) (cos x)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))) (/ (sin x) (cos x))) |
| 0.3b | (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))) |
| 0.3b | (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))) |
| 0.2b | (/ (sin eps) (cos eps)) |
4 calls. Slowest were:
| 23.0ms | (- (/ (/ (sin x) (cos x)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))) (/ (sin x) (cos x))) |
| 8.0ms | (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))) |
| 8.0ms | (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))) |
4 calls. Slowest were:
| 195.0ms | (- (/ (/ (sin x) (cos x)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))) (/ (sin x) (cos x))) |
| 83.0ms | (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))) |
| 82.0ms | (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))) |
| 19.0ms | (/ (sin eps) (cos eps)) |
1345 calls. Slowest were:
| 557.0ms | (fma (sqrt (/ (/ (sin x) (cos x)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps)))))) (sqrt (/ (/ (sin x) (cos x)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps)))))) (- (* (/ 1 (cos x)) (sin x)))) |
| 451.0ms | (fma (- (/ (sin x) (cbrt (cos x)))) (/ 1 (* (cbrt (cos x)) (cbrt (cos x)))) (* (/ (sin x) (cbrt (cos x))) (/ 1 (* (cbrt (cos x)) (cbrt (cos x)))))) |
| 431.0ms | (fma (/ (sqrt (/ (sin x) (cos x))) 1) (/ (sqrt (/ (sin x) (cos x))) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))) (- (* (/ (sin x) (cos x)) (/ 1 1)))) |
18 alts after pruning (18 fresh and 0 done)
Merged error: 12.8b
0% (0.4b remaining)
Error of 13.0b against oracle of 12.6b and baseline of 13.0b