


Bits error versus x
if x < -0.030550029170950743 or 0.028494513597882708 < x Initial program 0.0
rmApplied div-sub0.0
if -0.030550029170950743 < x < 0.028494513597882708Initial program 62.7
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019008 +o rules:numerics
(FPCore (x)
:name "sintan (problem 3.4.5)"
(/ (- x (sin x)) (- x (tan x))))
Time bar (total: 1.1m)Debug log
1 calls. Slowest were:
| 17.0ms | (/ (- x (sin x)) (- x (tan x))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 33.7b
Found 3 expressions with local error:
| 1.8b | (- x (sin x)) |
| 1.8b | (- x (tan x)) |
| 0.0b | (/ (- x (sin x)) (- x (tan x))) |
3 calls. Slowest were:
| 6.0ms | (/ (- x (sin x)) (- x (tan x))) |
| 3.0ms | (- x (sin x)) |
| 1.0ms | (- x (tan x)) |
3 calls. Slowest were:
| 467.0ms | (- x (sin x)) |
| 95.0ms | (/ (- x (sin x)) (- x (tan x))) |
| 53.0ms | (- x (tan x)) |
39 calls. Slowest were:
| 252.0ms | (- (+ 1 (+ (/ (pow (sin x) 2) (* (pow (cos x) 2) (pow x 2))) (/ (sin x) (* (cos x) x)))) (+ (/ (sin x) x) (/ (pow (sin x) 2) (* (cos x) (pow x 2))))) |
| 223.0ms | (- (+ 1 (+ (/ (pow (sin x) 2) (* (pow (cos x) 2) (pow x 2))) (/ (sin x) (* (cos x) x)))) (+ (/ (sin x) x) (/ (pow (sin x) 2) (* (cos x) (pow x 2))))) |
| 215.0ms | (/ (* (* (- x (sin x)) (- x (sin x))) (- x (sin x))) (* (* (- x (tan x)) (- x (tan x))) (- x (tan x)))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 0b
Found 3 expressions with local error:
| 0.2b | (* 9/40 x) |
| 0.0b | (fma -27/2800 (pow x 4) -1/2) |
| 0.0b | (fma (* 9/40 x) x (fma -27/2800 (pow x 4) -1/2)) |
3 calls. Slowest were:
| 1.0ms | (* 9/40 x) |
| 0.0ms | (fma -27/2800 (pow x 4) -1/2) |
| 0.0ms | (fma (* 9/40 x) x (fma -27/2800 (pow x 4) -1/2)) |
3 calls. Slowest were:
| 36.0ms | (fma -27/2800 (pow x 4) -1/2) |
| 27.0ms | (fma (* 9/40 x) x (fma -27/2800 (pow x 4) -1/2)) |
| 9.0ms | (* 9/40 x) |
9 calls. Slowest were:
| 90.0ms | (- (* 9/40 (pow x 2)) (+ (* 27/2800 (pow x 4)) 1/2)) |
| 87.0ms | (- (* 9/40 (pow x 2)) (+ (* 27/2800 (pow x 4)) 1/2)) |
| 74.0ms | (- (* 9/40 (pow x 2)) (+ (* 27/2800 (pow x 4)) 1/2)) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 1.8b | (- x (tan x)) |
| 1.8b | (- x (tan x)) |
| 1.7b | (- (/ x (- x (tan x))) (/ (sin x) (- x (tan x)))) |
| 0.1b | (/ (sin x) (- x (tan x))) |
4 calls. Slowest were:
| 8.0ms | (- (/ x (- x (tan x))) (/ (sin x) (- x (tan x)))) |
| 4.0ms | (/ (sin x) (- x (tan x))) |
| 1.0ms | (- x (tan x)) |
4 calls. Slowest were:
| 280.0ms | (- (/ x (- x (tan x))) (/ (sin x) (- x (tan x)))) |
| 81.0ms | (/ (sin x) (- x (tan x))) |
| 55.0ms | (- x (tan x)) |
| 52.0ms | (- x (tan x)) |
239 calls. Slowest were:
| 649.0ms | (fma (/ x (- (* x x) (* (tan x) (tan x)))) (+ x (tan x)) (- (* (/ (sqrt (sin x)) (- x (tan x))) (/ (sqrt (sin x)) 1)))) |
| 494.0ms | (fma (/ x (- (* x x) (* (tan x) (tan x)))) (+ x (tan x)) (- (* (/ (sin x) (- x (tan x))) (/ 1 1)))) |
| 463.0ms | (fma (- (/ (cbrt (sin x)) (- x (tan x)))) (/ (* (cbrt (sin x)) (cbrt (sin x))) 1) (* (/ (cbrt (sin x)) (- x (tan x))) (/ (* (cbrt (sin x)) (cbrt (sin x))) 1))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0b
Found 4 expressions with local error:
| 14.4b | (/ (pow (sin x) 2) (* (cos x) (pow x 2))) |
| 14.4b | (/ (pow (sin x) 2) (* (pow (cos x) 2) (pow x 2))) |
| 0.2b | (pow (sin x) 2) |
| 0.2b | (pow (sin x) 2) |
4 calls. Slowest were:
| 7.0ms | (/ (pow (sin x) 2) (* (pow (cos x) 2) (pow x 2))) |
| 6.0ms | (/ (pow (sin x) 2) (* (cos x) (pow x 2))) |
| 1.0ms | (pow (sin x) 2) |
4 calls. Slowest were:
| 51.0ms | (/ (pow (sin x) 2) (* (pow (cos x) 2) (pow x 2))) |
| 36.0ms | (/ (pow (sin x) 2) (* (cos x) (pow x 2))) |
| 16.0ms | (pow (sin x) 2) |
| 15.0ms | (pow (sin x) 2) |
98 calls. Slowest were:
| 607.0ms | (- (* (log (sin x)) 2) (+ (log (pow (cos x) 2)) (log (pow x 2)))) |
| 442.0ms | (- (log (pow (sin x) 2)) (+ (* (log (cos x)) 2) (log (pow x 2)))) |
| 420.0ms | (- (log (pow (sin x) 2)) (+ (log (pow (cos x) 2)) (* (log x) 2))) |
3 alts after pruning (0 fresh and 3 done)
Merged error: 0b
100% (0.0b remaining)
Error of 0.0b against oracle of 0.0b and baseline of 32.1b