


Bits error versus x
Results
Initial program 31.4
Final simplification31.4
herbie shell --seed 2019002 +o rules:numerics
(FPCore (x)
:name "sintan (problem 3.4.5)"
(/ (- x (sin x)) (- x (tan x))))
Time bar (total: 33.7s)Debug log
1 calls. Slowest were:
| 24.0ms | (/ (- x (sin x)) (- x (tan x))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 34.8b
Found 2 expressions with local error:
| 1.5b | (- x (tan x)) |
| 1.2b | (- x (sin x)) |
2 calls. Slowest were:
| 3.0ms | (- x (tan x)) |
| 1.0ms | (- x (sin x)) |
2 calls. Slowest were:
| 65.0ms | (- x (tan x)) |
| 38.0ms | (- x (sin x)) |
6 calls. Slowest were:
| 179.0ms | (- (+ (* 1/3 (pow x 3)) (+ (* 2/15 (pow x 5)) (* 17/315 (pow x 7))))) |
| 98.0ms | (- (+ (* 1/6 (pow x 3)) (* 1/5040 (pow x 7))) (* 1/120 (pow x 5))) |
| 4.0ms | (- x (/ (sin x) (cos x))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 34.5b
Found 4 expressions with local error:
| 13.5b | (/ (- (* x x) (* (sin x) (sin x))) (+ x (sin x))) |
| 1.5b | (- x (tan x)) |
| 1.2b | (- (* x x) (* (sin x) (sin x))) |
| 0.2b | (* (sin x) (sin x)) |
4 calls. Slowest were:
| 8.0ms | (/ (- (* x x) (* (sin x) (sin x))) (+ x (sin x))) |
| 8.0ms | (* (sin x) (sin x)) |
| 5.0ms | (- (* x x) (* (sin x) (sin x))) |
4 calls. Slowest were:
| 92.0ms | (/ (- (* x x) (* (sin x) (sin x))) (+ x (sin x))) |
| 57.0ms | (- (* x x) (* (sin x) (sin x))) |
| 56.0ms | (- x (tan x)) |
| 25.0ms | (* (sin x) (sin x)) |
68 calls. Slowest were:
| 527.0ms | (/ (- (* x x) (* (sin x) (sin x))) (+ x (sin x))) |
| 280.0ms | (- (+ (* 1/3 (pow x 3)) (+ (* 2/15 (pow x 5)) (* 17/315 (pow x 7))))) |
| 171.0ms | (/ (* (cbrt (- (* x x) (* (sin x) (sin x)))) (cbrt (- (* x x) (* (sin x) (sin x))))) (* (cbrt (+ x (sin x))) (cbrt (+ x (sin x))))) |
8 alts after pruning (7 fresh and 1 done)
Merged error: 34.4b
Found 4 expressions with local error:
| 29.1b | (/ (- (* x x) (exp (log (* (sin x) (sin x))))) (+ x (sin x))) |
| 17.7b | (log (* (sin x) (sin x))) |
| 13.6b | (- (* x x) (exp (log (* (sin x) (sin x))))) |
| 1.7b | (exp (log (* (sin x) (sin x)))) |
4 calls. Slowest were:
| 36.0ms | (/ (- (* x x) (exp (log (* (sin x) (sin x))))) (+ x (sin x))) |
| 9.0ms | (exp (log (* (sin x) (sin x)))) |
| 8.0ms | (- (* x x) (exp (log (* (sin x) (sin x))))) |
4 calls. Slowest were:
| 82.0ms | (log (* (sin x) (sin x))) |
| 81.0ms | (/ (- (* x x) (exp (log (* (sin x) (sin x))))) (+ x (sin x))) |
| 49.0ms | (- (* x x) (exp (log (* (sin x) (sin x))))) |
| 22.0ms | (exp (log (* (sin x) (sin x)))) |
86 calls. Slowest were:
| 231.0ms | (- (* (* x x) (* x x)) (* (exp (log (* (sin x) (sin x)))) (exp (log (* (sin x) (sin x)))))) |
| 133.0ms | (- (* 2 (log x)) (+ (* 1/3 (pow x 2)) (* 1/90 (pow x 4)))) |
| 128.0ms | (/ (- (* x x) (exp (log (* (sin x) (sin x))))) (+ x (sin x))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 34.3b
Found 4 expressions with local error:
| 30.2b | (/ (- (* x x) (log (exp (* (sin x) (sin x))))) (+ x (sin x))) |
| 2.1b | (log (exp (* (sin x) (sin x)))) |
| 1.5b | (- x (tan x)) |
| 0.9b | (- (* x x) (log (exp (* (sin x) (sin x))))) |
4 calls. Slowest were:
| 12.0ms | (/ (- (* x x) (log (exp (* (sin x) (sin x))))) (+ x (sin x))) |
| 5.0ms | (- (* x x) (log (exp (* (sin x) (sin x))))) |
| 2.0ms | (log (exp (* (sin x) (sin x)))) |
4 calls. Slowest were:
| 92.0ms | (/ (- (* x x) (log (exp (* (sin x) (sin x))))) (+ x (sin x))) |
| 79.0ms | (- x (tan x)) |
| 57.0ms | (- (* x x) (log (exp (* (sin x) (sin x))))) |
| 25.0ms | (log (exp (* (sin x) (sin x)))) |
75 calls. Slowest were:
| 334.0ms | (- (pow (* x x) 3) (pow (log (exp (* (sin x) (sin x)))) 3)) |
| 302.0ms | (- (+ (* 1/3 (pow x 3)) (+ (* 2/15 (pow x 5)) (* 17/315 (pow x 7))))) |
| 274.0ms | (- (* (* x x) (* x x)) (* (log (exp (* (sin x) (sin x)))) (log (exp (* (sin x) (sin x)))))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 34.0b
0% (0.8b remaining)
Error of 31.4b against oracle of 30.6b and baseline of 31.4b