Average Error: 3.9 → 2.6
Time: 57.3s
Precision: 64
Internal Precision: 128
\[\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\]
\[\frac{x}{e^{2.0 \cdot (\left(z \cdot \sqrt{a + t}\right) \cdot \left(\frac{1}{t}\right) + \left(\left(-\left(b - c\right)\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right)\right))_*} \cdot y + x}\]

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Derivation

  1. Initial program 3.9

    \[\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\]
  2. Using strategy rm
  3. Applied div-inv3.9

    \[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \left(\color{blue}{\left(z \cdot \sqrt{t + a}\right) \cdot \frac{1}{t}} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\]
  4. Applied fma-neg2.6

    \[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \color{blue}{(\left(z \cdot \sqrt{t + a}\right) \cdot \left(\frac{1}{t}\right) + \left(-\left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right))_*}}}\]
  5. Final simplification2.6

    \[\leadsto \frac{x}{e^{2.0 \cdot (\left(z \cdot \sqrt{a + t}\right) \cdot \left(\frac{1}{t}\right) + \left(\left(-\left(b - c\right)\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right)\right))_*} \cdot y + x}\]

Reproduce

herbie shell --seed 2019002 +o rules:numerics
(FPCore (x y z t a b c)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
  (/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))

Details

Time bar (total: 56.6s)Debug log

sample247.0ms

Algorithm
intervals

simplify345.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

345.0ms
(/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))))))

prune25.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 1.2b

localize73.0ms

Local error

Found 4 expressions with local error:

4.8b
(/ (* z (sqrt (+ t a))) t)
0.9b
(- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
0.3b
(/ 2.0 (* t 3.0))
0.2b
(* z (sqrt (+ t a)))

rewrite18.0ms

Algorithm
rewrite-expression-head
Counts
4 → 112
Calls

4 calls. Slowest were:

10.0ms
(- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
4.0ms
(/ (* z (sqrt (+ t a))) t)
2.0ms
(* z (sqrt (+ t a)))

series262.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

161.0ms
(- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
59.0ms
(/ (* z (sqrt (+ t a))) t)
35.0ms
(* z (sqrt (+ t a)))
8.0ms
(/ 2.0 (* t 3.0))

simplify17.5s

Counts
92 → 124
Calls

92 calls. Slowest were:

757.0ms
(* t (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (* t 3.0)))
627.0ms
(- (* (* z (sqrt (+ t a))) (* (+ (* b b) (+ (* c c) (* b c))) (+ (* (+ a (/ 5.0 6.0)) (+ a (/ 5.0 6.0))) (+ (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (* (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))) (* t (* (- (pow b 3) (pow c 3)) (- (pow (+ a (/ 5.0 6.0)) 3) (pow (/ 2.0 (* t 3.0)) 3)))))
618.0ms
(* t (* (+ b c) (* (- a (/ 5.0 6.0)) (* t 3.0))))

prune2.8s

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.0b

localize36.0ms

Local error

Found 4 expressions with local error:

3.7b
(fma (* z (sqrt (+ t a))) (/ 1 t) (- (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))
0.3b
(/ 2.0 (* t 3.0))
0.2b
(* z (sqrt (+ t a)))
0.1b
(* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))

rewrite20.0ms

Algorithm
rewrite-expression-head
Counts
4 → 106
Calls

4 calls. Slowest were:

16.0ms
(* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))
2.0ms
(* z (sqrt (+ t a)))
0.0ms
(/ 2.0 (* t 3.0))

series263.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

163.0ms
(fma (* z (sqrt (+ t a))) (/ 1 t) (- (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))
48.0ms
(* z (sqrt (+ t a)))
45.0ms
(* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))
8.0ms
(/ 2.0 (* t 3.0))

simplify14.5s

Counts
82 → 118
Calls

82 calls. Slowest were:

825.0ms
(* (+ b c) (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (* t 3.0)))
818.0ms
(* (+ (* b b) (+ (* c c) (* b c))) (* (- a (/ 5.0 6.0)) (* t 3.0)))
654.0ms
(* (- b c) (fma (- (sqrt (/ 2.0 (* t 3.0)))) (sqrt (/ 2.0 (* t 3.0))) (* (sqrt (/ 2.0 (* t 3.0))) (sqrt (/ 2.0 (* t 3.0))))))

prune2.8s

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0.0b

localize22.0ms

Local error

Found 4 expressions with local error:

0.0b
(exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c))))
0.0b
(fma (- c b) a (* 0.8333333333333334 c))
0.0b
(* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c)))))
0.0b
(/ x (+ x (* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c)))))))

rewrite6.0ms

Algorithm
rewrite-expression-head
Counts
4 → 55
Calls

4 calls. Slowest were:

3.0ms
(* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c)))))
2.0ms
(exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c))))
0.0ms
(/ x (+ x (* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c)))))))

series281.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

129.0ms
(/ x (+ x (* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c)))))))
92.0ms
(* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c)))))
34.0ms
(exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c))))
26.0ms
(fma (- c b) a (* 0.8333333333333334 c))

simplify4.7s

Counts
26 → 67
Calls

26 calls. Slowest were:

871.0ms
(exp (* (* (- c b) a) 2.0))
447.0ms
(exp (* 2.0 (* (- c b) a)))
349.0ms
(+ (* x x) (- (* (* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c))))) (* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c)))))) (* x (* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c))))))))

prune910.0ms

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize10.0ms

Local error

Found 4 expressions with local error:

0.5b
(expm1 (/ x (+ x (* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c))))))))
0.0b
(exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c))))
0.0b
(fma (- c b) a (* 0.8333333333333334 c))
0.0b
(* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c)))))

rewrite12.0ms

Algorithm
rewrite-expression-head
Counts
4 → 49
Calls

4 calls. Slowest were:

6.0ms
(* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c)))))
4.0ms
(exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c))))
1.0ms
(expm1 (/ x (+ x (* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c))))))))

series293.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

160.0ms
(expm1 (/ x (+ x (* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c))))))))
55.0ms
(* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c)))))
46.0ms
(exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c))))
31.0ms
(fma (- c b) a (* 0.8333333333333334 c))

simplify3.2s

Counts
22 → 61
Calls

22 calls. Slowest were:

532.0ms
(exp (* 2.0 (* (- c b) a)))
529.0ms
(exp (* (* (- c b) a) 2.0))
256.0ms
(/ x (+ x (* y (exp (* 2.0 (fma (- c b) a (* 0.8333333333333334 c)))))))

prune982.0ms

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes595.0ms

Accuracy

0% (1.7b remaining)

Error of 2.6b against oracle of 0.9b and baseline of 2.6b

bsearch12.0ms

end0.0ms

sample6.8s

Algorithm
intervals