Average Error: 1.5 → 0.7
Time: 1.2m
Precision: 64
Internal Precision: 128
\[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right)\]
\[(\left(\frac{e^{\left|x\right| \cdot \left|x\right|}}{(e^{\log_* (1 + \sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}})} - 1)^*}\right) \cdot \left((\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{3}{4} \cdot \frac{1}{\left|x\right|}\right)\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left((\left(\frac{1}{2} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left(\frac{1}{\left|x\right|}\right))_*\right))_*\right) + \left(\left({\left(\left|x\right|\right)}^{-4} \cdot \frac{1}{{\left(\left|x\right|\right)}^{3}}\right) \cdot \left(e^{\left|x\right| \cdot \left|x\right|} \cdot \left(\frac{15}{8} \cdot \frac{1}{\sqrt{\pi}}\right)\right)\right))_*\]

Error

Bits error versus x

Derivation

  1. Initial program 1.5

    \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right)\]
  2. Simplified1.0

    \[\leadsto \color{blue}{(\left(\frac{e^{\left|x\right| \cdot \left|x\right|}}{\sqrt{\pi}}\right) \cdot \left((\left(\left(\frac{3}{4} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right)\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left((\left(\frac{1}{2} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left(\frac{1}{\left|x\right|}\right))_*\right))_*\right) + \left(\left(\frac{1}{{\left(\left|x\right|\right)}^{3}} \cdot {\left(\frac{1}{\left|x\right|}\right)}^{4}\right) \cdot \left(e^{\left|x\right| \cdot \left|x\right|} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \frac{15}{8}\right)\right)\right))_*}\]
  3. Using strategy rm
  4. Applied inv-pow1.0

    \[\leadsto (\left(\frac{e^{\left|x\right| \cdot \left|x\right|}}{\sqrt{\pi}}\right) \cdot \left((\left(\left(\frac{3}{4} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right)\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left((\left(\frac{1}{2} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left(\frac{1}{\left|x\right|}\right))_*\right))_*\right) + \left(\left(\frac{1}{{\left(\left|x\right|\right)}^{3}} \cdot {\color{blue}{\left({\left(\left|x\right|\right)}^{-1}\right)}}^{4}\right) \cdot \left(e^{\left|x\right| \cdot \left|x\right|} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \frac{15}{8}\right)\right)\right))_*\]
  5. Applied pow-pow0.6

    \[\leadsto (\left(\frac{e^{\left|x\right| \cdot \left|x\right|}}{\sqrt{\pi}}\right) \cdot \left((\left(\left(\frac{3}{4} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right)\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left((\left(\frac{1}{2} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left(\frac{1}{\left|x\right|}\right))_*\right))_*\right) + \left(\left(\frac{1}{{\left(\left|x\right|\right)}^{3}} \cdot \color{blue}{{\left(\left|x\right|\right)}^{\left(-1 \cdot 4\right)}}\right) \cdot \left(e^{\left|x\right| \cdot \left|x\right|} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \frac{15}{8}\right)\right)\right))_*\]
  6. Using strategy rm
  7. Applied expm1-log1p-u0.6

    \[\leadsto (\left(\frac{e^{\left|x\right| \cdot \left|x\right|}}{\color{blue}{(e^{\log_* (1 + \sqrt{\pi})} - 1)^*}}\right) \cdot \left((\left(\left(\frac{3}{4} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right)\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left((\left(\frac{1}{2} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left(\frac{1}{\left|x\right|}\right))_*\right))_*\right) + \left(\left(\frac{1}{{\left(\left|x\right|\right)}^{3}} \cdot {\left(\left|x\right|\right)}^{\left(-1 \cdot 4\right)}\right) \cdot \left(e^{\left|x\right| \cdot \left|x\right|} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \frac{15}{8}\right)\right)\right))_*\]
  8. Using strategy rm
  9. Applied add-sqr-sqrt0.7

    \[\leadsto (\left(\frac{e^{\left|x\right| \cdot \left|x\right|}}{(e^{\log_* (1 + \color{blue}{\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}})} - 1)^*}\right) \cdot \left((\left(\left(\frac{3}{4} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right)\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left((\left(\frac{1}{2} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left(\frac{1}{\left|x\right|}\right))_*\right))_*\right) + \left(\left(\frac{1}{{\left(\left|x\right|\right)}^{3}} \cdot {\left(\left|x\right|\right)}^{\left(-1 \cdot 4\right)}\right) \cdot \left(e^{\left|x\right| \cdot \left|x\right|} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \frac{15}{8}\right)\right)\right))_*\]
  10. Final simplification0.7

    \[\leadsto (\left(\frac{e^{\left|x\right| \cdot \left|x\right|}}{(e^{\log_* (1 + \sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}})} - 1)^*}\right) \cdot \left((\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{3}{4} \cdot \frac{1}{\left|x\right|}\right)\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left((\left(\frac{1}{2} \cdot \frac{1}{\left|x\right|}\right) \cdot \left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) + \left(\frac{1}{\left|x\right|}\right))_*\right))_*\right) + \left(\left({\left(\left|x\right|\right)}^{-4} \cdot \frac{1}{{\left(\left|x\right|\right)}^{3}}\right) \cdot \left(e^{\left|x\right| \cdot \left|x\right|} \cdot \left(\frac{15}{8} \cdot \frac{1}{\sqrt{\pi}}\right)\right)\right))_*\]

Reproduce

herbie shell --seed 2019004 +o rules:numerics
(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)))))))

Details

Time bar (total: 1.1m)Debug log

sample4.1s

Algorithm
intervals

simplify555.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

555.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))))))

prune40.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 1.0b

localize77.0ms

Local error

Found 4 expressions with local error:

1.0b
(sqrt PI)
1.0b
(sqrt PI)
0.9b
(pow (/ 1 (fabs x)) 4)
0.5b
(* (/ 1 (fabs x)) (/ 1 (fabs x)))

rewrite7.0ms

Algorithm
rewrite-expression-head
Counts
4 → 76
Calls

4 calls. Slowest were:

5.0ms
(* (/ 1 (fabs x)) (/ 1 (fabs x)))
1.0ms
(pow (/ 1 (fabs x)) 4)
0.0ms
(sqrt PI)

series63.0ms

Counts
4 → 8
Calls

4 calls. Slowest were:

32.0ms
(* (/ 1 (fabs x)) (/ 1 (fabs x)))
31.0ms
(pow (/ 1 (fabs x)) 4)
0.0ms
(sqrt PI)
0.0ms
(sqrt PI)

simplify1.1s

Counts
48 → 84
Calls

48 calls. Slowest were:

398.0ms
(+ (- (log (fabs x))) (log (/ 1 (fabs x))))
175.0ms
(* (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))) (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))))
160.0ms
(fma (/ (exp (* (fabs x) (fabs x))) (sqrt PI)) (fma (* (* 3/4 (/ 1 (fabs x))) (* (/ 1 (fabs x)) (/ 1 (fabs x)))) (* (/ 1 (fabs x)) (/ 1 (fabs x))) (fma (* 1/2 (/ 1 (fabs x))) (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x)))) (* (* (/ 1 (pow (fabs x) 3)) (pow (/ 1 (fabs x)) 4)) (* (exp (* (fabs x) (fabs x))) (* (/ 1 (sqrt PI)) 15/8))))

prune2.0s

Pruning

13 alts after pruning (13 fresh and 0 done)

Merged error: 0.2b

localize21.0ms

Local error

Found 4 expressions with local error:

1.0b
(sqrt PI)
1.0b
(sqrt PI)
0.5b
(* (/ 1 (fabs x)) (/ 1 (fabs x)))
0.5b
(* (/ 1 (fabs x)) (/ 1 (fabs x)))

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
4 → 94
Calls

4 calls. Slowest were:

4.0ms
(* (/ 1 (fabs x)) (/ 1 (fabs x)))
4.0ms
(* (/ 1 (fabs x)) (/ 1 (fabs x)))
0.0ms
(sqrt PI)

series35.0ms

Counts
4 → 8
Calls

4 calls. Slowest were:

22.0ms
(* (/ 1 (fabs x)) (/ 1 (fabs x)))
14.0ms
(* (/ 1 (fabs x)) (/ 1 (fabs x)))
0.0ms
(sqrt PI)
0.0ms
(sqrt PI)

simplify668.0ms

Counts
70 → 102
Calls

70 calls. Slowest were:

186.0ms
(* (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))) (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))))
135.0ms
(* (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))) (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))))
42.0ms
(+ (- (log (fabs x))) (log (/ 1 (fabs x))))

prune2.5s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 0.1b

localize23.0ms

Local error

Found 4 expressions with local error:

1.0b
(expm1 (log1p (sqrt PI)))
1.0b
(sqrt PI)
1.0b
(sqrt PI)
0.5b
(* (/ 1 (fabs x)) (/ 1 (fabs x)))

rewrite6.0ms

Algorithm
rewrite-expression-head
Counts
4 → 68
Calls

4 calls. Slowest were:

5.0ms
(* (/ 1 (fabs x)) (/ 1 (fabs x)))
0.0ms
(expm1 (log1p (sqrt PI)))
0.0ms
(sqrt PI)

series15.0ms

Counts
4 → 6
Calls

4 calls. Slowest were:

15.0ms
(* (/ 1 (fabs x)) (/ 1 (fabs x)))
0.0ms
(expm1 (log1p (sqrt PI)))
0.0ms
(sqrt PI)
0.0ms
(sqrt PI)

simplify324.0ms

Counts
34 → 74
Calls

34 calls. Slowest were:

177.0ms
(* (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))) (* (* (/ 1 (fabs x)) (/ 1 (fabs x))) (/ 1 (fabs x))))
36.0ms
(+ (log (/ 1 (fabs x))) (log (/ 1 (fabs x))))
22.0ms
(+ (- (log (fabs x))) (log (/ 1 (fabs x))))

prune2.0s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 0.1b

localize25.0ms

Local error

Found 4 expressions with local error:

1.0b
(expm1 (log1p (* (sqrt (sqrt PI)) (sqrt (sqrt PI)))))
1.0b
(sqrt PI)
1.0b
(sqrt PI)
1.0b
(sqrt PI)

rewrite1.0ms

Algorithm
rewrite-expression-head
Counts
4 → 41
Calls

4 calls. Slowest were:

0.0ms
(expm1 (log1p (* (sqrt (sqrt PI)) (sqrt (sqrt PI)))))
0.0ms
(sqrt PI)
0.0ms
(sqrt PI)

series0.0ms

Counts
4 → 4
Calls

4 calls. Slowest were:

0.0ms
(expm1 (log1p (* (sqrt (sqrt PI)) (sqrt (sqrt PI)))))
0.0ms
(sqrt PI)
0.0ms
(sqrt PI)
0.0ms
(sqrt PI)

simplify3.0ms

Counts
1 → 45
Calls

1 calls. Slowest were:

1.0ms
(sqrt (sqrt PI))

prune1.2s

Pruning

12 alts after pruning (11 fresh and 1 done)

Merged error: 0.1b

regimes487.0ms

Accuracy

0% (0.5b remaining)

Error of 0.7b against oracle of 0.2b and baseline of 0.7b

bsearch9.0ms

end0.0ms

sample53.1s

Algorithm
intervals