



Bits error versus x
Results
| Original | 32.2 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 32.2
Simplified31.1
Taylor expanded around 0 0
Final simplification0
herbie shell --seed 2019016 +o rules:numerics
(FPCore (x)
:name "sqrt sqr"
:herbie-target
(if (< x 0) 2 0)
(- (/ x x) (* (/ 1 x) (sqrt (* x x)))))
Time bar (total: 4.1s)Debug log
| 256× | (pre true 80) |
| 139× | (body real 80) |
| 117× | (body real 1280) |
| 63.0ms | (- (/ x x) (* (/ 1 x) (sqrt (* x x)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 16.9b
Found 1 expressions with local error:
| 28.2b | (fma (/ -1 x) (fabs x) 1) |
| 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 (/ -1 x) (fabs x) 1) |
| 32.0ms | (fma (/ -1 x) (fabs x) 1) |
| 4.0ms | (- 1 (/ (fabs x) x)) |
| 4.0ms | (- 1 (/ (fabs x) x)) |
| 4.0ms | (- 1 (/ (fabs x) x)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0b
Found 0 expressions with local error:
1 alts after pruning (0 fresh and 1 done)
Merged error: 0b
| 8000× | (pre true 80) |
| 4012× | (body real 1280) |
| 3988× | (body real 80) |