


Bits error versus x
Results
Initial program 1.5
Simplified1.4
Taylor expanded around 0 0.9
Final simplification0.9
herbie shell --seed 2019007
(FPCore (x)
:name "Jmat.Real.erfi, branch x greater than or equal to 5"
(* (* (/ 1 (sqrt PI)) (exp (* (fabs x) (fabs x)))) (+ (+ (+ (/ 1 (fabs x)) (* (/ 1 2) (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))))) (* (/ 3 4) (* (* (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))) (/ 1 (fabs x))) (/ 1 (fabs x))))) (* (/ 15 8) (* (* (* (* (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))) (/ 1 (fabs x))) (/ 1 (fabs x))) (/ 1 (fabs x))) (/ 1 (fabs x)))))))
Time bar (total: 1.0m)Debug log
1 calls. Slowest were:
| 405.0ms | (* (* (/ 1 (sqrt PI)) (exp (* (fabs x) (fabs x)))) (+ (+ (+ (/ 1 (fabs x)) (* (/ 1 2) (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))))) (* (/ 3 4) (* (* (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))) (/ 1 (fabs x))) (/ 1 (fabs x))))) (* (/ 15 8) (* (* (* (* (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))) (/ 1 (fabs x))) (/ 1 (fabs x))) (/ 1 (fabs x))) (/ 1 (fabs x)))))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 1.3b
Found 4 expressions with local error:
| 1.0b | (pow (/ 1 (fabs x)) 4) |
| 1.0b | (pow (/ 1 (fabs x)) 4) |
| 1.0b | (sqrt PI) |
| 1.0b | (sqrt PI) |
4 calls. Slowest were:
| 2.0ms | (pow (/ 1 (fabs x)) 4) |
| 2.0ms | (pow (/ 1 (fabs x)) 4) |
| 0.0ms | (sqrt PI) |
4 calls. Slowest were:
| 31.0ms | (pow (/ 1 (fabs x)) 4) |
| 29.0ms | (pow (/ 1 (fabs x)) 4) |
| 0.0ms | (sqrt PI) |
| 0.0ms | (sqrt PI) |
26 calls. Slowest were:
| 202.0ms | (+ (+ (* (* (* 15/8 (/ 1 (sqrt PI))) (exp (* (fabs x) (fabs x)))) (* (pow (/ 1 (fabs x)) 3) (pow (/ 1 (fabs x)) 4))) (* (exp (* (fabs x) (fabs x))) (* (/ 1 (sqrt PI)) (/ 1 (fabs x))))) (* (+ (* (* 3/4 (/ 1 (fabs x))) (pow (/ 1 (fabs x)) 4)) (/ (* (/ 1 (fabs x)) (/ 1 (fabs x))) (* 2 (fabs x)))) (/ (exp (* (fabs x) (fabs x))) (sqrt PI)))) |
| 196.0ms | (+ (+ (* (* (* 15/8 (/ 1 (sqrt PI))) (exp (* (fabs x) (fabs x)))) (* (pow (/ 1 (fabs x)) 3) (pow (/ 1 (fabs x)) 4))) (* (exp (* (fabs x) (fabs x))) (* (/ 1 (sqrt PI)) (/ 1 (fabs x))))) (* (+ (* (* 3/4 (/ 1 (fabs x))) (pow (/ 1 (fabs x)) 4)) (/ (* (/ 1 (fabs x)) (/ 1 (fabs x))) (* 2 (fabs x)))) (/ (exp (* (fabs x) (fabs x))) (sqrt PI)))) |
| 17.0ms | (* (log (/ 1 (fabs x))) 4) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 0.5b
Found 4 expressions with local error:
| 1.0b | (pow (/ 1 (fabs x)) 4) |
| 1.0b | (sqrt PI) |
| 1.0b | (sqrt PI) |
| 1.0b | (sqrt PI) |
4 calls. Slowest were:
| 2.0ms | (pow (/ 1 (fabs x)) 4) |
| 0.0ms | (sqrt PI) |
| 0.0ms | (sqrt PI) |
4 calls. Slowest were:
| 20.0ms | (pow (/ 1 (fabs x)) 4) |
| 0.0ms | (sqrt PI) |
| 0.0ms | (sqrt PI) |
| 0.0ms | (sqrt PI) |
15 calls. Slowest were:
| 16.0ms | (* (log (/ 1 (fabs x))) 4) |
| 10.0ms | (* (- (log (fabs x))) 4) |
| 7.0ms | (/ 1 (pow (fabs x) 4)) |
10 alts after pruning (9 fresh and 1 done)
Merged error: 0.5b
Found 4 expressions with local error:
| 1.0b | (pow (/ 1 (fabs x)) 4) |
| 1.0b | (sqrt PI) |
| 1.0b | (sqrt PI) |
| 1.0b | (sqrt PI) |
4 calls. Slowest were:
| 3.0ms | (pow (/ 1 (fabs x)) 4) |
| 1.0ms | (sqrt PI) |
| 0.0ms | (sqrt PI) |
4 calls. Slowest were:
| 29.0ms | (pow (/ 1 (fabs x)) 4) |
| 0.0ms | (sqrt PI) |
| 0.0ms | (sqrt PI) |
| 0.0ms | (sqrt PI) |
15 calls. Slowest were:
| 11.0ms | (* (log (/ 1 (fabs x))) 4) |
| 5.0ms | (* (- (log (fabs x))) 4) |
| 4.0ms | (pow (sqrt (/ 1 (fabs x))) 4) |
10 alts after pruning (8 fresh and 2 done)
Merged error: 0.5b
Found 4 expressions with local error:
| 1.0b | (pow (/ 1 (fabs x)) 4) |
| 1.0b | (pow (/ 1 (fabs x)) 4) |
| 1.0b | (sqrt PI) |
| 1.0b | (sqrt PI) |
4 calls. Slowest were:
| 2.0ms | (pow (/ 1 (fabs x)) 4) |
| 2.0ms | (pow (/ 1 (fabs x)) 4) |
| 0.0ms | (sqrt PI) |
4 calls. Slowest were:
| 20.0ms | (pow (/ 1 (fabs x)) 4) |
| 19.0ms | (pow (/ 1 (fabs x)) 4) |
| 0.0ms | (sqrt PI) |
| 0.0ms | (sqrt PI) |
26 calls. Slowest were:
| 128.0ms | (+ (+ (* (* (/ (/ 1 (fabs x)) (* (fabs x) (fabs x))) (pow (/ 1 (fabs x)) 4)) (* (/ 15/8 (sqrt PI)) (exp (* (fabs x) (fabs x))))) (* (/ (/ 1 (sqrt PI)) (fabs x)) (exp (* (fabs x) (fabs x))))) (* (+ (/ (/ (/ 1/2 (fabs x)) (fabs x)) (fabs x)) (* (pow (/ 1 (fabs x)) 4) (/ 3/4 (fabs x)))) (/ (exp (* (fabs x) (fabs x))) (sqrt PI)))) |
| 99.0ms | (+ (+ (* (* (/ (/ 1 (fabs x)) (* (fabs x) (fabs x))) (pow (/ 1 (fabs x)) 4)) (* (/ 15/8 (sqrt PI)) (exp (* (fabs x) (fabs x))))) (* (/ (/ 1 (sqrt PI)) (fabs x)) (exp (* (fabs x) (fabs x))))) (* (+ (/ (/ (/ 1/2 (fabs x)) (fabs x)) (fabs x)) (* (pow (/ 1 (fabs x)) 4) (/ 3/4 (fabs x)))) (/ (exp (* (fabs x) (fabs x))) (sqrt PI)))) |
| 10.0ms | (* (log (/ 1 (fabs x))) 4) |
16 alts after pruning (13 fresh and 3 done)
Merged error: 0.3b
0% (0.6b remaining)
Error of 0.9b against oracle of 0.3b and baseline of 0.9b