



Bits error versus x




Bits error versus eps
| Original | 36.7 |
|---|---|
| Target | 15.2 |
| Herbie | 13.2 |
if (/ (* (- (/ (/ (sin x) (cos x)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))) (/ (/ (sin eps) (cos eps)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps)))))) (+ (- (/ (/ (* (cos x) (sin x)) (cos x)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))) (sin x)) (/ (/ (* (cos x) (sin eps)) (cos eps)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))))) (* (- (/ (sin x) (* (- 1 (/ (* (sin eps) (sin x)) (* (cos eps) (cos x)))) (cos x))) (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin eps) (sin x)) (* (cos eps) (cos x))))))) (cos x))) < -4.0953336377332593e-215 or 3.8418546076681496e-305 < (/ (* (- (/ (/ (sin x) (cos x)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))) (/ (/ (sin eps) (cos eps)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps)))))) (+ (- (/ (/ (* (cos x) (sin x)) (cos x)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))) (sin x)) (/ (/ (* (cos x) (sin eps)) (cos eps)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))))) (* (- (/ (sin x) (* (- 1 (/ (* (sin eps) (sin x)) (* (cos eps) (cos x)))) (cos x))) (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin eps) (sin x)) (* (cos eps) (cos x))))))) (cos x))) Initial program 35.6
rmApplied tan-sum18.2
Taylor expanded around inf 18.4
rmApplied flip-+18.5
Applied frac-sub18.6
Applied simplify13.0
if -4.0953336377332593e-215 < (/ (* (- (/ (/ (sin x) (cos x)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))) (/ (/ (sin eps) (cos eps)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps)))))) (+ (- (/ (/ (* (cos x) (sin x)) (cos x)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))) (sin x)) (/ (/ (* (cos x) (sin eps)) (cos eps)) (- 1 (* (/ (sin eps) (cos x)) (/ (sin x) (cos eps))))))) (* (- (/ (sin x) (* (- 1 (/ (* (sin eps) (sin x)) (* (cos eps) (cos x)))) (cos x))) (/ (sin eps) (* (cos eps) (- 1 (/ (* (sin eps) (sin x)) (* (cos eps) (cos x))))))) (cos x))) < 3.8418546076681496e-305Initial program 44.4
Taylor expanded around 0 14.6
Time bar (total: 1.2m)Debug logProfile
herbie shell --seed '#(1064397287 3527694221 3797617954 1138343853 2854031332 1153838279)'
(FPCore (x eps)
:name "2tan (problem 3.3.2)"
:herbie-target
(/ (sin eps) (* (cos x) (cos (+ x eps))))
(- (tan (+ x eps)) (tan x)))