Average Error: 2.0 → 0.3
Time: 1.5m
Precision: 64
Internal Precision: 576
\[\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}\;\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}{y} \le -4.730621927954379 \cdot 10^{-185}:\\ \;\;\;\;\frac{\left(x \cdot {z}^{y}\right) \cdot {a}^{\left(t - 1.0\right)}}{y \cdot e^{b}}\\ \mathbf{elif}\;\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}{y} \le 1.1804718857793468 \cdot 10^{-299}:\\ \;\;\;\;\frac{x}{\frac{y}{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(x \cdot {z}^{y}\right) \cdot {a}^{\left(t - 1.0\right)}}{y \cdot e^{b}}\\ \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 (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) < -4.730621927954379e-185 or 1.1804718857793468e-299 < (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)

    1. Initial program 6.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 exp-diff6.0

      \[\leadsto \frac{x \cdot \color{blue}{\frac{e^{y \cdot \log z + \left(t - 1.0\right) \cdot \log a}}{e^{b}}}}{y}\]
    4. Applied associate-*r/6.0

      \[\leadsto \frac{\color{blue}{\frac{x \cdot e^{y \cdot \log z + \left(t - 1.0\right) \cdot \log a}}{e^{b}}}}{y}\]
    5. Applied associate-/l/6.0

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

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

    if -4.730621927954379e-185 < (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) < 1.1804718857793468e-299

    1. Initial program 1.3

      \[\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*0.2

      \[\leadsto \color{blue}{\frac{x}{\frac{y}{e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}{y} \le -4.730621927954379 \cdot 10^{-185}:\\ \;\;\;\;\frac{\left(x \cdot {z}^{y}\right) \cdot {a}^{\left(t - 1.0\right)}}{y \cdot e^{b}}\\ \mathbf{elif}\;\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}{y} \le 1.1804718857793468 \cdot 10^{-299}:\\ \;\;\;\;\frac{x}{\frac{y}{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(x \cdot {z}^{y}\right) \cdot {a}^{\left(t - 1.0\right)}}{y \cdot e^{b}}\\ \end{array}\]

Runtime

Time bar (total: 1.5m)Debug logProfile

herbie shell --seed 2018216 
(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))