


Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.5
Initial simplification3.0
rmApplied associate-/r*2.7
rmApplied *-un-lft-identity2.7
Applied times-frac2.8
rmApplied div-inv2.9
rmApplied div-inv2.9
Applied associate-*r*2.9
Final simplification2.9
herbie shell --seed 2018365 +o rules:numerics
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))
Time bar (total: 19.5s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 4.1b
Found 4 expressions with local error:
| 7.5b | (* (* x cos) sin) |
| 7.5b | (* (* x cos) sin) |
| 0.3b | (* (* (* x cos) sin) (* (* x cos) sin)) |
| 0.1b | (/ (cos (* 2 x)) (* (* (* x cos) sin) (* (* x cos) sin))) |
4 calls. Slowest were:
| 11.0ms | (/ (cos (* 2 x)) (* (* (* x cos) sin) (* (* x cos) sin))) |
| 10.0ms | (* (* (* x cos) sin) (* (* x cos) sin)) |
| 2.0ms | (* (* x cos) sin) |
4 calls. Slowest were:
| 51.0ms | (/ (cos (* 2 x)) (* (* (* x cos) sin) (* (* x cos) sin))) |
| 34.0ms | (* (* (* x cos) sin) (* (* x cos) sin)) |
| 20.0ms | (* (* x cos) sin) |
| 18.0ms | (* (* x cos) sin) |
33 calls. Slowest were:
| 454.0ms | (* (* (* (* (* x cos) sin) (* (* x cos) sin)) (* (* x cos) sin)) (* (* (* (* x cos) sin) (* (* x cos) sin)) (* (* x cos) sin))) |
| 349.0ms | (/ (* (* (cos (* 2 x)) (cos (* 2 x))) (cos (* 2 x))) (* (* (* (* (* x cos) sin) (* (* x cos) sin)) (* (* x cos) sin)) (* (* (* (* x cos) sin) (* (* x cos) sin)) (* (* x cos) sin)))) |
| 299.0ms | (- (+ (/ 1 (* (pow x 2) (* (pow sin 2) (pow cos 2)))) (* 2/3 (/ (pow x 2) (* (pow sin 2) (pow cos 2))))) (* 2 (/ 1 (* (pow sin 2) (pow cos 2))))) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 3.6b
Found 4 expressions with local error:
| 7.5b | (* (* x cos) sin) |
| 7.5b | (* (* x cos) sin) |
| 0.6b | (/ (cos (* 2 x)) (* (* x cos) sin)) |
| 0.2b | (/ (/ (cos (* 2 x)) (* (* x cos) sin)) (* (* x cos) sin)) |
4 calls. Slowest were:
| 20.0ms | (/ (/ (cos (* 2 x)) (* (* x cos) sin)) (* (* x cos) sin)) |
| 12.0ms | (/ (cos (* 2 x)) (* (* x cos) sin)) |
| 3.0ms | (* (* x cos) sin) |
4 calls. Slowest were:
| 58.0ms | (/ (/ (cos (* 2 x)) (* (* x cos) sin)) (* (* x cos) sin)) |
| 30.0ms | (/ (cos (* 2 x)) (* (* x cos) sin)) |
| 28.0ms | (* (* x cos) sin) |
| 27.0ms | (* (* x cos) sin) |
49 calls. Slowest were:
| 618.0ms | (- (- (log (cos (* 2 x))) (log (* (* x cos) sin))) (log (* (* x cos) sin))) |
| 588.0ms | (/ (/ (* (cos x) (cos x)) (* (* x cos) sin)) (* (* x cos) sin)) |
| 463.0ms | (- (log (/ (cos (* 2 x)) (* (* x cos) sin))) (log (* (* x cos) sin))) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 3.5b
Found 4 expressions with local error:
| 7.6b | (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) |
| 7.5b | (* (* x cos) sin) |
| 0.4b | (/ 1 (* x cos)) |
| 0.2b | (/ (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) (* (* x cos) sin)) |
4 calls. Slowest were:
| 9.0ms | (/ (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) (* (* x cos) sin)) |
| 5.0ms | (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) |
| 2.0ms | (* (* x cos) sin) |
4 calls. Slowest were:
| 65.0ms | (/ (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) (* (* x cos) sin)) |
| 28.0ms | (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) |
| 24.0ms | (* (* x cos) sin) |
| 13.0ms | (/ 1 (* x cos)) |
37 calls. Slowest were:
| 814.0ms | (/ (* (* (* (/ 1 (* x cos)) (/ 1 (* x cos))) (/ 1 (* x cos))) (* (* (/ (cos (* 2 x)) sin) (/ (cos (* 2 x)) sin)) (/ (cos (* 2 x)) sin))) (* (* (* (* x cos) sin) (* (* x cos) sin)) (* (* x cos) sin))) |
| 753.0ms | (/ (* (* (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin))) (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin))) (* (* (* (* x cos) sin) (* (* x cos) sin)) (* (* x cos) sin))) |
| 486.0ms | (+ (log (/ 1 (* x cos))) (log (/ (cos (* 2 x)) sin))) |
13 alts after pruning (13 fresh and 0 done)
Merged error: 2.7b
Found 4 expressions with local error:
| 7.6b | (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) |
| 7.5b | (* (* x cos) sin) |
| 0.6b | (/ 1 (* (* x cos) sin)) |
| 0.4b | (/ 1 (* x cos)) |
4 calls. Slowest were:
| 5.0ms | (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) |
| 2.0ms | (/ 1 (* (* x cos) sin)) |
| 2.0ms | (* (* x cos) sin) |
4 calls. Slowest were:
| 38.0ms | (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) |
| 23.0ms | (/ 1 (* (* x cos) sin)) |
| 18.0ms | (* (* x cos) sin) |
| 12.0ms | (/ 1 (* x cos)) |
27 calls. Slowest were:
| 525.0ms | (+ (log (/ 1 (* x cos))) (log (/ (cos (* 2 x)) sin))) |
| 288.0ms | (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) |
| 161.0ms | (+ (- (log (* x cos))) (log (/ (cos (* 2 x)) sin))) |
13 alts after pruning (13 fresh and 0 done)
Merged error: 2.7b
0% (1.7b remaining)
Error of 2.9b against oracle of 1.1b and baseline of 2.9b