Average Error: 0.2 → 0.2
Time: 38.7s
Precision: 64
Internal Precision: 128
\[\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
\[\left|\left({\left(\left|x\right|\right)}^{7} \cdot \frac{1}{21} + \left(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right)\right) \cdot \frac{1}{\sqrt{\pi}}\right|\]

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  2. Taylor expanded around -inf 0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \color{blue}{\frac{1}{21} \cdot {\left(\left|x\right|\right)}^{7}}\right)\right|\]
  3. Final simplification0.2

    \[\leadsto \left|\left({\left(\left|x\right|\right)}^{7} \cdot \frac{1}{21} + \left(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right)\right) \cdot \frac{1}{\sqrt{\pi}}\right|\]

Reproduce

herbie shell --seed 2018365 
(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)))))))

Details

Time bar (total: 28.6s)Debug log

start323.0ms

Algorithm
intervals

setup250.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.1b

localize91.0ms

Local error

Found 4 expressions with local error:

1.0b
(sqrt PI)
0.1b
(* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))
0.1b
(* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))
0.1b
(* (* (fabs x) (fabs x)) (fabs x))

rewrite1.2s

Algorithm
rewrite-expression-head
Counts
4 → 91
Calls

4 calls. Slowest were:

1.1s
(* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))
53.0ms
(* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))
9.0ms
(* (* (fabs x) (fabs x)) (fabs x))

series116.0ms

Counts
4 → 10
Calls

4 calls. Slowest were:

60.0ms
(* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))
33.0ms
(* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))
23.0ms
(* (* (fabs x) (fabs x)) (fabs x))
0.0ms
(sqrt PI)

simplify10.0s

Counts
68 → 101
Calls

68 calls. Slowest were:

794.0ms
(+ (log (/ 1 21)) (+ (+ (+ (+ (+ (log (* (fabs x) (fabs x))) (log (fabs x))) (log (fabs x))) (log (fabs x))) (log (fabs x))) (log (fabs x))))
782.0ms
(+ (log (/ 1 21)) (+ (+ (+ (+ (log (* (* (fabs x) (fabs x)) (fabs x))) (log (fabs x))) (log (fabs x))) (log (fabs x))) (log (fabs x))))
601.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))))

prune2.9s

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0.0b

localize31.0ms

Local error

Found 4 expressions with local error:

1.0b
(sqrt PI)
0.1b
(* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))
0.1b
(* 1/21 (pow (fabs x) 7))
0.1b
(* (* (fabs x) (fabs x)) (fabs x))

rewrite47.0ms

Algorithm
rewrite-expression-head
Counts
4 → 70
Calls

4 calls. Slowest were:

34.0ms
(* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))
9.0ms
(* (* (fabs x) (fabs x)) (fabs x))
2.0ms
(* 1/21 (pow (fabs x) 7))

series94.0ms

Counts
4 → 10
Calls

4 calls. Slowest were:

38.0ms
(* 1/21 (pow (fabs x) 7))
33.0ms
(* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))
23.0ms
(* (* (fabs x) (fabs x)) (fabs x))
0.0ms
(sqrt PI)

simplify2.2s

Counts
49 → 80
Calls

49 calls. Slowest were:

530.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))))
525.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))))
264.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))))

prune2.1s

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0.0b

localize15.0ms

Local error

Found 4 expressions with local error:

1.0b
(sqrt PI)
0.1b
(* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))
0.1b
(* (* (fabs x) (fabs x)) (fabs x))
0.1b
(* (* (fabs x) (fabs x)) (fabs x))

rewrite70.0ms

Algorithm
rewrite-expression-head
Counts
4 → 81
Calls

4 calls. Slowest were:

31.0ms
(* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))
18.0ms
(* (* (fabs x) (fabs x)) (fabs x))
18.0ms
(* (* (fabs x) (fabs x)) (fabs x))

series82.0ms

Counts
4 → 10
Calls

4 calls. Slowest were:

36.0ms
(* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))
23.0ms
(* (* (fabs x) (fabs x)) (fabs x))
23.0ms
(* (* (fabs x) (fabs x)) (fabs x))
0.0ms
(sqrt PI)

simplify2.0s

Counts
63 → 91
Calls

63 calls. Slowest were:

442.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))))
434.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))))
324.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))))

prune2.8s

Pruning

6 alts after pruning (4 fresh and 2 done)

Merged error: 0.0b

localize15.0ms

Local error

Found 4 expressions with local error:

5.7b
(sqrt (* 1/21 (pow (fabs x) 7)))
5.7b
(sqrt (* 1/21 (pow (fabs x) 7)))
1.0b
(sqrt PI)
0.1b
(* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))

rewrite34.0ms

Algorithm
rewrite-expression-head
Counts
4 → 49
Calls

4 calls. Slowest were:

32.0ms
(* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))
1.0ms
(sqrt (* 1/21 (pow (fabs x) 7)))
1.0ms
(sqrt (* 1/21 (pow (fabs x) 7)))

series189.0ms

Counts
4 → 10
Calls

4 calls. Slowest were:

78.0ms
(sqrt (* 1/21 (pow (fabs x) 7)))
77.0ms
(sqrt (* 1/21 (pow (fabs x) 7)))
35.0ms
(* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))
0.0ms
(sqrt PI)

simplify2.0s

Counts
24 → 59
Calls

24 calls. Slowest were:

584.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))))
489.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))))
247.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))))

prune1.8s

Pruning

6 alts after pruning (3 fresh and 3 done)

Merged error: 0.0b

regimes190.0ms

Accuracy

0% (0.2b remaining)

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

bsearch9.0ms