Average Error: 1.8 → 5.0
Time: 56.0s
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}\]
\[\begin{array}{l} \mathbf{if}\;b \le -3.305859051545688 \cdot 10^{-74} \lor \neg \left(b \le 1.0250610450472451 \cdot 10^{-16}\right):\\ \;\;\;\;\sqrt[3]{\frac{x \cdot {e}^{\left(\left(\log z \cdot y + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}{y} \cdot \left(\frac{x \cdot {e}^{\left(\left(\log z \cdot y + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}{y} \cdot \frac{x \cdot {e}^{\left(\left(\log z \cdot y + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}{y}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot \frac{\frac{{a}^{t} \cdot {z}^{y}}{{a}^{1.0}}}{e^{b}}}{y}\\ \end{array}\]

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. Split input into 2 regimes
  2. if b < -3.305859051545688e-74 or 1.0250610450472451e-16 < b

    1. Initial program 0.6

      \[\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-identity0.6

      \[\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-prod0.6

      \[\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. Simplified0.6

      \[\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 add-cbrt-cube1.8

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

    if -3.305859051545688e-74 < b < 1.0250610450472451e-16

    1. Initial program 3.4

      \[\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 exp-diff3.4

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

      \[\leadsto \frac{x \cdot \frac{\color{blue}{{a}^{\left(t - 1.0\right)} \cdot {z}^{y}}}{e^{b}}}{y}\]
    5. Using strategy rm
    6. Applied pow-sub9.1

      \[\leadsto \frac{x \cdot \frac{\color{blue}{\frac{{a}^{t}}{{a}^{1.0}}} \cdot {z}^{y}}{e^{b}}}{y}\]
    7. Applied associate-*l/9.1

      \[\leadsto \frac{x \cdot \frac{\color{blue}{\frac{{a}^{t} \cdot {z}^{y}}{{a}^{1.0}}}}{e^{b}}}{y}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification5.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -3.305859051545688 \cdot 10^{-74} \lor \neg \left(b \le 1.0250610450472451 \cdot 10^{-16}\right):\\ \;\;\;\;\sqrt[3]{\frac{x \cdot {e}^{\left(\left(\log z \cdot y + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}{y} \cdot \left(\frac{x \cdot {e}^{\left(\left(\log z \cdot y + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}{y} \cdot \frac{x \cdot {e}^{\left(\left(\log z \cdot y + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}{y}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot \frac{\frac{{a}^{t} \cdot {z}^{y}}{{a}^{1.0}}}{e^{b}}}{y}\\ \end{array}\]

Reproduce

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

start969.0ms

Algorithm
intervals

setup428.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.3b

localize43.0ms

Local error

Found 4 expressions with local error:

1.2b
(exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
0.8b
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)
0.3b
(* y (log z))
0.1b
(* (- t 1.0) (log a))

rewrite62.0ms

Algorithm
rewrite-expression-head
Counts
4 → 57
Calls

4 calls. Slowest were:

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

series430.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

202.0ms
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)
123.0ms
(exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
56.0ms
(* (- t 1.0) (log a))
50.0ms
(* y (log z))

simplify3.4s

Counts
34 → 69
Calls

34 calls. Slowest were:

413.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)))
386.0ms
(exp (- (* 1.0 (log (/ 1 a))) (+ (* (log (/ 1 z)) y) (+ b (* t (log (/ 1 a)))))))
233.0ms
(* (* (* (- t 1.0) (- t 1.0)) (- t 1.0)) (* (* (log a) (log a)) (log a)))

prune1.3s

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0.0b

localize21.0ms

Local error

Found 4 expressions with local error:

1.2b
(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))) y)
0.3b
(* y (log z))
0.1b
(* (- t 1.0) (log a))

rewrite36.0ms

Algorithm
rewrite-expression-head
Counts
4 → 57
Calls

4 calls. Slowest were:

13.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))
7.0ms
(* (- t 1.0) (log a))

series421.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

195.0ms
(/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)
145.0ms
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
48.0ms
(* (- t 1.0) (log a))
32.0ms
(* y (log z))

simplify2.8s

Counts
33 → 69
Calls

33 calls. Slowest were:

419.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)))
351.0ms
(exp (- (* 1.0 (log (/ 1 a))) (+ (* (log (/ 1 z)) y) (+ b (* t (log (/ 1 a)))))))
250.0ms
(- (+ (* t (log -1)) (* 1.0 (log (/ -1 a)))) (+ (* t (log (/ -1 a))) (* 1.0 (log -1))))

prune1.2s

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0.0b

localize23.0ms

Local error

Found 4 expressions with local error:

8.5b
(cbrt (* (* (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)) (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)))
1.2b
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
1.2b
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
1.2b
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))

rewrite64.0ms

Algorithm
rewrite-expression-head
Counts
4 → 62
Calls

4 calls. Slowest were:

27.0ms
(cbrt (* (* (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)) (/ (* 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))
12.0ms
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))

series660.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

233.0ms
(cbrt (* (* (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)) (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)))
152.0ms
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
145.0ms
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))
131.0ms
(pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))

simplify6.7s

Counts
42 → 74
Calls

42 calls. Slowest were:

395.0ms
(exp (- (* 1.0 (log (/ 1 a))) (+ (* (log (/ 1 z)) y) (+ b (* t (log (/ 1 a)))))))
394.0ms
(pow E (- (* (- t 1.0) (log a)) b))
393.0ms
(exp (- (* 1.0 (log (/ 1 a))) (+ (* (log (/ 1 z)) y) (+ b (* t (log (/ 1 a)))))))

prune1.5s

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.0b

localize36.0ms

Local error

Found 4 expressions with local error:

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

rewrite15.0ms

Algorithm
rewrite-expression-head
Counts
4 → 73
Calls

4 calls. Slowest were:

6.0ms
(/ (* (pow a (- t 1.0)) (pow z y)) (exp b))
4.0ms
(* (pow a (- t 1.0)) (pow z y))
4.0ms
(/ (* x (/ (* (pow a (- t 1.0)) (pow z y)) (exp b))) y)

series706.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

267.0ms
(/ (* x (/ (* (pow a (- t 1.0)) (pow z y)) (exp b))) y)
210.0ms
(/ (* (pow a (- t 1.0)) (pow z y)) (exp b))
154.0ms
(* (pow a (- t 1.0)) (pow z y))
75.0ms
(pow a (- t 1.0))

simplify4.7s

Counts
50 → 85
Calls

50 calls. Slowest were:

578.0ms
(/ (* (* (* (pow a (- t 1.0)) (pow z y)) (* (pow a (- t 1.0)) (pow z y))) (* (pow a (- t 1.0)) (pow z y))) (* (* (exp b) (exp b)) (exp b)))
470.0ms
(/ (* (* (* (pow a (- t 1.0)) (pow a (- t 1.0))) (pow a (- t 1.0))) (* (* (pow z y) (pow z y)) (pow z y))) (* (* (exp b) (exp b)) (exp b)))
422.0ms
(+ (* 1/2 (* (pow (/ 1 (pow a 1.0)) 1.0) (* (pow t 2) (pow (log a) 2)))) (+ (pow a -1.0) (* (pow (/ 1 (pow a 1.0)) 1.0) (* t (log a)))))

prune1.0s

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0b

regimes983.0ms

Accuracy

20% (5.0b remaining)

Error of 5.0b against oracle of 0.0b and baseline of 6.3b

bsearch1.5s