


Bits error versus x
Results
Initial program 0.2
Taylor expanded around -inf 0.2
Final simplification0.2
herbie shell --seed 2018362
(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: 1.0m)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.0b
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 | (* (/ 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))))) |
4 calls. Slowest were:
| 1.2s | (* (/ 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))))) |
| 166.0ms | (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x))) |
| 38.0ms | (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x))) |
4 calls. Slowest were:
| 242.0ms | (* (/ 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))))) |
| 36.0ms | (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x))) |
| 33.0ms | (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x))) |
| 0.0ms | (sqrt PI) |
72 calls. Slowest were:
| 1.2s | (* (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x))) (/ 1 (sqrt PI))) |
| 796.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)))) |
| 783.0ms | (* (* (* (/ 1 (sqrt PI)) (/ 1 (sqrt PI))) (/ 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 (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 (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)))))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.1b | (* 2/3 (pow (fabs x) 3)) |
| 0.1b | (* 1/5 (pow (fabs x) 5)) |
| 0.1b | (* (sqrt (/ 1 PI)) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7)))))) |
| 0.1b | (* 1/21 (pow (fabs x) 7)) |
4 calls. Slowest were:
| 49.0ms | (* (sqrt (/ 1 PI)) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7)))))) |
| 4.0ms | (* 1/21 (pow (fabs x) 7)) |
| 2.0ms | (* 2/3 (pow (fabs x) 3)) |
4 calls. Slowest were:
| 201.0ms | (* (sqrt (/ 1 PI)) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7)))))) |
| 45.0ms | (* 1/5 (pow (fabs x) 5)) |
| 44.0ms | (* 1/21 (pow (fabs x) 7)) |
| 35.0ms | (* 2/3 (pow (fabs x) 3)) |
56 calls. Slowest were:
| 418.0ms | (* (* (* (sqrt (/ 1 PI)) (sqrt (/ 1 PI))) (sqrt (/ 1 PI))) (* (* (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7))))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7)))))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7))))))) |
| 387.0ms | (- (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7))))) |
| 349.0ms | (* (sqrt (/ 1 PI)) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7)))))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.3b | (* (sqrt (sqrt (/ 1 PI))) (* (sqrt (sqrt (/ 1 PI))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7))))))) |
| 0.2b | (* (sqrt (sqrt (/ 1 PI))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7)))))) |
| 0.1b | (* 2/3 (pow (fabs x) 3)) |
| 0.1b | (* 1/5 (pow (fabs x) 5)) |
4 calls. Slowest were:
| 69.0ms | (* (sqrt (sqrt (/ 1 PI))) (* (sqrt (sqrt (/ 1 PI))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7))))))) |
| 39.0ms | (* (sqrt (sqrt (/ 1 PI))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7)))))) |
| 2.0ms | (* 1/5 (pow (fabs x) 5)) |
4 calls. Slowest were:
| 525.0ms | (* (sqrt (sqrt (/ 1 PI))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7)))))) |
| 288.0ms | (* (sqrt (sqrt (/ 1 PI))) (* (sqrt (sqrt (/ 1 PI))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7))))))) |
| 46.0ms | (* 1/5 (pow (fabs x) 5)) |
| 34.0ms | (* 2/3 (pow (fabs x) 3)) |
89 calls. Slowest were:
| 609.0ms | (* (* (* (sqrt (sqrt (/ 1 PI))) (sqrt (sqrt (/ 1 PI)))) (sqrt (sqrt (/ 1 PI)))) (* (* (* (sqrt (sqrt (/ 1 PI))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7)))))) (* (sqrt (sqrt (/ 1 PI))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7))))))) (* (sqrt (sqrt (/ 1 PI))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7)))))))) |
| 571.0ms | (* (* (* (sqrt (sqrt (/ 1 PI))) (sqrt (sqrt (/ 1 PI)))) (sqrt (sqrt (/ 1 PI)))) (* (* (* (sqrt (sqrt (/ 1 PI))) (sqrt (sqrt (/ 1 PI)))) (sqrt (sqrt (/ 1 PI)))) (* (* (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7))))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7)))))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7)))))))) |
| 397.0ms | (* (sqrt (sqrt 1)) (* (sqrt (sqrt (/ 1 PI))) (+ (* 1/5 (pow (fabs x) 5)) (+ (* 2 (fabs x)) (+ (* 2/3 (pow (fabs x) 3)) (* 1/21 (pow (fabs x) 7))))))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0b
Found 4 expressions with local error:
| 1.0b | (sqrt PI) |
| 0.4b | (* 2/3 (fabs x)) |
| 0.3b | (/ (+ (* (* (fabs x) (pow (fabs x) 4)) (+ 1/5 (* 1/21 (* (fabs x) (fabs x))))) (+ (* 2 (fabs x)) (* (* 2/3 (fabs x)) (* (fabs x) (fabs x))))) (sqrt PI)) |
| 0.2b | (* 1/21 (* (fabs x) (fabs x))) |
4 calls. Slowest were:
| 68.0ms | (/ (+ (* (* (fabs x) (pow (fabs x) 4)) (+ 1/5 (* 1/21 (* (fabs x) (fabs x))))) (+ (* 2 (fabs x)) (* (* 2/3 (fabs x)) (* (fabs x) (fabs x))))) (sqrt PI)) |
| 4.0ms | (* 1/21 (* (fabs x) (fabs x))) |
| 1.0ms | (* 2/3 (fabs x)) |
4 calls. Slowest were:
| 288.0ms | (/ (+ (* (* (fabs x) (pow (fabs x) 4)) (+ 1/5 (* 1/21 (* (fabs x) (fabs x))))) (+ (* 2 (fabs x)) (* (* 2/3 (fabs x)) (* (fabs x) (fabs x))))) (sqrt PI)) |
| 15.0ms | (* 1/21 (* (fabs x) (fabs x))) |
| 11.0ms | (* 2/3 (fabs x)) |
| 0.0ms | (sqrt PI) |
45 calls. Slowest were:
| 698.0ms | (/ (sqrt (+ (* (* (fabs x) (pow (fabs x) 4)) (+ 1/5 (* 1/21 (* (fabs x) (fabs x))))) (+ (* 2 (fabs x)) (* (* 2/3 (fabs x)) (* (fabs x) (fabs x)))))) (* (cbrt (sqrt PI)) (cbrt (sqrt PI)))) |
| 612.0ms | (/ (* (cbrt (+ (* (* (fabs x) (pow (fabs x) 4)) (+ 1/5 (* 1/21 (* (fabs x) (fabs x))))) (+ (* 2 (fabs x)) (* (* 2/3 (fabs x)) (* (fabs x) (fabs x)))))) (cbrt (+ (* (* (fabs x) (pow (fabs x) 4)) (+ 1/5 (* 1/21 (* (fabs x) (fabs x))))) (+ (* 2 (fabs x)) (* (* 2/3 (fabs x)) (* (fabs x) (fabs x))))))) (sqrt (sqrt PI))) |
| 547.0ms | (/ (sqrt (+ (* (* (fabs x) (pow (fabs x) 4)) (+ 1/5 (* 1/21 (* (fabs x) (fabs x))))) (+ (* 2 (fabs x)) (* (* 2/3 (fabs x)) (* (fabs x) (fabs x)))))) (sqrt PI)) |
3 alts after pruning (0 fresh and 3 done)
Merged error: 0b
0% (0.2b remaining)
Error of 0.2b against oracle of 0.0b and baseline of 0.2b