Average Error: 4.1 → 3.4
Time: 39.8s
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}{y \cdot e^{2.0 \cdot \left(\frac{z}{\frac{t}{\sqrt{a + t}}} - \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right) \cdot \left(b - c\right)\right)} + 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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 4.1

    \[\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*3.4

    \[\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. Final simplification3.4

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

Reproduce

herbie shell --seed 2019016 
(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: 38.9s)Debug log

sample270.0ms

Algorithm
intervals
Results
519×(pre true 80)
263×(body nan 80)
256×(body real 80)

simplify222.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
222.0ms
(/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))))))

prune14.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 2.9b

localize58.0ms

Local error

Found 4 expressions with local error:

5.7b
(/ (* z (sqrt (+ t a))) t)
1.4b
(- (/ (* 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.3b
(* z (sqrt (+ t a)))

rewrite27.0ms

Algorithm
rewrite-expression-head
Rules
20×frac-sub
flip--
flip3--
associate-*r/
frac-times
add-log-exp
associate--r+
add-cube-cbrt
associate-*r*
*-un-lft-identity
add-sqr-sqrt
flip-+
flip3-+
add-exp-log
sqrt-div
add-cbrt-cube
pow1
sqrt-prod
distribute-lft-in
sub-neg
distribute-rgt-in
associate-/l/
div-inv
associate--l+
associate-*l/
frac-2neg
clear-num
associate-/l*
*-commutative
diff-log
associate-/r*
Counts
4 → 72
Calls
4 calls:
Slowest
17.0ms
(- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
4.0ms
(* z (sqrt (+ t a)))
3.0ms
(/ (* z (sqrt (+ t a))) t)
1.0ms
(/ 2.0 (* t 3.0))

series647.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
512.0ms
(- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
70.0ms
(/ (* z (sqrt (+ t a))) t)
56.0ms
(* z (sqrt (+ t a)))
8.0ms
(/ 2.0 (* t 3.0))

simplify7.3s

Counts
57 → 84
Calls
57 calls:
Slowest
554.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)))))
469.0ms
(* t (* (+ b c) (* (- a (/ 5.0 6.0)) (* t 3.0))))
401.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)))))
356.0ms
(- (* (* z (sqrt (+ t a))) (* (+ (* b b) (+ (* c c) (* b c))) (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (* t 3.0)))) (* t (* (- (pow b 3) (pow c 3)) (- (* (+ (pow a 3) (pow (/ 5.0 6.0) 3)) (* t 3.0)) (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) 2.0)))))
328.0ms
(- (* (* z (sqrt (+ t a))) (* (+ (* b b) (+ (* c c) (* b c))) (+ (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))) (* t (* (- (pow b 3) (pow c 3)) (- (* (+ a (/ 5.0 6.0)) (+ a (/ 5.0 6.0))) (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0)))))))

prune2.0s

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0b

localize21.0ms

Local error

Found 4 expressions with local error:

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

rewrite18.0ms

Algorithm
rewrite-expression-head
Rules
20×frac-sub
13×associate-/r*
flip--
flip3--
frac-times
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-log-exp
associate--r+
flip-+
associate-/r/
flip3-+
div-inv
add-exp-log
associate-*r/
sqrt-div
add-cbrt-cube
pow1
sqrt-prod
distribute-lft-in
frac-2neg
sub-neg
clear-num
distribute-rgt-in
associate--l+
associate-*l/
diff-log
Counts
4 → 78
Calls
4 calls:
Slowest
13.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))))
1.0ms
(/ 2.0 (* t 3.0))

series311.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
185.0ms
(- (/ z (/ t (sqrt (+ t a)))) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
70.0ms
(/ z (/ t (sqrt (+ t a))))
44.0ms
(/ t (sqrt (+ t a)))
12.0ms
(/ 2.0 (* t 3.0))

simplify7.4s

Counts
62 → 90
Calls
62 calls:
Slowest
477.0ms
(* (/ t (sqrt (+ t a))) (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (* t 3.0)))
449.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)))))
333.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)))))
313.0ms
(* (/ t (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)))))))
281.0ms
(* (/ t (sqrt (+ t a))) (+ (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))

prune2.5s

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0b

localize52.0ms

Local error

Found 4 expressions with local error:

5.7b
(/ (* z (sqrt (+ t a))) t)
5.0b
(log (exp (/ 2.0 (* t 3.0))))
3.1b
(- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (log (exp (/ 2.0 (* t 3.0)))))))
0.3b
(/ 2.0 (* t 3.0))

rewrite32.0ms

Algorithm
rewrite-expression-head
Rules
frac-sub
flip--
flip3--
add-log-exp
associate--r+
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
log-pow
pow1
add-exp-log
associate-*r/
add-cbrt-cube
exp-prod
frac-times
div-inv
distribute-lft-in
sub-neg
log-prod
distribute-rgt-in
associate-/l/
associate--l+
associate-*l/
sqrt-div
frac-2neg
clear-num
associate-/l*
flip-+
rem-log-exp
diff-log
flip3-+
associate-/r*
Counts
4 → 66
Calls
4 calls:
Slowest
18.0ms
(- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (log (exp (/ 2.0 (* t 3.0)))))))
7.0ms
(/ (* z (sqrt (+ t a))) t)
5.0ms
(log (exp (/ 2.0 (* t 3.0))))
0.0ms
(/ 2.0 (* t 3.0))

series282.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
214.0ms
(- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (log (exp (/ 2.0 (* t 3.0)))))))
47.0ms
(/ (* z (sqrt (+ t a))) t)
13.0ms
(/ 2.0 (* t 3.0))
8.0ms
(log (exp (/ 2.0 (* t 3.0))))

simplify4.6s

Counts
44 → 78
Calls
44 calls:
Slowest
379.0ms
(- (* (* z (sqrt (+ t a))) (* (+ (* b b) (+ (* c c) (* b c))) (+ (* (+ a (/ 5.0 6.0)) (+ a (/ 5.0 6.0))) (+ (* (log (exp (/ 2.0 (* t 3.0)))) (log (exp (/ 2.0 (* t 3.0))))) (* (+ a (/ 5.0 6.0)) (log (exp (/ 2.0 (* t 3.0))))))))) (* t (* (- (pow b 3) (pow c 3)) (- (pow (+ a (/ 5.0 6.0)) 3) (pow (log (exp (/ 2.0 (* t 3.0)))) 3)))))
362.0ms
(- (* (* z (sqrt (+ t a))) (* (+ b c) (+ (* (+ a (/ 5.0 6.0)) (+ a (/ 5.0 6.0))) (+ (* (log (exp (/ 2.0 (* t 3.0)))) (log (exp (/ 2.0 (* t 3.0))))) (* (+ a (/ 5.0 6.0)) (log (exp (/ 2.0 (* t 3.0))))))))) (* t (* (- (* b b) (* c c)) (- (pow (+ a (/ 5.0 6.0)) 3) (pow (log (exp (/ 2.0 (* t 3.0)))) 3)))))
345.0ms
(- (* (* z (sqrt (+ t a))) (* (+ (* b b) (+ (* c c) (* b c))) (+ (+ a (/ 5.0 6.0)) (log (exp (/ 2.0 (* t 3.0))))))) (* t (* (- (pow b 3) (pow c 3)) (- (* (+ a (/ 5.0 6.0)) (+ a (/ 5.0 6.0))) (* (log (exp (/ 2.0 (* t 3.0)))) (log (exp (/ 2.0 (* t 3.0)))))))))
286.0ms
(- (* (* z (sqrt (+ t a))) (* (+ b c) (+ (+ a (/ 5.0 6.0)) (log (exp (/ 2.0 (* t 3.0))))))) (* t (* (- (* b b) (* c c)) (- (* (+ a (/ 5.0 6.0)) (+ a (/ 5.0 6.0))) (* (log (exp (/ 2.0 (* t 3.0)))) (log (exp (/ 2.0 (* t 3.0)))))))))
248.0ms
(- (* (* z (sqrt (+ t a))) (+ (* (+ a (/ 5.0 6.0)) (+ a (/ 5.0 6.0))) (+ (* (log (exp (/ 2.0 (* t 3.0)))) (log (exp (/ 2.0 (* t 3.0))))) (* (+ a (/ 5.0 6.0)) (log (exp (/ 2.0 (* t 3.0)))))))) (* t (* (- b c) (- (pow (+ a (/ 5.0 6.0)) 3) (pow (log (exp (/ 2.0 (* t 3.0)))) 3)))))

prune1.9s

Pruning

4 alts after pruning (2 fresh and 2 done)

Merged error: 0b

localize22.0ms

Local error

Found 3 expressions with local error:

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

rewrite7.0ms

Algorithm
rewrite-expression-head
Rules
associate-*r*
add-log-exp
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
exp-sum
add-exp-log
add-cbrt-cube
sub-neg
associate-/r*
pow1
associate-/r/
distribute-lft-in
distribute-rgt-in
flip--
div-inv
flip-+
*-commutative
diff-log
flip3--
flip3-+
frac-2neg
clear-num
Counts
3 → 42
Calls
3 calls:
Slowest
4.0ms
(* y (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a)))))
2.0ms
(- (* 0.8333333333333334 c) (* (- b c) a))
0.0ms
(/ x (+ x (* y (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a)))))))

series237.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
121.0ms
(/ x (+ x (* y (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a)))))))
81.0ms
(* y (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a)))))
35.0ms
(- (* 0.8333333333333334 c) (* (- b c) a))

simplify2.7s

Counts
22 → 51
Calls
22 calls:
Slowest
304.0ms
(+ (* x x) (- (* (* y (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a))))) (* y (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a)))))) (* x (* y (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a))))))))
222.0ms
(exp (* 2.0 (- (* (- b c) a))))
213.0ms
(* (exp (* 2.0 (- (+ (* a c) (* 0.8333333333333334 c)) (* a b)))) y)
204.0ms
(exp (* (- (* (- b c) a)) 2.0))
200.0ms
(exp (* (- (* (- b c) a)) 2.0))

prune870.0ms

Pruning

4 alts after pruning (1 fresh and 3 done)

Merged error: 0b

regimes732.0ms

Accuracy

0% (3.3b remaining)

Error of 3.4b against oracle of 0.1b and baseline of 3.4b

bsearch7.0ms

end0.0ms

sample6.6s

Algorithm
intervals
Results
16129×(pre true 80)
8129×(body nan 80)
8000×(body real 80)