Average Error: 1.9 → 1.9
Time: 51.6s
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}\]
\[\left({e}^{\left(\left(\log z \cdot y + \left(t - 1.0\right) \cdot \log a\right) - b\right)} \cdot x\right) \cdot \frac{1}{y}\]

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 1.9

    \[\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 *-un-lft-identity1.9

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

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

    \[\leadsto \frac{x \cdot {\color{blue}{e}}^{\left(\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}{y}\]
  6. Using strategy rm
  7. Applied div-inv1.9

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

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

Reproduce

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

sample683.0ms

Algorithm
intervals
Results
1878×(pre true 80)
1417×(body nan 80)
461×(body real 80)

simplify644.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
644.0ms
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)

prune20.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.1b

localize49.0ms

Local error

Found 4 expressions with local error:

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

rewrite65.0ms

Algorithm
rewrite-expression-head
Rules
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-exp-log
associate-*r*
add-cbrt-cube
pow1
add-log-exp
exp-sum
associate-*l*
exp-prod
*-commutative
associate-*l/
exp-diff
associate-/l/
rem-exp-log
associate-/l*
flip--
div-inv
cbrt-unprod
associate-*r/
associate--l+
prod-exp
pow-prod-down
flip3--
frac-2neg
sub-neg
clear-num
Counts
4 → 57
Calls
4 calls:
Slowest
41.0ms
(exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
14.0ms
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)
8.0ms
(* (- t 1.0) (log a))
1.0ms
(* y (log z))

series439.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
218.0ms
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)
126.0ms
(exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
62.0ms
(* (- t 1.0) (log a))
33.0ms
(* y (log z))

simplify2.8s

Counts
34 → 69
Calls
34 calls:
Slowest
386.0ms
(+ (* t (* (log a) (exp (- (* 1.0 (log a)))))) (+ (exp (- (* 1.0 (log a)))) (* (log z) (* (exp (- (* 1.0 (log a)))) y))))
234.0ms
(- (+ (* t (log -1)) (* 1.0 (log (/ -1 a)))) (+ (* t (log (/ -1 a))) (* 1.0 (log -1))))
207.0ms
(+ (/ (* x (exp (- (* 1.0 (log a))))) y) (+ (* x (* (log z) (exp (- (* 1.0 (log a)))))) (/ (* t (* x (* (log a) (exp (- (* 1.0 (log a))))))) y)))
204.0ms
(/ (* x (exp (- (* 1.0 (log (/ 1 a))) (+ (* (log (/ 1 z)) y) (+ b (* t (log (/ 1 a)))))))) y)
154.0ms
(exp (sqrt (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)))

prune1.1s

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.0b

localize21.0ms

Local error

Found 4 expressions with local error:

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

rewrite36.0ms

Algorithm
rewrite-expression-head
Rules
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-exp-log
associate-*r*
add-cbrt-cube
pow1
add-log-exp
associate-*l*
pow-unpow
unpow-prod-up
pow-sub
*-commutative
associate-*l/
associate-/l/
associate-/l*
flip--
div-inv
cbrt-unprod
associate-*r/
associate--l+
prod-exp
pow-prod-down
flip3--
frac-2neg
sub-neg
clear-num
pow-to-exp
Counts
4 → 57
Calls
4 calls:
Slowest
14.0ms
(/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)
12.0ms
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
8.0ms
(* (- t 1.0) (log a))
2.0ms
(* y (log z))

series482.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
224.0ms
(/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)
157.0ms
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
69.0ms
(* (- t 1.0) (log a))
32.0ms
(* y (log z))

simplify2.5s

Counts
33 → 69
Calls
33 calls:
Slowest
318.0ms
(+ (* t (* (log a) (exp (- (* 1.0 (log a)))))) (+ (exp (- (* 1.0 (log a)))) (* (log z) (* (exp (- (* 1.0 (log a)))) y))))
260.0ms
(- (+ (* t (log -1)) (* 1.0 (log (/ -1 a)))) (+ (* t (log (/ -1 a))) (* 1.0 (log -1))))
198.0ms
(* (* (* (- t 1.0) (- t 1.0)) (- t 1.0)) (* (* (log a) (log a)) (log a)))
182.0ms
(sqrt (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
180.0ms
(+ (/ (* x (exp (- (* 1.0 (log a))))) y) (+ (* x (* (log z) (exp (- (* 1.0 (log a)))))) (/ (* t (* x (* (log a) (exp (- (* 1.0 (log a))))))) y)))

prune1.1s

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.0b

localize13.0ms

Local error

Found 4 expressions with local error:

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

rewrite54.0ms

Algorithm
rewrite-expression-head
Rules
10×associate-*r*
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-exp-log
add-cbrt-cube
pow1
add-log-exp
associate-*l*
pow-sub
*-commutative
associate-*r/
associate-*l/
pow-unpow
unpow-prod-up
cbrt-unprod
prod-exp
pow-prod-down
flip--
div-inv
un-div-inv
associate--l+
flip3--
sub-neg
pow-to-exp
frac-times
Counts
4 → 65
Calls
4 calls:
Slowest
31.0ms
(* (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) (/ 1 y))
12.0ms
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
8.0ms
(* (- t 1.0) (log a))
2.0ms
(* y (log z))

series416.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
189.0ms
(* (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) (/ 1 y))
137.0ms
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
57.0ms
(* (- t 1.0) (log a))
32.0ms
(* y (log z))

simplify3.4s

Counts
42 → 77
Calls
42 calls:
Slowest
475.0ms
(* (* (* (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)))) (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)))) (* (* (/ 1 y) (/ 1 y)) (/ 1 y)))
334.0ms
(+ (* t (* (log a) (exp (- (* 1.0 (log a)))))) (+ (exp (- (* 1.0 (log a)))) (* (log z) (* (exp (- (* 1.0 (log a)))) y))))
300.0ms
(+ (log (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)))) (log (/ 1 y)))
230.0ms
(- (+ (* t (log -1)) (* 1.0 (log (/ -1 a)))) (+ (* t (log (/ -1 a))) (* 1.0 (log -1))))
177.0ms
(* (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) (/ 1 y))

prune1.2s

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.0b

localize33.0ms

Local error

Found 4 expressions with local error:

0.8b
(* (* x (* (* (pow z y) (exp (- b))) (* (pow a t) (pow a (- 1.0))))) (/ 1 y))
0.7b
(* (* (pow z y) (exp (- b))) (* (pow a t) (pow a (- 1.0))))
0.2b
(* (pow z y) (exp (- b)))
0.0b
(* x (* (* (pow z y) (exp (- b))) (* (pow a t) (pow a (- 1.0)))))

rewrite133.0ms

Algorithm
rewrite-expression-head
Rules
124×associate-*r/
51×frac-times
40×prod-exp
34×un-div-inv
34×exp-neg
33×neg-sub0
32×add-exp-log
32×pow-neg
27×associate-*l/
20×add-cbrt-cube
18×pow-to-exp
17×exp-diff
16×pow-sub
10×cbrt-unprod
associate-*r*
pow1
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
associate-*l*
add-log-exp
*-commutative
pow-prod-down
div-inv
Counts
4 → 137
Calls
4 calls:
Slowest
48.0ms
(* (* x (* (* (pow z y) (exp (- b))) (* (pow a t) (pow a (- 1.0))))) (/ 1 y))
44.0ms
(* x (* (* (pow z y) (exp (- b))) (* (pow a t) (pow a (- 1.0)))))
27.0ms
(* (* (pow z y) (exp (- b))) (* (pow a t) (pow a (- 1.0))))
10.0ms
(* (pow z y) (exp (- b)))

series1.4s

Counts
4 → 12
Calls
4 calls:
Slowest
548.0ms
(* (* x (* (* (pow z y) (exp (- b))) (* (pow a t) (pow a (- 1.0))))) (/ 1 y))
407.0ms
(* x (* (* (pow z y) (exp (- b))) (* (pow a t) (pow a (- 1.0)))))
347.0ms
(* (* (pow z y) (exp (- b))) (* (pow a t) (pow a (- 1.0))))
61.0ms
(* (pow z y) (exp (- b)))

simplify13.7s

Counts
137 → 149
Calls
137 calls:
Slowest
407.0ms
(* (* x (* (* (pow z y) (exp (- b))) (* (pow a t) (pow a (- 1.0))))) (/ 1 y))
353.0ms
(* (* x (* (pow z y) (* (pow a t) 1))) (/ 1 y))
351.0ms
(* (* x (* (* (pow z y) (exp 0)) (* (pow a t) 1))) (/ 1 y))
345.0ms
(+ (log (* (pow z y) (exp (- b)))) (+ (log (pow a t)) (* (log a) (- 1.0))))
339.0ms
(* (* x (* (pow z y) (* (pow a t) (pow a 0)))) (/ 1 y))

prune2.6s

Pruning

6 alts after pruning (4 fresh and 2 done)

Merged error: 0.0b

regimes925.0ms

Accuracy

0% (1.9b remaining)

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

bsearch4.0ms

end0.0ms

sample17.0s

Algorithm
intervals
Results
61331×(pre true 80)
46087×(body nan 80)
15244×(body real 80)