



Bits error versus x0




Bits error versus x1
Results
| Original | 8.4 |
|---|---|
| Target | 0.5 |
| Herbie | 5.4 |
Initial program 8.4
rmApplied flip--7.7
rmApplied clear-num6.6
rmApplied flip3--6.0
rmApplied flip--5.4
Final simplification5.4
herbie shell --seed 2019016
(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: 10.0s)Debug log
| 2× | presampled |
| 2× | (pre true 80) |
| 2× | (body real 80) |
| 5.0ms | (- (/ x0 (- 1 x1)) x0) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 8.4b
Found 2 expressions with local error:
| 7.5b | (- (/ x0 (- 1 x1)) x0) |
| 1.0b | (/ x0 (- 1 x1)) |
| 3× | add-cube-cbrt |
| 3× | *-un-lft-identity |
| 3× | associate-/r* |
| 3× | add-sqr-sqrt |
| 2× | add-log-exp |
| 2× | flip-- |
| 2× | associate-/r/ |
| 2× | add-exp-log |
| 2× | add-cbrt-cube |
| 2× | flip3-- |
| 2× | pow1 |
| 1× | div-inv |
| 1× | frac-2neg |
| 1× | sub-neg |
| 1× | clear-num |
| 4.0ms | (- (/ x0 (- 1 x1)) x0) |
| 0.0ms | (/ x0 (- 1 x1)) |
| 28.0ms | (- (/ x0 (- 1 x1)) x0) |
| 15.0ms | (/ x0 (- 1 x1)) |
| 377.0ms | (+ (* x0 (pow x1 3)) (+ (* x0 (pow x1 2)) (* x0 x1))) |
| 81.0ms | (- (+ (/ x0 (pow x1 3)) (+ (/ x0 (pow x1 2)) (/ x0 x1)))) |
| 77.0ms | (- (+ (/ x0 (pow x1 3)) (+ (/ x0 (pow x1 2)) (/ x0 x1)))) |
| 66.0ms | (- (+ x0 (+ (/ x0 x1) (/ x0 (pow x1 2))))) |
| 45.0ms | (+ x0 (+ (* x0 x1) (* x0 (pow x1 2)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 7.3b
Found 4 expressions with local error:
| 6.7b | (- (* (/ x0 (- 1 x1)) (/ x0 (- 1 x1))) (* x0 x0)) |
| 1.0b | (/ x0 (- 1 x1)) |
| 1.0b | (/ x0 (- 1 x1)) |
| 1.0b | (/ x0 (- 1 x1)) |
| 9× | associate-/r* |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 6× | add-log-exp |
| 6× | associate-/r/ |
| 4× | flip-- |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | flip3-- |
| 4× | pow1 |
| 3× | div-inv |
| 3× | frac-2neg |
| 3× | clear-num |
| 1× | difference-of-squares |
| 1× | diff-log |
| 1× | sub-neg |
| 8.0ms | (- (* (/ x0 (- 1 x1)) (/ x0 (- 1 x1))) (* x0 x0)) |
| 1.0ms | (/ x0 (- 1 x1)) |
| 1.0ms | (/ x0 (- 1 x1)) |
| 1.0ms | (/ x0 (- 1 x1)) |
| 37.0ms | (- (* (/ x0 (- 1 x1)) (/ x0 (- 1 x1))) (* x0 x0)) |
| 21.0ms | (/ x0 (- 1 x1)) |
| 17.0ms | (/ x0 (- 1 x1)) |
| 15.0ms | (/ x0 (- 1 x1)) |
| 464.0ms | (+ (* 2 (* (pow x0 2) x1)) (+ (* 4 (* (pow x0 2) (pow x1 3))) (* 3 (* (pow x0 2) (pow x1 2))))) |
| 212.0ms | (- (+ (/ (pow x0 2) (pow x1 2)) (* 2 (/ (pow x0 2) (pow x1 3)))) (pow x0 2)) |
| 208.0ms | (- (+ (/ (pow x0 2) (pow x1 2)) (* 2 (/ (pow x0 2) (pow x1 3)))) (pow x0 2)) |
| 114.0ms | (/ (exp (* (/ x0 (- 1 x1)) (/ x0 (- 1 x1)))) (exp (* x0 x0))) |
| 86.0ms | (+ x0 (+ (* x0 x1) (* x0 (pow x1 2)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 6.4b
Found 4 expressions with local error:
| 6.7b | (- (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0))) (* x0 x0)) |
| 1.0b | (/ x0 (- 1 x1)) |
| 1.0b | (/ x0 (- 1 x1)) |
| 0.5b | (+ (/ x0 (- 1 x1)) x0) |
| 6× | add-log-exp |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 6× | associate-/r* |
| 6× | add-sqr-sqrt |
| 4× | associate-/r/ |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 3× | flip-- |
| 3× | flip3-- |
| 2× | div-inv |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | flip-+ |
| 1× | diff-log |
| 1× | flip3-+ |
| 1× | sub-neg |
| 1× | +-commutative |
| 10.0ms | (- (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0))) (* x0 x0)) |
| 3.0ms | (+ (/ x0 (- 1 x1)) x0) |
| 1.0ms | (/ x0 (- 1 x1)) |
| 0.0ms | (/ x0 (- 1 x1)) |
| 45.0ms | (- (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0))) (* x0 x0)) |
| 21.0ms | (/ x0 (- 1 x1)) |
| 18.0ms | (+ (/ x0 (- 1 x1)) x0) |
| 15.0ms | (/ x0 (- 1 x1)) |
| 410.0ms | (+ (* 2 (* (pow x0 2) x1)) (+ (* 4 (* (pow x0 2) (pow x1 3))) (* 3 (* (pow x0 2) (pow x1 2))))) |
| 192.0ms | (- (+ (/ (pow x0 2) (pow x1 2)) (* 2 (/ (pow x0 2) (pow x1 3)))) (pow x0 2)) |
| 173.0ms | (- (+ (/ (pow x0 2) (pow x1 2)) (* 2 (/ (pow x0 2) (pow x1 3)))) (pow x0 2)) |
| 150.0ms | (/ (exp (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0)))) (exp (* x0 x0))) |
| 108.0ms | (+ (* 2 x0) (+ (* x0 x1) (* x0 (pow x1 2)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 5.8b
Found 4 expressions with local error:
| 6.1b | (- (pow (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0))) 3) (pow (* x0 x0) 3)) |
| 1.0b | (pow (* x0 x0) 3) |
| 1.0b | (/ x0 (- 1 x1)) |
| 1.0b | (/ x0 (- 1 x1)) |
| 10× | add-sqr-sqrt |
| 8× | *-un-lft-identity |
| 6× | add-log-exp |
| 6× | add-cube-cbrt |
| 6× | associate-/r* |
| 5× | add-exp-log |
| 5× | add-cbrt-cube |
| 5× | pow1 |
| 4× | associate-/r/ |
| 3× | difference-of-squares |
| 3× | flip-- |
| 3× | flip3-- |
| 2× | div-inv |
| 2× | cube-prod |
| 2× | frac-2neg |
| 2× | pow-pow |
| 2× | unpow-prod-down |
| 2× | clear-num |
| 1× | rem-cube-cbrt |
| 1× | distribute-lft-out-- |
| 1× | pow-exp |
| 1× | unpow3 |
| 1× | diff-log |
| 1× | sub-neg |
| 1× | difference-cubes |
| 1× | pow-to-exp |
| 1× | cube-mult |
| 1× | pow2 |
| 10.0ms | (- (pow (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0))) 3) (pow (* x0 x0) 3)) |
| 1.0ms | (pow (* x0 x0) 3) |
| 1.0ms | (/ x0 (- 1 x1)) |
| 1.0ms | (/ x0 (- 1 x1)) |
| 76.0ms | (- (pow (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0))) 3) (pow (* x0 x0) 3)) |
| 32.0ms | (pow (* x0 x0) 3) |
| 25.0ms | (/ x0 (- 1 x1)) |
| 24.0ms | (/ x0 (- 1 x1)) |
| 669.0ms | (+ (sqrt (pow (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0))) 3)) (pow x0 3)) |
| 652.0ms | (+ (* (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0))) (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0)))) (+ (* (* x0 x0) (* x0 x0)) (* (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0))) (* x0 x0)))) |
| 478.0ms | (- (pow (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0))) 3) (pow (* x0 x0) 3)) |
| 415.0ms | (- (sqrt (pow (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0))) 3)) (pow x0 3)) |
| 404.0ms | (- (sqrt (pow (* (/ x0 (- 1 x1)) (/ 1 (/ (- 1 x1) x0))) 3)) (pow x0 3)) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 5.3b
0% (0.1b remaining)
Error of 5.4b against oracle of 5.3b and baseline of 5.4b
| 2× | presampled |
| 2× | (pre true 80) |
| 2× | (body real 80) |