


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -9.366595038322077e+241 or -1.0920028912698875e-17 < (/ y z) < 1.1709972192635315e-251Initial program 16.7
Initial simplification3.2
Taylor expanded around -inf 2.6
if -9.366595038322077e+241 < (/ y z) < -1.0920028912698875e-17 or 1.1709972192635315e-251 < (/ y z) Initial program 11.8
Initial simplification8.8
Taylor expanded around -inf 8.3
rmApplied associate-/l*2.5
Final simplification2.5
herbie shell --seed 2018360 +o rules:numerics
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))
Time bar (total: 6.3s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 1.4b
Found 1 expressions with local error:
| 7.1b | (/ y (/ z x)) |
1 calls. Slowest were:
| 1.0ms | (/ y (/ z x)) |
1 calls. Slowest were:
| 23.0ms | (/ y (/ z x)) |
7 calls. Slowest were:
| 11.0ms | (/ (* x y) z) |
| 11.0ms | (/ (* x y) z) |
| 11.0ms | (/ (* x y) z) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 0.0b
Found 1 expressions with local error:
| 5.8b | (/ (* x y) z) |
1 calls. Slowest were:
| 3.0ms | (/ (* x y) z) |
1 calls. Slowest were:
| 13.0ms | (/ (* x y) z) |
3 calls. Slowest were:
| 11.0ms | (/ (* x y) z) |
| 11.0ms | (/ (* x y) z) |
| 7.0ms | (/ (* x y) z) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0b
Found 1 expressions with local error:
| 6.2b | (/ (/ y z) (/ 1 x)) |
1 calls. Slowest were:
| 7.0ms | (/ (/ y z) (/ 1 x)) |
1 calls. Slowest were:
| 28.0ms | (/ (/ y z) (/ 1 x)) |
43 calls. Slowest were:
| 344.0ms | (/ (* (* (/ y z) (/ y z)) (/ y z)) (* (* (/ 1 x) (/ 1 x)) (/ 1 x))) |
| 39.0ms | (- (log (/ y z)) (log (/ 1 x))) |
| 27.0ms | (/ (* (cbrt (/ y z)) (cbrt (/ y z))) (* (cbrt (/ 1 x)) (cbrt (/ 1 x)))) |
6 alts after pruning (4 fresh and 2 done)
Merged error: 0b
Found 4 expressions with local error:
| 5.6b | (* (/ y (* (cbrt (/ 1 x)) (cbrt (/ 1 x)))) (/ (/ 1 z) (cbrt (/ 1 x)))) |
| 0.6b | (cbrt (/ 1 x)) |
| 0.6b | (cbrt (/ 1 x)) |
| 0.6b | (cbrt (/ 1 x)) |
4 calls. Slowest were:
| 9.0ms | (* (/ y (* (cbrt (/ 1 x)) (cbrt (/ 1 x)))) (/ (/ 1 z) (cbrt (/ 1 x)))) |
| 0.0ms | (cbrt (/ 1 x)) |
| 0.0ms | (cbrt (/ 1 x)) |
4 calls. Slowest were:
| 289.0ms | (cbrt (/ 1 x)) |
| 269.0ms | (cbrt (/ 1 x)) |
| 268.0ms | (cbrt (/ 1 x)) |
| 54.0ms | (* (/ y (* (cbrt (/ 1 x)) (cbrt (/ 1 x)))) (/ (/ 1 z) (cbrt (/ 1 x)))) |
74 calls. Slowest were:
| 457.0ms | (+ (log (/ y (* (cbrt (/ 1 x)) (cbrt (/ 1 x))))) (- (log (/ 1 z)) (log (cbrt (/ 1 x))))) |
| 447.0ms | (* (/ y (* (cbrt (/ 1 x)) (cbrt (/ 1 x)))) (/ (/ 1 z) (cbrt (/ 1 x)))) |
| 327.0ms | (+ (log (/ y (* (cbrt (/ 1 x)) (cbrt (/ 1 x))))) (log (/ (/ 1 z) (cbrt (/ 1 x))))) |
6 alts after pruning (3 fresh and 3 done)
Merged error: 0b
56.1% (2.5b remaining)
Error of 2.5b against oracle of 0.0b and baseline of 5.8b