


Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -7.611466246480375e+23Initial program 0.1
Taylor expanded around 0 0.1
Simplified0.1
if -7.611466246480375e+23 < x < 3.259341531603994e-105Initial program 2.4
Taylor expanded around -inf 0.1
if 3.259341531603994e-105 < x Initial program 0.7
Taylor expanded around -inf 5.8
rmApplied associate-/l*0.7
Final simplification0.3
herbie shell --seed 2018365
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))
Time bar (total: 8.4s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.1b
Found 3 expressions with local error:
| 2.8b | (* (/ x y) z) |
| 0.0b | (/ (+ x 4) y) |
| 0.0b | (- (/ (+ x 4) y) (* (/ x y) z)) |
3 calls. Slowest were:
| 16.0ms | (- (/ (+ x 4) y) (* (/ x y) z)) |
| 5.0ms | (/ (+ x 4) y) |
| 4.0ms | (* (/ x y) z) |
3 calls. Slowest were:
| 42.0ms | (- (/ (+ x 4) y) (* (/ x y) z)) |
| 16.0ms | (/ (+ x 4) y) |
| 15.0ms | (* (/ x y) z) |
20 calls. Slowest were:
| 134.0ms | (- (* (+ x 4) y) (* y (* x z))) |
| 71.0ms | (- (+ (/ x y) (* 4 (/ 1 y))) (/ (* x z) y)) |
| 68.0ms | (- (+ (/ x y) (* 4 (/ 1 y))) (/ (* x z) y)) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 0.0b
Found 3 expressions with local error:
| 2.8b | (* (/ x y) z) |
| 0.0b | (+ (/ x y) (/ 4 y)) |
| 0.0b | (- (+ (/ x y) (/ 4 y)) (* (/ x y) z)) |
3 calls. Slowest were:
| 20.0ms | (- (+ (/ x y) (/ 4 y)) (* (/ x y) z)) |
| 7.0ms | (+ (/ x y) (/ 4 y)) |
| 4.0ms | (* (/ x y) z) |
3 calls. Slowest were:
| 27.0ms | (- (+ (/ x y) (/ 4 y)) (* (/ x y) z)) |
| 18.0ms | (+ (/ x y) (/ 4 y)) |
| 15.0ms | (* (/ x y) z) |
27 calls. Slowest were:
| 634.0ms | (* (+ (* (/ x y) (/ x y)) (- (* (/ 4 y) (/ 4 y)) (* (/ x y) (/ 4 y)))) y) |
| 379.0ms | (- (* (+ (pow (/ x y) 3) (pow (/ 4 y) 3)) y) (* (+ (* (/ x y) (/ x y)) (- (* (/ 4 y) (/ 4 y)) (* (/ x y) (/ 4 y)))) (* x z))) |
| 225.0ms | (- (* (+ (* x y) (* y 4)) y) (* (* y y) (* x z))) |
5 alts after pruning (4 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 2.8b | (* (/ x y) z) |
| 0.1b | (/ 1 (/ y (+ x 4))) |
| 0.0b | (/ y (+ x 4)) |
| 0.0b | (- (/ 1 (/ y (+ x 4))) (* (/ x y) z)) |
4 calls. Slowest were:
| 4.0ms | (- (/ 1 (/ y (+ x 4))) (* (/ x y) z)) |
| 2.0ms | (* (/ x y) z) |
| 1.0ms | (/ 1 (/ y (+ x 4))) |
4 calls. Slowest were:
| 45.0ms | (- (/ 1 (/ y (+ x 4))) (* (/ x y) z)) |
| 28.0ms | (/ y (+ x 4)) |
| 23.0ms | (/ 1 (/ y (+ x 4))) |
| 20.0ms | (* (/ x y) z) |
31 calls. Slowest were:
| 469.0ms | (/ (exp (/ 1 (/ y (+ x 4)))) (exp (* (/ x y) z))) |
| 239.0ms | (- (+ (/ y x) (* 16 (/ y (pow x 3)))) (* 4 (/ y (pow x 2)))) |
| 229.0ms | (- (+ (* 1/64 (* (pow x 2) y)) (* 1/4 y)) (* 1/16 (* x y))) |
5 alts after pruning (3 fresh and 2 done)
Merged error: 0.0b
Found 3 expressions with local error:
| 6.5b | (/ (* x z) y) |
| 0.0b | (/ (+ x 4) y) |
| 0.0b | (- (/ (+ x 4) y) (/ (* x z) y)) |
3 calls. Slowest were:
| 10.0ms | (- (/ (+ x 4) y) (/ (* x z) y)) |
| 4.0ms | (/ (+ x 4) y) |
| 4.0ms | (/ (* x z) y) |
3 calls. Slowest were:
| 26.0ms | (- (/ (+ x 4) y) (/ (* x z) y)) |
| 23.0ms | (/ (* x z) y) |
| 14.0ms | (/ (+ x 4) y) |
22 calls. Slowest were:
| 77.0ms | (- (+ (/ x y) (* 4 (/ 1 y))) (/ (* x z) y)) |
| 76.0ms | (- (* (+ x 4) y) (* y (* x z))) |
| 71.0ms | (- (+ (/ x y) (* 4 (/ 1 y))) (/ (* x z) y)) |
5 alts after pruning (2 fresh and 3 done)
Merged error: 0.0b
84.1% (0.2b remaining)
Error of 0.3b against oracle of 0.0b and baseline of 1.5b