Average Error: 3.6 → 1.5
Time: 49.4s
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 \log \left(e^{(\left(-\left(b - c\right)\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right) + \left(\frac{\sqrt{t + a}}{\frac{t}{z}}\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.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 add-log-exp7.8

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

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

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

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

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

Reproduce

herbie shell --seed 2019010 +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: 48.8s)Debug log

sample244.0ms

Algorithm
intervals

simplify268.0ms

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

prune24.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 4.4b

localize66.0ms

Local error

Found 4 expressions with local error:

3.3b
(/ (* z (sqrt (+ t a))) t)
3.2b
(- (/ (* 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)))

rewrite37.0ms

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

series334.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
202.0ms
(- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))
59.0ms
(* z (sqrt (+ t a)))
59.0ms
(/ (* z (sqrt (+ t a))) t)
13.0ms
(/ 2.0 (* t 3.0))

simplify16.5s

Counts
92 → 124
Calls
92 calls:
Slowest
609.0ms
(* t (* (+ b c) (* (- a (/ 5.0 6.0)) (* t 3.0))))
594.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))))))
570.0ms
(* (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))))) (- b c))
544.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)))))
542.0ms
(* (- b c) (- (/ 2.0 (* t 3.0))))

prune2.7s

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize37.0ms

Local error

Found 4 expressions with local error:

6.6b
(/ (sqrt (+ t a)) (/ t z))
1.6b
(fma (- (- b c)) (- (+ (/ 5.0 6.0) a) (/ 2.0 (* 3.0 t))) (/ (sqrt (+ t a)) (/ t z)))
1.2b
(log (exp (fma (- (- b c)) (- (+ (/ 5.0 6.0) a) (/ 2.0 (* 3.0 t))) (/ (sqrt (+ t a)) (/ t z)))))
0.3b
(/ 2.0 (* 3.0 t))

rewrite8.0ms

Algorithm
rewrite-expression-head
Rules
24×times-frac
23×add-cube-cbrt
23×*-un-lft-identity
23×add-sqr-sqrt
15×sqrt-prod
div-inv
associate-/l*
add-exp-log
add-cbrt-cube
associate-/r*
pow1
add-log-exp
log1p-expm1-u
log-pow
log-prod
expm1-log1p-u
exp-prod
associate-/l/
fma-udef
sqrt-div
frac-2neg
clear-num
flip-+
associate-/r/
exp-sum
rem-log-exp
div-exp
flip3-+
cbrt-undiv
Counts
4 → 92
Calls
4 calls:
Slowest
4.0ms
(/ (sqrt (+ t a)) (/ t z))
2.0ms
(log (exp (fma (- (- b c)) (- (+ (/ 5.0 6.0) a) (/ 2.0 (* 3.0 t))) (/ (sqrt (+ t a)) (/ t z)))))
0.0ms
(/ 2.0 (* 3.0 t))
0.0ms
(fma (- (- b c)) (- (+ (/ 5.0 6.0) a) (/ 2.0 (* 3.0 t))) (/ (sqrt (+ t a)) (/ t z)))

series388.0ms

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

simplify2.4s

Counts
81 → 104
Calls
81 calls:
Slowest
225.0ms
(/ (* (* (sqrt (+ t a)) (sqrt (+ t a))) (sqrt (+ t a))) (* (* (/ t z) (/ t z)) (/ t z)))
224.0ms
(log (sqrt (exp (fma (- (- b c)) (- (+ (/ 5.0 6.0) a) (/ 2.0 (* 3.0 t))) (/ (sqrt (+ t a)) (/ t z))))))
191.0ms
(- (* 0.6666666666666666 (/ b t)) (+ (* 0.6666666666666666 (/ c t)) (* 0.8333333333333334 b)))
182.0ms
(sqrt (fma (- (- b c)) (- (+ (/ 5.0 6.0) a) (/ 2.0 (* 3.0 t))) (/ (sqrt (+ t a)) (/ t z))))
176.0ms
(log (* (cbrt (exp (fma (- (- b c)) (- (+ (/ 5.0 6.0) a) (/ 2.0 (* 3.0 t))) (/ (sqrt (+ t a)) (/ t z))))) (cbrt (exp (fma (- (- b c)) (- (+ (/ 5.0 6.0) a) (/ 2.0 (* 3.0 t))) (/ (sqrt (+ t a)) (/ t z)))))))

prune2.7s

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize22.0ms

Local error

Found 4 expressions with local error:

4.2b
(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.2b
(* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))

rewrite16.0ms

Algorithm
rewrite-expression-head
Rules
24×prod-diff
24×*-un-lft-identity
24×add-sqr-sqrt
22×add-cube-cbrt
15×distribute-lft-in
15×distribute-rgt-in
11×associate-*r*
flip--
flip3--
frac-times
div-inv
frac-sub
add-exp-log
associate-*r/
add-cbrt-cube
pow1
add-log-exp
log1p-expm1-u
flip-+
flip3-+
expm1-log1p-u
sqrt-prod
associate-*l*
*-commutative
associate--l+
associate-*l/
sqrt-div
sub-neg
difference-of-squares
distribute-lft-out--
fma-udef
cbrt-unprod
prod-exp
pow-prod-down
frac-2neg
associate-/r*
clear-num
Counts
4 → 106
Calls
4 calls:
Slowest
12.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))
0.0ms
(fma (* z (sqrt (+ t a))) (/ 1 t) (- (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))

series313.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
177.0ms
(fma (* z (sqrt (+ t a))) (/ 1 t) (- (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))
64.0ms
(* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))
58.0ms
(* z (sqrt (+ t a)))
15.0ms
(/ 2.0 (* t 3.0))

simplify13.2s

Counts
82 → 118
Calls
82 calls:
Slowest
750.0ms
(* (+ (* b b) (+ (* c c) (* b c))) (* (- a (/ 5.0 6.0)) (* t 3.0)))
729.0ms
(* (+ b c) (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (* t 3.0)))
636.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))))))
547.0ms
(* (- (pow b 3) (pow c 3)) (- (* (- (* a a) (* (/ 5.0 6.0) (/ 5.0 6.0))) (* t 3.0)) (* (- a (/ 5.0 6.0)) 2.0)))
487.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 (0 fresh and 2 done)

Merged error: 0b

regimes544.0ms

Accuracy

0% (1.3b remaining)

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

bsearch5.0ms

end0.0ms

sample6.2s

Algorithm
intervals