Average Error: 3.9 → 3.3
Time: 1.5m
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 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 associate-/l*3.3

    \[\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.3

    \[\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 2019002 
(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: 1.5m)Debug log

sample236.0ms

Algorithm
intervals

simplify290.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune23.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 1.2b

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

rewrite21.0ms

Algorithm
rewrite-expression-head
Counts
4 → 72
Calls

4 calls. Slowest were:

11.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)
4.0ms
(* z (sqrt (+ t a)))

series278.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

146.0ms
(- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
66.0ms
(/ (* z (sqrt (+ t a))) t)
55.0ms
(* z (sqrt (+ t a)))
11.0ms
(/ 2.0 (* t 3.0))

simplify8.0s

Counts
57 → 84
Calls

57 calls. Slowest were:

581.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)))))
538.0ms
(* t (* (+ b c) (* (- a (/ 5.0 6.0)) (* t 3.0))))
513.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)))))

prune1.9s

Pruning

3 alts after pruning (3 fresh and 0 done)

Merged error: 0.0b

localize29.0ms

Local error

Found 4 expressions with local error:

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

rewrite22.0ms

Algorithm
rewrite-expression-head
Counts
4 → 78
Calls

4 calls. Slowest were:

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

series279.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

166.0ms
(- (/ z (/ t (sqrt (+ t a)))) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
57.0ms
(/ t (sqrt (+ t a)))
43.0ms
(/ z (/ t (sqrt (+ t a))))
13.0ms
(/ 2.0 (* t 3.0))

simplify8.6s

Counts
62 → 90
Calls

62 calls. Slowest were:

523.0ms
(* (/ t (sqrt (+ t a))) (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (* t 3.0)))
495.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)))))
367.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.2s

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0.0b

localize49.0ms

Local error

Found 4 expressions with local error:

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

rewrite28.0ms

Algorithm
rewrite-expression-head
Counts
4 → 79
Calls

4 calls. Slowest were:

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

series252.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

154.0ms
(- (/ z (log (exp (/ t (sqrt (+ t a)))))) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
44.0ms
(log (exp (/ t (sqrt (+ t a)))))
41.0ms
(/ t (sqrt (+ t a)))
13.0ms
(/ 2.0 (* t 3.0))

simplify8.2s

Counts
64 → 91
Calls

64 calls. Slowest were:

656.0ms
(- (* z (* (+ (* b b) (+ (* c c) (* b c))) (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (* t 3.0)))) (* (log (exp (/ t (sqrt (+ t a))))) (* (- (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)))))
510.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))))))) (* (log (exp (/ t (sqrt (+ t a))))) (* (- (pow b 3) (pow c 3)) (- (pow (+ a (/ 5.0 6.0)) 3) (pow (/ 2.0 (* t 3.0)) 3)))))
486.0ms
(* (log (exp (/ t (sqrt (+ t a))))) (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (* t 3.0)))

prune2.2s

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0.0b

localize80.0ms

Local error

Found 4 expressions with local error:

25.9b
(/ (- (* (- 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.9b
(/ (* t (- b c)) (sqrt (+ a t)))
5.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)))))
4.9b
(* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t))))

rewrite184.0ms

Algorithm
rewrite-expression-head
Counts
4 → 192
Calls

4 calls. Slowest were:

73.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)) (* 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))))
37.0ms
(* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t))))

series2.6s

Counts
4 → 12
Calls

4 calls. Slowest were:

1.4s
(/ (- (* (- 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))))
841.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)))))
231.0ms
(* (* (- a (/ 5.0 6.0)) (- (* (* 3.0 t) (+ a (/ 5.0 6.0))) 2.0)) (/ (* t (- b c)) (sqrt (+ a t))))
121.0ms
(/ (* t (- b c)) (sqrt (+ a t)))

simplify42.3s

Counts
216 → 204
Calls

216 calls. Slowest were:

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

prune6.4s

Pruning

3 alts after pruning (0 fresh and 3 done)

Merged error: 0.0b

regimes608.0ms

Accuracy

0% (2.9b remaining)

Error of 3.3b against oracle of 0.4b and baseline of 3.3b

bsearch4.0ms

end0.0ms

sample6.2s

Algorithm
intervals