


Bits error versus x
Initial program 0.2
Simplified0.2
Simplified0.1
Simplified0.2
Final simplification0.2
herbie shell --seed 2019016 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.erfi, branch x less than or equal to 0.5"
(fabs (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))
Time bar (total: 33.5s)Debug log
| 470× | (pre true 80) |
| 470× | (body real 80) |
| 402.0ms | (fabs (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 1.0b | (sqrt PI) |
| 0.1b | (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x))) |
| 0.1b | (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x))) |
| 0.1b | (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) |
| 67× | pow1 |
| 42× | add-exp-log |
| 42× | add-cbrt-cube |
| 27× | cbrt-unprod |
| 27× | prod-exp |
| 27× | pow-prod-down |
| 17× | pow-prod-up |
| 17× | pow-plus |
| 9× | associate-*l* |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 5× | associate-*r* |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | expm1-log1p-u |
| 4× | pow2 |
| 3× | *-commutative |
| 2× | div-inv |
| 2× | associate-*l/ |
| 2× | pow3 |
| 1× | pow1/2 |
| 248.0ms | (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x))) |
| 52.0ms | (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x))) |
| 46.0ms | (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) |
| 0.0ms | (sqrt PI) |
| 48.0ms | (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x))) |
| 35.0ms | (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x))) |
| 21.0ms | (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) |
| 0.0ms | (sqrt PI) |
| 675.0ms | (* (* (* (/ 1 5) (/ 1 5)) (/ 1 5)) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x))) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) |
| 608.0ms | (* (* (* (/ 1 5) (/ 1 5)) (/ 1 5)) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x)))) |
| 579.0ms | (* (* (* (/ 1 5) (/ 1 5)) (/ 1 5)) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x)))) |
| 555.0ms | (* (* (* (/ 2 3) (/ 2 3)) (/ 2 3)) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x)))) |
| 539.0ms | (* (* (* (/ 1 5) (/ 1 5)) (/ 1 5)) (* (* (* (* (* (* (fabs x) (fabs x)) (* (fabs x) (fabs x))) (* (fabs x) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x)))) |
5 alts after pruning (4 fresh and 1 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 1.0b | (sqrt PI) |
| 0.1b | (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x))) |
| 0.1b | (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x))) |
| 0.1b | (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) |
| 67× | pow1 |
| 42× | add-exp-log |
| 42× | add-cbrt-cube |
| 27× | cbrt-unprod |
| 27× | prod-exp |
| 27× | pow-prod-down |
| 17× | pow-prod-up |
| 17× | pow-plus |
| 9× | associate-*l* |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 5× | associate-*r* |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | expm1-log1p-u |
| 4× | pow2 |
| 3× | *-commutative |
| 2× | div-inv |
| 2× | associate-*l/ |
| 2× | pow3 |
| 1× | pow1/2 |
| 196.0ms | (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x))) |
| 48.0ms | (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) |
| 25.0ms | (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x))) |
| 0.0ms | (sqrt PI) |
| 46.0ms | (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x))) |
| 36.0ms | (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x))) |
| 24.0ms | (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) |
| 0.0ms | (sqrt PI) |
| 576.0ms | (* (* (* (/ 1 5) (/ 1 5)) (/ 1 5)) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x)))) |
| 564.0ms | (* (* (* (/ 1 5) (/ 1 5)) (/ 1 5)) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x)))) |
| 559.0ms | (* (* (* (/ 2 3) (/ 2 3)) (/ 2 3)) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x)))) |
| 556.0ms | (* (* (* (/ 1 5) (/ 1 5)) (/ 1 5)) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x))) (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x)))) |
| 546.0ms | (* (* (* (/ 1 5) (/ 1 5)) (/ 1 5)) (* (* (* (* (* (* (fabs x) (fabs x)) (* (fabs x) (fabs x))) (* (fabs x) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x))) (* (* (fabs x) (fabs x)) (fabs x)))) |
5 alts after pruning (3 fresh and 2 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 1.0b | (/ 1/21 (sqrt PI)) |
| 1.0b | (sqrt PI) |
| 1.0b | (sqrt PI) |
| 0.4b | (* 1/5 (fabs x)) |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 6× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-*r* |
| 3× | associate-/r* |
| 2× | pow1/2 |
| 1× | div-inv |
| 1× | *-commutative |
| 1× | frac-2neg |
| 1× | clear-num |
| 2.0ms | (* 1/5 (fabs x)) |
| 1.0ms | (/ 1/21 (sqrt PI)) |
| 0.0ms | (sqrt PI) |
| 0.0ms | (sqrt PI) |
| 14.0ms | (* 1/5 (fabs x)) |
| 0.0ms | (/ 1/21 (sqrt PI)) |
| 0.0ms | (sqrt PI) |
| 0.0ms | (sqrt PI) |
| 357.0ms | (fabs (fma (/ 1 (sqrt PI)) (fma (* (* 1/5 (fabs x)) (* (fabs x) (fabs x))) (* (fabs x) (fabs x)) (fma (* 2/3 (fabs x)) (* (fabs x) (fabs x)) (* (fabs x) 2))) (* (* (/ 1/21 (sqrt PI)) (fabs x)) (pow (* (fabs x) (fabs x)) 3)))) |
| 279.0ms | (fabs (fma (/ 1 (sqrt PI)) (fma (* (* 1/5 (fabs x)) (* (fabs x) (fabs x))) (* (fabs x) (fabs x)) (fma (* 2/3 (fabs x)) (* (fabs x) (fabs x)) (* (fabs x) 2))) (* (* (/ 1/21 (sqrt PI)) (fabs x)) (pow (* (fabs x) (fabs x)) 3)))) |
| 258.0ms | (fabs (fma (/ 1 (sqrt PI)) (fma (* (* 1/5 (fabs x)) (* (fabs x) (fabs x))) (* (fabs x) (fabs x)) (fma (* 2/3 (fabs x)) (* (fabs x) (fabs x)) (* (fabs x) 2))) (* (* (/ 1/21 (sqrt PI)) (fabs x)) (pow (* (fabs x) (fabs x)) 3)))) |
| 2.0ms | (* 1/5 (fabs x)) |
| 2.0ms | (* 1/5 (fabs x)) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 1.0b | (sqrt PI) |
| 1.0b | (sqrt PI) |
| 1.0b | (/ 1/21 (sqrt PI)) |
| 0.4b | (* (fabs x) 1/5) |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 6× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-*l* |
| 3× | associate-/r* |
| 2× | pow1/2 |
| 1× | div-inv |
| 1× | *-commutative |
| 1× | frac-2neg |
| 1× | clear-num |
| 3.0ms | (* (fabs x) 1/5) |
| 0.0ms | (/ 1/21 (sqrt PI)) |
| 0.0ms | (sqrt PI) |
| 0.0ms | (sqrt PI) |
| 8.0ms | (* (fabs x) 1/5) |
| 0.0ms | (sqrt PI) |
| 0.0ms | (/ 1/21 (sqrt PI)) |
| 0.0ms | (sqrt PI) |
| 251.0ms | (fabs (fma (/ 1 (sqrt PI)) (fma (* (fabs x) (fabs x)) (fma (* (fabs x) 1/5) (* (fabs x) (fabs x)) (* 2/3 (fabs x))) (* 2 (fabs x))) (* (* (* (fabs x) (fabs x)) (/ 1/21 (sqrt PI))) (pow (fabs x) 5)))) |
| 240.0ms | (fabs (fma (/ 1 (sqrt PI)) (fma (* (fabs x) (fabs x)) (fma (* (fabs x) 1/5) (* (fabs x) (fabs x)) (* 2/3 (fabs x))) (* 2 (fabs x))) (* (* (* (fabs x) (fabs x)) (/ 1/21 (sqrt PI))) (pow (fabs x) 5)))) |
| 206.0ms | (fabs (fma (/ 1 (sqrt PI)) (fma (* (fabs x) (fabs x)) (fma (* (fabs x) 1/5) (* (fabs x) (fabs x)) (* 2/3 (fabs x))) (* 2 (fabs x))) (* (* (* (fabs x) (fabs x)) (/ 1/21 (sqrt PI))) (pow (fabs x) 5)))) |
| 2.0ms | (* 1/5 (fabs x)) |
| 1.0ms | (* 1/5 (fabs x)) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0.1b
0% (0.1b remaining)
Error of 0.2b against oracle of 0.1b and baseline of 0.2b
| 14038× | (pre true 80) |
| 14038× | (body real 80) |