Average Error: 14.6 → 1.4
Time: 17.6s
Precision: 64
\[x \cdot \frac{\frac{y}{z} \cdot t}{t}\]
\[\begin{array}{l} \mathbf{if}\;\frac{\frac{y}{z} \cdot t}{t} \le -1.132598746854114829512768870270445047675 \cdot 10^{144}:\\ \;\;\;\;\frac{x}{z} \cdot y\\ \mathbf{elif}\;\frac{\frac{y}{z} \cdot t}{t} \le -9.566229803325124100269745305371770265409 \cdot 10^{-252}:\\ \;\;\;\;x \cdot \frac{\frac{y}{z} \cdot t}{t}\\ \mathbf{elif}\;\frac{\frac{y}{z} \cdot t}{t} \le 6.302366347983369041436870740623293996999 \cdot 10^{-316}:\\ \;\;\;\;\left(\sqrt[3]{x} \cdot \left(y \cdot \sqrt[3]{x}\right)\right) \cdot \frac{\sqrt[3]{x}}{z}\\ \mathbf{elif}\;\frac{\frac{y}{z} \cdot t}{t} \le 1.885617898338493029317290072257967706665 \cdot 10^{255}:\\ \;\;\;\;x \cdot \frac{\frac{y}{z} \cdot t}{t}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt[3]{x} \cdot \left(y \cdot \sqrt[3]{x}\right)\right) \cdot \frac{\sqrt[3]{x}}{z}\\ \end{array}\]
x \cdot \frac{\frac{y}{z} \cdot t}{t}
\begin{array}{l}
\mathbf{if}\;\frac{\frac{y}{z} \cdot t}{t} \le -1.132598746854114829512768870270445047675 \cdot 10^{144}:\\
\;\;\;\;\frac{x}{z} \cdot y\\

\mathbf{elif}\;\frac{\frac{y}{z} \cdot t}{t} \le -9.566229803325124100269745305371770265409 \cdot 10^{-252}:\\
\;\;\;\;x \cdot \frac{\frac{y}{z} \cdot t}{t}\\

\mathbf{elif}\;\frac{\frac{y}{z} \cdot t}{t} \le 6.302366347983369041436870740623293996999 \cdot 10^{-316}:\\
\;\;\;\;\left(\sqrt[3]{x} \cdot \left(y \cdot \sqrt[3]{x}\right)\right) \cdot \frac{\sqrt[3]{x}}{z}\\

\mathbf{elif}\;\frac{\frac{y}{z} \cdot t}{t} \le 1.885617898338493029317290072257967706665 \cdot 10^{255}:\\
\;\;\;\;x \cdot \frac{\frac{y}{z} \cdot t}{t}\\

\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{x} \cdot \left(y \cdot \sqrt[3]{x}\right)\right) \cdot \frac{\sqrt[3]{x}}{z}\\

\end{array}
double f(double x, double y, double z, double t) {
        double r4892568 = x;
        double r4892569 = y;
        double r4892570 = z;
        double r4892571 = r4892569 / r4892570;
        double r4892572 = t;
        double r4892573 = r4892571 * r4892572;
        double r4892574 = r4892573 / r4892572;
        double r4892575 = r4892568 * r4892574;
        return r4892575;
}

double f(double x, double y, double z, double t) {
        double r4892576 = y;
        double r4892577 = z;
        double r4892578 = r4892576 / r4892577;
        double r4892579 = t;
        double r4892580 = r4892578 * r4892579;
        double r4892581 = r4892580 / r4892579;
        double r4892582 = -1.1325987468541148e+144;
        bool r4892583 = r4892581 <= r4892582;
        double r4892584 = x;
        double r4892585 = r4892584 / r4892577;
        double r4892586 = r4892585 * r4892576;
        double r4892587 = -9.566229803325124e-252;
        bool r4892588 = r4892581 <= r4892587;
        double r4892589 = r4892584 * r4892581;
        double r4892590 = 6.3023663479834e-316;
        bool r4892591 = r4892581 <= r4892590;
        double r4892592 = cbrt(r4892584);
        double r4892593 = r4892576 * r4892592;
        double r4892594 = r4892592 * r4892593;
        double r4892595 = r4892592 / r4892577;
        double r4892596 = r4892594 * r4892595;
        double r4892597 = 1.885617898338493e+255;
        bool r4892598 = r4892581 <= r4892597;
        double r4892599 = r4892598 ? r4892589 : r4892596;
        double r4892600 = r4892591 ? r4892596 : r4892599;
        double r4892601 = r4892588 ? r4892589 : r4892600;
        double r4892602 = r4892583 ? r4892586 : r4892601;
        return r4892602;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if (/ (* (/ y z) t) t) < -1.1325987468541148e+144

    1. Initial program 37.5

      \[x \cdot \frac{\frac{y}{z} \cdot t}{t}\]
    2. Simplified4.4

      \[\leadsto \color{blue}{y \cdot \frac{x}{z}}\]

    if -1.1325987468541148e+144 < (/ (* (/ y z) t) t) < -9.566229803325124e-252 or 6.3023663479834e-316 < (/ (* (/ y z) t) t) < 1.885617898338493e+255

    1. Initial program 0.7

      \[x \cdot \frac{\frac{y}{z} \cdot t}{t}\]

    if -9.566229803325124e-252 < (/ (* (/ y z) t) t) < 6.3023663479834e-316 or 1.885617898338493e+255 < (/ (* (/ y z) t) t)

    1. Initial program 32.8

      \[x \cdot \frac{\frac{y}{z} \cdot t}{t}\]
    2. Simplified1.6

      \[\leadsto \color{blue}{y \cdot \frac{x}{z}}\]
    3. Using strategy rm
    4. Applied *-un-lft-identity1.6

      \[\leadsto y \cdot \frac{x}{\color{blue}{1 \cdot z}}\]
    5. Applied add-cube-cbrt2.2

      \[\leadsto y \cdot \frac{\color{blue}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}}}{1 \cdot z}\]
    6. Applied times-frac2.2

      \[\leadsto y \cdot \color{blue}{\left(\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{1} \cdot \frac{\sqrt[3]{x}}{z}\right)}\]
    7. Applied associate-*r*1.8

      \[\leadsto \color{blue}{\left(y \cdot \frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{1}\right) \cdot \frac{\sqrt[3]{x}}{z}}\]
    8. Simplified1.8

      \[\leadsto \color{blue}{\left(\left(y \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}\right)} \cdot \frac{\sqrt[3]{x}}{z}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification1.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\frac{y}{z} \cdot t}{t} \le -1.132598746854114829512768870270445047675 \cdot 10^{144}:\\ \;\;\;\;\frac{x}{z} \cdot y\\ \mathbf{elif}\;\frac{\frac{y}{z} \cdot t}{t} \le -9.566229803325124100269745305371770265409 \cdot 10^{-252}:\\ \;\;\;\;x \cdot \frac{\frac{y}{z} \cdot t}{t}\\ \mathbf{elif}\;\frac{\frac{y}{z} \cdot t}{t} \le 6.302366347983369041436870740623293996999 \cdot 10^{-316}:\\ \;\;\;\;\left(\sqrt[3]{x} \cdot \left(y \cdot \sqrt[3]{x}\right)\right) \cdot \frac{\sqrt[3]{x}}{z}\\ \mathbf{elif}\;\frac{\frac{y}{z} \cdot t}{t} \le 1.885617898338493029317290072257967706665 \cdot 10^{255}:\\ \;\;\;\;x \cdot \frac{\frac{y}{z} \cdot t}{t}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt[3]{x} \cdot \left(y \cdot \sqrt[3]{x}\right)\right) \cdot \frac{\sqrt[3]{x}}{z}\\ \end{array}\]

Reproduce

herbie shell --seed 2019169 
(FPCore (x y z t)
  :name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
  (* x (/ (* (/ y z) t) t)))