


Bits error versus x
Results
Initial program 0.5
Taylor expanded around inf 0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019010 +o rules:numerics
(FPCore (x)
:name "sqrt times"
(* (sqrt (- x 1)) (sqrt x)))
Time bar (total: 4.9s)Debug log
| 19.0ms | (* (sqrt (- x 1)) (sqrt x)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.5b
Found 1 expressions with local error:
| 0.5b | (* (sqrt (- x 1)) (sqrt x)) |
| 6× | associate-*l* |
| 4× | add-cube-cbrt |
| 4× | *-un-lft-identity |
| 4× | add-sqr-sqrt |
| 3× | sqrt-prod |
| 3× | add-exp-log |
| 3× | associate-*r* |
| 3× | add-cbrt-cube |
| 3× | pow1 |
| 2× | associate-*l/ |
| 2× | pow-prod-down |
| 2× | sqrt-div |
| 2× | pow1/2 |
| 1× | add-log-exp |
| 1× | flip-- |
| 1× | log1p-expm1-u |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | prod-exp |
| 1× | sqrt-unprod |
| 1× | flip3-- |
| 1× | expm1-log1p-u |
| 6.0ms | (* (sqrt (- x 1)) (sqrt x)) |
| 34.0ms | (* (sqrt (- x 1)) (sqrt x)) |
| 456.0ms | (* (* (* (sqrt (- x 1)) (sqrt (- x 1))) (sqrt (- x 1))) (* (* (sqrt x) (sqrt x)) (sqrt x))) |
| 129.0ms | (- x (+ (* 1/8 (/ 1 x)) 1/2)) |
| 57.0ms | (* (sqrt (- (* x x) (* 1 1))) (sqrt x)) |
| 20.0ms | (* (sqrt (- (pow x 3) (pow 1 3))) (sqrt x)) |
| 15.0ms | (* (- x 1) x) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0b
Found 0 expressions with local error:
2 alts after pruning (0 fresh and 2 done)
Merged error: 0b
0% (0.3b remaining)
Error of 0.4b against oracle of 0.0b and baseline of 0.4b