Average Error: 2.0 → 2.1
Time: 45.8s
Precision: 64
Internal Precision: 128
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
\[\frac{x}{\frac{y}{{e}^{\left(\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}}\]

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 2.0

    \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
  2. Using strategy rm
  3. Applied associate-/l*2.0

    \[\leadsto \color{blue}{\frac{x}{\frac{y}{e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}}}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity2.0

    \[\leadsto \frac{x}{\frac{y}{e^{\color{blue}{1 \cdot \left(\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}}}\]
  6. Applied exp-prod2.1

    \[\leadsto \frac{x}{\frac{y}{\color{blue}{{\left(e^{1}\right)}^{\left(\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}}}\]
  7. Simplified2.1

    \[\leadsto \frac{x}{\frac{y}{{\color{blue}{e}}^{\left(\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}}\]
  8. Final simplification2.1

    \[\leadsto \frac{x}{\frac{y}{{e}^{\left(\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}}\]

Reproduce

herbie shell --seed 2019005 +o rules:numerics
(FPCore (x y z t a b)
  :name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
  (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))

Details

Time bar (total: 44.2s)Debug log

sample803.0ms

Algorithm
intervals

simplify385.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

385.0ms
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)

prune27.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.8b

localize37.0ms

Local error

Found 4 expressions with local error:

2.4b
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)
0.9b
(exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
0.2b
(* y (log z))
0.1b
(* (- t 1.0) (log a))

rewrite81.0ms

Algorithm
rewrite-expression-head
Counts
4 → 65
Calls

4 calls. Slowest were:

45.0ms
(exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
25.0ms
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)
8.0ms
(* (- t 1.0) (log a))

series444.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

190.0ms
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)
132.0ms
(exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
71.0ms
(* (- t 1.0) (log a))
51.0ms
(* y (log z))

simplify3.3s

Counts
34 → 77
Calls

34 calls. Slowest were:

377.0ms
(- (+ (* t (log -1)) (* 1.0 (log (/ -1 a)))) (+ (* t (log (/ -1 a))) (* 1.0 (log -1))))
263.0ms
(+ (* t (* (log a) (exp (- (* 1.0 (log a)))))) (+ (exp (- (* 1.0 (log a)))) (* (log z) (* (exp (- (* 1.0 (log a)))) y))))
235.0ms
(* (- (* t t) (* 1.0 1.0)) (log a))

prune1.3s

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.1b

localize12.0ms

Local error

Found 4 expressions with local error:

1.0b
(/ x (/ y (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))))
0.9b
(exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
0.2b
(* y (log z))
0.1b
(* (- t 1.0) (log a))

rewrite32.0ms

Algorithm
rewrite-expression-head
Counts
4 → 69
Calls

4 calls. Slowest were:

24.0ms
(exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
4.0ms
(* (- t 1.0) (log a))
2.0ms
(/ x (/ y (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))))

series431.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

198.0ms
(/ x (/ y (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))))
120.0ms
(exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
59.0ms
(* (- t 1.0) (log a))
53.0ms
(* y (log z))

simplify4.2s

Counts
39 → 81
Calls

39 calls. Slowest were:

330.0ms
(exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
299.0ms
(- (+ (* t (log -1)) (* 1.0 (log (/ -1 a)))) (+ (* t (log (/ -1 a))) (* 1.0 (log -1))))
289.0ms
(+ (* t (* (log a) (exp (- (* 1.0 (log a)))))) (+ (exp (- (* 1.0 (log a)))) (* (log z) (* (exp (- (* 1.0 (log a)))) y))))

prune1.4s

Pruning

3 alts after pruning (3 fresh and 0 done)

Merged error: 0.0b

localize21.0ms

Local error

Found 4 expressions with local error:

1.0b
(/ x (/ y (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))))
0.9b
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
0.2b
(* y (log z))
0.1b
(* (- t 1.0) (log a))

rewrite31.0ms

Algorithm
rewrite-expression-head
Counts
4 → 69
Calls

4 calls. Slowest were:

14.0ms
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
8.0ms
(* (- t 1.0) (log a))
5.0ms
(/ x (/ y (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))))

series448.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

243.0ms
(/ x (/ y (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))))
111.0ms
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
56.0ms
(* (- t 1.0) (log a))
38.0ms
(* y (log z))

simplify4.0s

Counts
38 → 81
Calls

38 calls. Slowest were:

537.0ms
(* (* (* (- t 1.0) (- t 1.0)) (- t 1.0)) (* (* (log a) (log a)) (log a)))
296.0ms
(+ (* t (* (log a) (exp (- (* 1.0 (log a)))))) (+ (exp (- (* 1.0 (log a)))) (* (log z) (* (exp (- (* 1.0 (log a)))) y))))
282.0ms
(- (+ (* t (log -1)) (* 1.0 (log (/ -1 a)))) (+ (* t (log (/ -1 a))) (* 1.0 (log -1))))

prune1.4s

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0.0b

localize48.0ms

Local error

Found 4 expressions with local error:

1.0b
(/ x (/ y (* (* (pow a (- 1.0)) (pow z y)) (exp (fma t (log a) (- b))))))
0.3b
(* (* (pow a (- 1.0)) (pow z y)) (exp (fma t (log a) (- b))))
0.1b
(fma t (log a) (- b))
0.0b
(/ y (* (* (pow a (- 1.0)) (pow z y)) (exp (fma t (log a) (- b)))))

rewrite30.0ms

Algorithm
rewrite-expression-head
Counts
4 → 69
Calls

4 calls. Slowest were:

16.0ms
(* (* (pow a (- 1.0)) (pow z y)) (exp (fma t (log a) (- b))))
9.0ms
(/ y (* (* (pow a (- 1.0)) (pow z y)) (exp (fma t (log a) (- b)))))
5.0ms
(/ x (/ y (* (* (pow a (- 1.0)) (pow z y)) (exp (fma t (log a) (- b))))))

series1.1s

Counts
4 → 12
Calls

4 calls. Slowest were:

497.0ms
(/ x (/ y (* (* (pow a (- 1.0)) (pow z y)) (exp (fma t (log a) (- b))))))
316.0ms
(* (* (pow a (- 1.0)) (pow z y)) (exp (fma t (log a) (- b))))
247.0ms
(/ y (* (* (pow a (- 1.0)) (pow z y)) (exp (fma t (log a) (- b)))))
81.0ms
(fma t (log a) (- b))

simplify5.6s

Counts
37 → 81
Calls

37 calls. Slowest were:

420.0ms
(+ (+ (* (log a) (- 1.0)) (log (pow z y))) (fma t (log a) (- b)))
375.0ms
(+ (+ (* (log a) (- 1.0)) (* (log z) y)) (fma t (log a) (- b)))
374.0ms
(* (* (* (* (pow a (- 1.0)) (pow a (- 1.0))) (pow a (- 1.0))) (* (* (pow z y) (pow z y)) (pow z y))) (* (* (exp (fma t (log a) (- b))) (exp (fma t (log a) (- b)))) (exp (fma t (log a) (- b)))))

prune1.4s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0b

regimes1.1s

Accuracy

0% (2.1b remaining)

Error of 2.1b against oracle of 0.0b and baseline of 2.1b

bsearch3.0ms

end0.0ms

sample16.7s

Algorithm
intervals