


Bits error versus t
Initial program 0.0
Simplified0.0
rmApplied add-exp-log0.0
rmApplied expm1-log1p-u0.0
Final simplification0.0
herbie shell --seed 2019016 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 3"
(- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))))
Time bar (total: 33.1s)Debug log
| 256× | (pre true 80) |
| 256× | (body real 80) |
| 1.1s | (- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 3.7b | (- 2 (/ 2 (+ 1 t))) |
| 3.7b | (- 2 (/ 2 (+ 1 t))) |
| 0.0b | (/ 1 (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)) |
| 0.0b | (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2) |
| 5× | add-cube-cbrt |
| 5× | add-exp-log |
| 5× | *-un-lft-identity |
| 5× | pow1 |
| 5× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | add-cbrt-cube |
| 4× | expm1-log1p-u |
| 3× | associate-/r* |
| 2× | flip-- |
| 2× | flip3-- |
| 2× | sub-neg |
| 1× | inv-pow |
| 1× | pow-flip |
| 1× | div-inv |
| 1× | fma-udef |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | rec-exp |
| 2.0ms | (/ 1 (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)) |
| 1.0ms | (- 2 (/ 2 (+ 1 t))) |
| 1.0ms | (- 2 (/ 2 (+ 1 t))) |
| 0.0ms | (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2) |
| 36.0ms | (/ 1 (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)) |
| 32.0ms | (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2) |
| 15.0ms | (- 2 (/ 2 (+ 1 t))) |
| 14.0ms | (- 2 (/ 2 (+ 1 t))) |
| 959.0ms | (- (+ (* 2 t) (* 2 (pow t 3))) (* 2 (pow t 2))) |
| 853.0ms | (sqrt (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)) |
| 778.0ms | (- (+ (* 2 t) (* 2 (pow t 3))) (* 2 (pow t 2))) |
| 694.0ms | (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2) |
| 691.0ms | (cbrt (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 3.7b | (- 2 (/ 2 (+ 1 t))) |
| 3.7b | (- 2 (/ 2 (+ 1 t))) |
| 0.0b | (/ 1 (exp (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)))) |
| 0.0b | (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2) |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 6× | associate-/r* |
| 6× | pow1 |
| 5× | pow-flip |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | exp-prod |
| 4× | expm1-log1p-u |
| 3× | exp-sum |
| 3× | log-prod |
| 2× | flip-- |
| 2× | flip3-- |
| 2× | sub-neg |
| 1× | inv-pow |
| 1× | div-inv |
| 1× | fma-udef |
| 1× | log-pow |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | rec-exp |
| 3.0ms | (/ 1 (exp (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)))) |
| 1.0ms | (- 2 (/ 2 (+ 1 t))) |
| 0.0ms | (- 2 (/ 2 (+ 1 t))) |
| 0.0ms | (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2) |
| 34.0ms | (/ 1 (exp (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)))) |
| 26.0ms | (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2) |
| 12.0ms | (- 2 (/ 2 (+ 1 t))) |
| 9.0ms | (- 2 (/ 2 (+ 1 t))) |
| 887.0ms | (exp (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2))) |
| 861.0ms | (- (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2))) |
| 797.0ms | (cbrt (exp (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)))) |
| 749.0ms | (exp (log (cbrt (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)))) |
| 733.0ms | (sqrt (exp (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 3.7b | (- 2 (/ 2 (+ 1 t))) |
| 3.7b | (- 2 (/ 2 (+ 1 t))) |
| 0.0b | (/ 1 (exp (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)))) |
| 0.0b | (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2) |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 6× | associate-/r* |
| 6× | pow1 |
| 5× | pow-flip |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | exp-prod |
| 4× | expm1-log1p-u |
| 3× | exp-sum |
| 3× | log-prod |
| 2× | flip-- |
| 2× | flip3-- |
| 2× | sub-neg |
| 1× | inv-pow |
| 1× | div-inv |
| 1× | fma-udef |
| 1× | log-pow |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | rec-exp |
| 6.0ms | (/ 1 (exp (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)))) |
| 1.0ms | (- 2 (/ 2 (+ 1 t))) |
| 1.0ms | (- 2 (/ 2 (+ 1 t))) |
| 0.0ms | (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2) |
| 43.0ms | (/ 1 (exp (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)))) |
| 20.0ms | (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2) |
| 15.0ms | (- 2 (/ 2 (+ 1 t))) |
| 15.0ms | (- 2 (/ 2 (+ 1 t))) |
| 881.0ms | (exp (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2))) |
| 869.0ms | (- (cbrt (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)))) |
| 844.0ms | (- (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2))) |
| 816.0ms | (sqrt (exp (log (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)))) |
| 793.0ms | (exp (log (sqrt (fma (- 2 (/ 2 (+ 1 t))) (- 2 (/ 2 (+ 1 t))) 2)))) |
1 alts after pruning (0 fresh and 1 done)
Merged error: 0b
| 8000× | (pre true 80) |
| 8000× | (body real 80) |