Average Error: 3.5 → 2.0
Time: 2.7m
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)}}\]
\[\begin{array}{l} \mathbf{if}\;t \le -6.71262786876705 \cdot 10^{-162} \lor \neg \left(t \le 4.08452459885081 \cdot 10^{-75}\right):\\ \;\;\;\;\frac{x}{y \cdot e^{\left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot 2.0} + x}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + e^{2.0 \cdot \frac{\left(\left(t \cdot 3.0\right) \cdot z\right) \cdot \left(a - \frac{5.0}{6.0}\right) - \left(\left(a - \frac{5.0}{6.0}\right) \cdot \left(\left(t \cdot 3.0\right) \cdot \left(\frac{5.0}{6.0} + a\right) - 2.0\right)\right) \cdot \frac{t \cdot \left(b - c\right)}{\sqrt{t + a}}}{\left(\left(t \cdot 3.0\right) \cdot \left(a - \frac{5.0}{6.0}\right)\right) \cdot \frac{t}{\sqrt{t + a}}}} \cdot y}\\ \end{array}\]

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if t < -6.71262786876705e-162 or 4.08452459885081e-75 < t

    1. Initial program 2.6

      \[\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 associate-/l*0.8

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

    if -6.71262786876705e-162 < t < 4.08452459885081e-75

    1. Initial program 5.5

      \[\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 associate-/l*7.1

      \[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \left(\color{blue}{\frac{z}{\frac{t}{\sqrt{t + a}}}} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\]
    4. Using strategy rm
    5. Applied flip-+9.9

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

      \[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \color{blue}{\frac{\left(a \cdot a - \frac{5.0}{6.0} \cdot \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right) - \left(a - \frac{5.0}{6.0}\right) \cdot 2.0}{\left(a - \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right)}}\right)}}\]
    7. Applied associate-*r/9.9

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

      \[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \color{blue}{\frac{z \cdot \left(\left(a - \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right)\right) - \frac{t}{\sqrt{t + a}} \cdot \left(\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5.0}{6.0} \cdot \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right) - \left(a - \frac{5.0}{6.0}\right) \cdot 2.0\right)\right)}{\frac{t}{\sqrt{t + a}} \cdot \left(\left(a - \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right)\right)}}}}\]
    9. Simplified4.3

      \[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \frac{\color{blue}{\left(a - \frac{5.0}{6.0}\right) \cdot \left(z \cdot \left(3.0 \cdot t\right)\right) - \left(\left(a - \frac{5.0}{6.0}\right) \cdot \left(\left(3.0 \cdot t\right) \cdot \left(a + \frac{5.0}{6.0}\right) - 2.0\right)\right) \cdot \frac{t \cdot \left(b - c\right)}{\sqrt{a + t}}}}{\frac{t}{\sqrt{t + a}} \cdot \left(\left(a - \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right)\right)}}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification2.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -6.71262786876705 \cdot 10^{-162} \lor \neg \left(t \le 4.08452459885081 \cdot 10^{-75}\right):\\ \;\;\;\;\frac{x}{y \cdot e^{\left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot 2.0} + x}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + e^{2.0 \cdot \frac{\left(\left(t \cdot 3.0\right) \cdot z\right) \cdot \left(a - \frac{5.0}{6.0}\right) - \left(\left(a - \frac{5.0}{6.0}\right) \cdot \left(\left(t \cdot 3.0\right) \cdot \left(\frac{5.0}{6.0} + a\right) - 2.0\right)\right) \cdot \frac{t \cdot \left(b - c\right)}{\sqrt{t + a}}}{\left(\left(t \cdot 3.0\right) \cdot \left(a - \frac{5.0}{6.0}\right)\right) \cdot \frac{t}{\sqrt{t + a}}}} \cdot y}\\ \end{array}\]

Reproduce

herbie shell --seed 2019007 
(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: 2.7m)Debug log

sample201.0ms

Algorithm
intervals

simplify196.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune17.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 3.4b

localize67.0ms

Local error

Found 4 expressions with local error:

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

rewrite15.0ms

Algorithm
rewrite-expression-head
Counts
4 → 72
Calls

4 calls. Slowest were:

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

series295.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

157.0ms
(- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
63.0ms
(* z (sqrt (+ t a)))
61.0ms
(/ (* z (sqrt (+ t a))) t)
14.0ms
(/ 2.0 (* t 3.0))

simplify7.4s

Counts
57 → 84
Calls

57 calls. Slowest were:

477.0ms
(* t (* (+ b c) (* (- a (/ 5.0 6.0)) (* t 3.0))))
469.0ms
(- (* (* z (sqrt (+ t a))) (* (+ 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 (* (- (* b b) (* c c)) (- (pow (+ a (/ 5.0 6.0)) 3) (pow (/ 2.0 (* t 3.0)) 3)))))
449.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)))))

prune2.3s

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0.5b

localize43.0ms

Local error

Found 4 expressions with local error:

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

rewrite20.0ms

Algorithm
rewrite-expression-head
Counts
4 → 78
Calls

4 calls. Slowest were:

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

series282.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

186.0ms
(- (/ z (/ t (sqrt (+ t a)))) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
46.0ms
(/ t (sqrt (+ t a)))
43.0ms
(/ z (/ t (sqrt (+ t a))))
8.0ms
(/ 2.0 (* t 3.0))

simplify8.0s

Counts
62 → 90
Calls

62 calls. Slowest were:

519.0ms
(* (/ t (sqrt (+ t a))) (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (* t 3.0)))
455.0ms
(- (* z (* (+ (* 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 (sqrt (+ t a))) (* (- (pow b 3) (pow c 3)) (- (pow (+ a (/ 5.0 6.0)) 3) (pow (/ 2.0 (* t 3.0)) 3)))))
384.0ms
(- (* z (* (+ 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 (sqrt (+ t a))) (* (- (* b b) (* c c)) (- (pow (+ a (/ 5.0 6.0)) 3) (pow (/ 2.0 (* t 3.0)) 3)))))

prune2.3s

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0b

localize59.0ms

Local error

Found 4 expressions with local error:

16.6b
(/ (- (* z (+ b c)) (* (/ t (sqrt (+ t a))) (* (- (* b b) (* c c)) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))) (* (/ t (sqrt (+ t a))) (+ b c)))
6.6b
(* (/ t (sqrt (+ t a))) (* (- (* b b) (* c c)) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
5.8b
(- (* b b) (* c c))
4.6b
(- (* z (+ b c)) (* (/ t (sqrt (+ t a))) (* (- (* b b) (* c c)) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))

rewrite125.0ms

Algorithm
rewrite-expression-head
Counts
4 → 246
Calls

4 calls. Slowest were:

42.0ms
(* (/ t (sqrt (+ t a))) (* (- (* b b) (* c c)) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
39.0ms
(- (* z (+ b c)) (* (/ t (sqrt (+ t a))) (* (- (* b b) (* c c)) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))
26.0ms
(/ (- (* z (+ b c)) (* (/ t (sqrt (+ t a))) (* (- (* b b) (* c c)) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))) (* (/ t (sqrt (+ t a))) (+ b c)))

series2.0s

Counts
4 → 12
Calls

4 calls. Slowest were:

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

simplify1.2m

Counts
291 → 258
Calls

291 calls. Slowest were:

939.0ms
(- (* (* z (- (* b b) (* c 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)))))) (* (- b c) (* (/ t (sqrt (+ t a))) (* (- (* b b) (* c c)) (- (pow (+ a (/ 5.0 6.0)) 3) (pow (/ 2.0 (* t 3.0)) 3))))))
875.0ms
(* (/ t (sqrt (+ t a))) (* (- (/ 5.0 6.0) (/ 2.0 (* t 3.0))) (- (* b b) (* c c))))
802.0ms
(- (* (* z (- (* b b) (* c c))) (* (sqrt (+ t a)) (* (+ (* (* b b) (* b b)) (+ (* (* c c) (* c c)) (* (* b b) (* c c)))) (+ (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))) (* (- b c) (* t (* (- (pow (* b b) 3) (pow (* c c) 3)) (- (* (+ a (/ 5.0 6.0)) (+ a (/ 5.0 6.0))) (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))))))))

prune7.9s

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0b

localize70.0ms

Local error

Found 4 expressions with local error:

26.4b
(/ (- (* (- a (/ 5.0 6.0)) (* z (* 3.0 t))) (* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t))))) (* (/ t (sqrt (+ t a))) (* (- a (/ 5.0 6.0)) (* t 3.0))))
7.4b
(/ (* t (- b c)) (sqrt (+ a t)))
5.8b
(- (* (- a (/ 5.0 6.0)) (* z (* 3.0 t))) (* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t)))))
2.6b
(* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t))))

rewrite207.0ms

Algorithm
rewrite-expression-head
Counts
4 → 192
Calls

4 calls. Slowest were:

67.0ms
(- (* (- a (/ 5.0 6.0)) (* z (* 3.0 t))) (* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t)))))
65.0ms
(* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t))))
58.0ms
(/ (- (* (- a (/ 5.0 6.0)) (* z (* 3.0 t))) (* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t))))) (* (/ t (sqrt (+ t a))) (* (- a (/ 5.0 6.0)) (* t 3.0))))

series2.3s

Counts
4 → 12
Calls

4 calls. Slowest were:

1.3s
(/ (- (* (- a (/ 5.0 6.0)) (* z (* 3.0 t))) (* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t))))) (* (/ t (sqrt (+ t a))) (* (- a (/ 5.0 6.0)) (* t 3.0))))
747.0ms
(- (* (- a (/ 5.0 6.0)) (* z (* 3.0 t))) (* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t)))))
171.0ms
(* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t))))
95.0ms
(/ (* t (- b c)) (sqrt (+ a t)))

simplify39.0s

Counts
216 → 204
Calls

216 calls. Slowest were:

913.0ms
(- (* (* (- (pow a 3) (pow (/ 5.0 6.0) 3)) (* z (* 3.0 t))) (* (+ a (/ 5.0 6.0)) (+ (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0))) (* (+ (* a a) (+ (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (* (* (- (* a a) (* (/ 5.0 6.0) (/ 5.0 6.0))) (- (* (* (* 3.0 t) (+ a (/ 5.0 6.0))) (* (* 3.0 t) (+ a (/ 5.0 6.0)))) (* 2.0 2.0))) (/ (* t (- b c)) (sqrt (+ a t))))))
897.0ms
(- (* (* (- (pow a 3) (pow (/ 5.0 6.0) 3)) (* z (* 3.0 t))) (+ (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (* (+ (* a a) (+ (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (* (* (- a (/ 5.0 6.0)) (- (* (* (* 3.0 t) (+ a (/ 5.0 6.0))) (* (* 3.0 t) (+ a (/ 5.0 6.0)))) (* 2.0 2.0))) (/ (* t (- b c)) (sqrt (+ a t))))))
666.0ms
(/ (* (* (- (* (- a (/ 5.0 6.0)) (* z (* 3.0 t))) (* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t))))) (- (* (- a (/ 5.0 6.0)) (* z (* 3.0 t))) (* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t)))))) (- (* (- a (/ 5.0 6.0)) (* z (* 3.0 t))) (* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t)))))) (* (* (* (/ t (sqrt (+ t a))) (/ t (sqrt (+ t a)))) (/ t (sqrt (+ t a)))) (* (* (* (- a (/ 5.0 6.0)) (- a (/ 5.0 6.0))) (- a (/ 5.0 6.0))) (* (* (* t 3.0) (* t 3.0)) (* t 3.0)))))

prune7.8s

Pruning

3 alts after pruning (0 fresh and 3 done)

Merged error: 0b

regimes666.0ms

Accuracy

39.5% (1.4b remaining)

Error of 2.0b against oracle of 0.6b and baseline of 2.9b

bsearch1.4s

end0.0ms

sample5.8s

Algorithm
intervals