



Bits error versus x0




Bits error versus x1
Results
| Original | 7.9 |
|---|---|
| Target | 0.3 |
| Herbie | 4.7 |
Initial program 7.9
rmApplied flip--7.3
rmApplied div-inv5.6
rmApplied add-log-exp4.7
Final simplification4.7
herbie shell --seed 2019022 +o rules:numerics
(FPCore (x0 x1)
:name "(- (/ x0 (- 1 x1)) x0)"
:pre (or (and (== x0 1.855) (== x1 0.000209)) (and (== x0 2.985) (== x1 0.0186)))
:herbie-target
(/ (* x0 x1) (- 1 x1))
(- (/ x0 (- 1 x1)) x0))
Time bar (total: 9.8s)Debug log
| 24.0ms | 129× | pre | 10240 | exit |
| 11.0ms | 256× | body | 80 | valid |
| 4.0ms | 127× | pre | 80 | true |
| 8.0ms | (- (/ x0 (- 1 x1)) x0) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 7.7b
Found 2 expressions with local error:
| 7.3b | (- (/ x0 (- 1 x1)) x0) |
| 0.7b | (/ x0 (- 1 x1)) |
| 6× | fma-neg |
| 4× | add-cube-cbrt |
| 4× | associate-/r/ |
| 4× | *-un-lft-identity |
| 4× | add-sqr-sqrt |
| 3× | flip-- |
| 3× | flip3-- |
| 3× | associate-/r* |
| 2× | add-log-exp |
| 2× | div-inv |
| 2× | log1p-expm1-u |
| 2× | add-exp-log |
| 2× | add-cbrt-cube |
| 2× | pow1 |
| 2× | expm1-log1p-u |
| 1× | frac-2neg |
| 1× | sub-neg |
| 1× | clear-num |
| 5.0ms | (- (/ x0 (- 1 x1)) x0) |
| 0.0ms | (/ x0 (- 1 x1)) |
| 34.0ms | (- (/ x0 (- 1 x1)) x0) |
| 15.0ms | (/ x0 (- 1 x1)) |
| 883.0ms | (+ (* x0 (pow x1 3)) (+ (* x0 (pow x1 2)) (* x0 x1))) |
| 151.0ms | (+ x0 (+ (* x0 x1) (* x0 (pow x1 2)))) |
| 81.0ms | (- (+ (/ x0 (pow x1 3)) (+ (/ x0 (pow x1 2)) (/ x0 x1)))) |
| 64.0ms | (- (+ (/ x0 (pow x1 3)) (+ (/ x0 (pow x1 2)) (/ x0 x1)))) |
| 50.0ms | (- (+ x0 (+ (/ x0 x1) (/ x0 (pow x1 2))))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 6.4b
Found 1 expressions with local error:
| 7.1b | (fma x0 (/ 1 (- 1 x1)) (- x0)) |
| 1× | add-log-exp |
| 1× | log1p-expm1-u |
| 1× | fma-udef |
| 1× | add-cube-cbrt |
| 1× | add-exp-log |
| 1× | add-cbrt-cube |
| 1× | *-un-lft-identity |
| 1× | pow1 |
| 1× | expm1-log1p-u |
| 1× | add-sqr-sqrt |
| 0.0ms | (fma x0 (/ 1 (- 1 x1)) (- x0)) |
| 36.0ms | (fma x0 (/ 1 (- 1 x1)) (- x0)) |
| 903.0ms | (+ (* x0 (pow x1 3)) (+ (* x0 (pow x1 2)) (* x0 x1))) |
| 46.0ms | (- (+ x0 (+ (/ x0 x1) (/ x0 (pow x1 2))))) |
| 37.0ms | (- (+ x0 (+ (/ x0 x1) (/ x0 (pow x1 2))))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 6.3b
Found 4 expressions with local error:
| 6.1b | (- (* (/ x0 (- 1 x1)) (/ x0 (- 1 x1))) (* x0 x0)) |
| 0.8b | (+ (/ x0 (- 1 x1)) x0) |
| 0.7b | (/ x0 (- 1 x1)) |
| 0.7b | (/ x0 (- 1 x1)) |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 6× | add-log-exp |
| 6× | associate-/r/ |
| 6× | fma-def |
| 6× | associate-/r* |
| 4× | flip-- |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | flip3-- |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | difference-of-squares |
| 1× | flip-+ |
| 1× | prod-diff |
| 1× | diff-log |
| 1× | fma-neg |
| 1× | flip3-+ |
| 1× | sub-neg |
| 1× | +-commutative |
| 10.0ms | (- (* (/ x0 (- 1 x1)) (/ x0 (- 1 x1))) (* x0 x0)) |
| 6.0ms | (+ (/ x0 (- 1 x1)) x0) |
| 1.0ms | (/ x0 (- 1 x1)) |
| 1.0ms | (/ x0 (- 1 x1)) |
| 55.0ms | (- (* (/ x0 (- 1 x1)) (/ x0 (- 1 x1))) (* x0 x0)) |
| 23.0ms | (/ x0 (- 1 x1)) |
| 19.0ms | (+ (/ x0 (- 1 x1)) x0) |
| 15.0ms | (/ x0 (- 1 x1)) |
| 205.0ms | (- (+ (/ (pow x0 2) (pow x1 2)) (* 2 (/ (pow x0 2) (pow x1 3)))) (pow x0 2)) |
| 187.0ms | (- (+ (/ (pow x0 2) (pow x1 2)) (* 2 (/ (pow x0 2) (pow x1 3)))) (pow x0 2)) |
| 187.0ms | (/ (exp (* (/ x0 (- 1 x1)) (/ x0 (- 1 x1)))) (exp (* x0 x0))) |
| 180.0ms | (+ (* 2 x0) (+ (* x0 x1) (* x0 (pow x1 2)))) |
| 167.0ms | (+ x0 (+ (* x0 x1) (* x0 (pow x1 2)))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 4.7b
Found 4 expressions with local error:
| 6.1b | (- (* (/ x0 (- 1 x1)) (* x0 (/ 1 (- 1 x1)))) (* x0 x0)) |
| 0.8b | (+ (/ x0 (- 1 x1)) x0) |
| 0.7b | (/ x0 (- 1 x1)) |
| 0.7b | (/ x0 (- 1 x1)) |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 6× | add-log-exp |
| 6× | associate-/r/ |
| 6× | fma-def |
| 6× | associate-/r* |
| 4× | flip-- |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | flip3-- |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | flip-+ |
| 1× | prod-diff |
| 1× | diff-log |
| 1× | fma-neg |
| 1× | flip3-+ |
| 1× | sub-neg |
| 1× | +-commutative |
| 14.0ms | (- (* (/ x0 (- 1 x1)) (* x0 (/ 1 (- 1 x1)))) (* x0 x0)) |
| 7.0ms | (+ (/ x0 (- 1 x1)) x0) |
| 1.0ms | (/ x0 (- 1 x1)) |
| 1.0ms | (/ x0 (- 1 x1)) |
| 50.0ms | (- (* (/ x0 (- 1 x1)) (* x0 (/ 1 (- 1 x1)))) (* x0 x0)) |
| 28.0ms | (+ (/ x0 (- 1 x1)) x0) |
| 19.0ms | (/ x0 (- 1 x1)) |
| 15.0ms | (/ x0 (- 1 x1)) |
| 343.0ms | (/ (exp (* (/ x0 (- 1 x1)) (* x0 (/ 1 (- 1 x1))))) (exp (* x0 x0))) |
| 274.0ms | (fma (/ x0 (- 1 x1)) (* x0 (/ 1 (- 1 x1))) (- (* x0 x0))) |
| 265.0ms | (- (+ (/ (pow x0 2) (pow x1 2)) (* 2 (/ (pow x0 2) (pow x1 3)))) (pow x0 2)) |
| 187.0ms | (- (+ (/ (pow x0 2) (pow x1 2)) (* 2 (/ (pow x0 2) (pow x1 3)))) (pow x0 2)) |
| 180.0ms | (+ (* 2 (* (pow x0 2) x1)) (+ (* 4 (* (pow x0 2) (pow x1 3))) (* 3 (* (pow x0 2) (pow x1 2))))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 3.9b
0% (0.7b remaining)
Error of 4.7b against oracle of 4.0b and baseline of 4.7b
| 1.0s | 3936× | pre | 10240 | exit |
| 776.0ms | 8000× | body | 80 | valid |
| 145.0ms | 4064× | pre | 80 | true |