


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -7.927867421581339e+302Initial program 58.6
Simplified0.3
Taylor expanded around 0 0.3
rmApplied clear-num0.3
if -7.927867421581339e+302 < (/ y z) < -2.4897062515369744e-252 or 1.8633635984892177e-289 < (/ y z) < 4.612678511635868e+158Initial program 9.0
Simplified8.4
Taylor expanded around 0 8.1
rmApplied associate-/l*0.2
if -2.4897062515369744e-252 < (/ y z) < 1.8633635984892177e-289Initial program 18.4
Simplified0.1
rmApplied div-inv0.1
Applied associate-*r*0.2
rmApplied associate-*l*0.1
if 4.612678511635868e+158 < (/ y z) Initial program 34.0
Simplified2.3
Final simplification0.4
herbie shell --seed 2019002 +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: 4.4s)Debug log
1 calls. Slowest were:
| 295.0ms | (* x (/ (* (/ y z) t) t)) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 1.0b
Found 1 expressions with local error:
| 5.9b | (* y (/ x z)) |
1 calls. Slowest were:
| 1.0ms | (* y (/ x z)) |
1 calls. Slowest were:
| 12.0ms | (* y (/ x z)) |
7 calls. Slowest were:
| 10.0ms | (/ (* x y) z) |
| 9.0ms | (/ (* x y) z) |
| 5.0ms | (/ (* x y) z) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 0.0b
Found 1 expressions with local error:
| 6.1b | (/ (* x y) z) |
1 calls. Slowest were:
| 4.0ms | (/ (* x y) z) |
1 calls. Slowest were:
| 20.0ms | (/ (* x y) z) |
3 calls. Slowest were:
| 10.0ms | (/ (* x y) z) |
| 10.0ms | (/ (* x y) z) |
| 10.0ms | (/ (* x y) z) |
8 alts after pruning (6 fresh and 2 done)
Merged error: 0.0b
Found 1 expressions with local error:
| 6.2b | (* (* y x) (/ 1 z)) |
1 calls. Slowest were:
| 3.0ms | (* (* y x) (/ 1 z)) |
1 calls. Slowest were:
| 12.0ms | (* (* y x) (/ 1 z)) |
10 calls. Slowest were:
| 575.0ms | (* (* (* (* y x) (* y x)) (* y x)) (* (* (/ 1 z) (/ 1 z)) (/ 1 z))) |
| 31.0ms | (+ (log (* y x)) (log (/ 1 z))) |
| 29.0ms | (* (* y x) (/ 1 z)) |
7 alts after pruning (5 fresh and 2 done)
Merged error: 0b
Found 2 expressions with local error:
| 5.9b | (* y (* x (/ 1 z))) |
| 0.2b | (* x (/ 1 z)) |
2 calls. Slowest were:
| 3.0ms | (* y (* x (/ 1 z))) |
| 2.0ms | (* x (/ 1 z)) |
2 calls. Slowest were:
| 16.0ms | (* y (* x (/ 1 z))) |
| 8.0ms | (* x (/ 1 z)) |
11 calls. Slowest were:
| 5.0ms | (/ (* x y) z) |
| 5.0ms | (/ (* x y) z) |
| 5.0ms | (/ (* x y) z) |
7 alts after pruning (4 fresh and 3 done)
Merged error: 0b
93.9% (0.4b remaining)
Error of 0.4b against oracle of 0.0b and baseline of 6.1b