



Bits error versus x




Bits error versus eps
Results
| Original | 37.0 |
|---|---|
| Target | 15.1 |
| Herbie | 0.4 |
Initial program 37.0
rmApplied tan-sum21.8
Taylor expanded around inf 21.9
rmApplied associate--l+13.0
rmApplied frac-sub13.0
Simplified0.4
Final simplification0.4
herbie shell --seed 2019007
(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: 35.1s)Debug log
1 calls. Slowest were:
| 4.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:
| 7.0ms | (- (tan (+ x eps)) (tan x)) |
| 3.0ms | (tan (+ x eps)) |
2 calls. Slowest were:
| 135.0ms | (- (tan (+ x eps)) (tan x)) |
| 47.0ms | (tan (+ x eps)) |
15 calls. Slowest were:
| 208.0ms | (- (* (+ (tan x) (tan eps)) (cos x)) (* (- 1 (* (tan x) (tan eps))) (sin x))) |
| 144.0ms | (+ (* x (pow eps 2)) (+ eps (* (pow x 2) eps))) |
| 84.0ms | (* (- 1 (* (tan x) (tan eps))) (cos x)) |
7 alts after pruning (7 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:
| 33.0ms | (- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x)) |
| 16.0ms | (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) |
| 6.0ms | (* (tan x) (tan eps)) |
4 calls. Slowest were:
| 393.0ms | (- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x)) |
| 202.0ms | (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) |
| 101.0ms | (+ (tan x) (tan eps)) |
| 91.0ms | (* (tan x) (tan eps)) |
72 calls. Slowest were:
| 256.0ms | (/ (* (* (+ (tan x) (tan eps)) (+ (tan x) (tan eps))) (+ (tan x) (tan eps))) (* (* (- 1 (* (tan x) (tan eps))) (- 1 (* (tan x) (tan eps)))) (- 1 (* (tan x) (tan eps))))) |
| 254.0ms | (+ (* 1/3 (* (pow x 3) eps)) (+ (* 1/3 (* x (pow eps 3))) (* x eps))) |
| 248.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 alts after pruning (16 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:
| 167.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))) |
| 11.0ms | (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))) |
4 calls. Slowest were:
| 443.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))) |
| 119.0ms | (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))) |
| 110.0ms | (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))) |
| 60.0ms | (* (sin x) (sin eps)) |
62 calls. Slowest were:
| 323.0ms | (+ (* 1/3 (* (pow x 3) eps)) (+ (* 1/3 (* x (pow eps 3))) (* x eps))) |
| 322.0ms | (/ (exp (+ (/ (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)))))))) (exp (/ (sin x) (cos x)))) |
| 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))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 12.9b
Found 4 expressions with local error:
| 4.5b | (- (/ (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:
| 29.0ms | (- (/ (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:
| 294.0ms | (- (/ (sin x) (* (cos x) (- 1 (/ (* (sin x) (sin eps)) (* (cos x) (cos eps)))))) (/ (sin x) (cos x))) |
| 119.0ms | (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))) |
| 101.0ms | (/ (* (sin x) (sin eps)) (* (cos x) (cos eps))) |
| 44.0ms | (* (sin x) (sin eps)) |
57 calls. Slowest were:
| 295.0ms | (+ (* 1/3 (* (pow x 3) eps)) (+ (* 1/3 (* x (pow eps 3))) (* x eps))) |
| 276.0ms | (/ (* (* (* (sin x) (sin x)) (sin x)) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (* (cos x) (cos x)) (cos x)) (* (* (cos eps) (cos eps)) (cos eps)))) |
| 271.0ms | (/ (* (* (* (sin x) (sin x)) (sin x)) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (* (cos x) (cos eps)) (* (cos x) (cos eps))) (* (cos x) (cos eps)))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 0.1b
0% (0.2b remaining)
Error of 0.4b against oracle of 0.2b and baseline of 0.4b