Average Error: 14.0 → 2.3
Time: 3.3s
Precision: 64
\[x \cdot \frac{\frac{y}{z} \cdot t}{t}\]
\[\begin{array}{l} \mathbf{if}\;\frac{y}{z} \le -1.45613981804384912 \cdot 10^{278}:\\ \;\;\;\;{\left(\frac{x \cdot y}{z}\right)}^{1}\\ \mathbf{elif}\;\frac{y}{z} \le -5.31650938160314506 \cdot 10^{-21}:\\ \;\;\;\;x \cdot \frac{y}{z}\\ \mathbf{elif}\;\frac{y}{z} \le 3.3409790596422747 \cdot 10^{-221}:\\ \;\;\;\;{\left(\frac{x \cdot y}{z}\right)}^{1}\\ \mathbf{elif}\;\frac{y}{z} \le 7.8490367773301062 \cdot 10^{81}:\\ \;\;\;\;{\left(\frac{x}{\frac{z}{y}}\right)}^{1}\\ \mathbf{else}:\\ \;\;\;\;{\left(\frac{x \cdot y}{z}\right)}^{1}\\ \end{array}\]
x \cdot \frac{\frac{y}{z} \cdot t}{t}
\begin{array}{l}
\mathbf{if}\;\frac{y}{z} \le -1.45613981804384912 \cdot 10^{278}:\\
\;\;\;\;{\left(\frac{x \cdot y}{z}\right)}^{1}\\

\mathbf{elif}\;\frac{y}{z} \le -5.31650938160314506 \cdot 10^{-21}:\\
\;\;\;\;x \cdot \frac{y}{z}\\

\mathbf{elif}\;\frac{y}{z} \le 3.3409790596422747 \cdot 10^{-221}:\\
\;\;\;\;{\left(\frac{x \cdot y}{z}\right)}^{1}\\

\mathbf{elif}\;\frac{y}{z} \le 7.8490367773301062 \cdot 10^{81}:\\
\;\;\;\;{\left(\frac{x}{\frac{z}{y}}\right)}^{1}\\

\mathbf{else}:\\
\;\;\;\;{\left(\frac{x \cdot y}{z}\right)}^{1}\\

\end{array}
double f(double x, double y, double z, double t) {
        double r84346 = x;
        double r84347 = y;
        double r84348 = z;
        double r84349 = r84347 / r84348;
        double r84350 = t;
        double r84351 = r84349 * r84350;
        double r84352 = r84351 / r84350;
        double r84353 = r84346 * r84352;
        return r84353;
}

double f(double x, double y, double z, double __attribute__((unused)) t) {
        double r84354 = y;
        double r84355 = z;
        double r84356 = r84354 / r84355;
        double r84357 = -1.456139818043849e+278;
        bool r84358 = r84356 <= r84357;
        double r84359 = x;
        double r84360 = r84359 * r84354;
        double r84361 = r84360 / r84355;
        double r84362 = 1.0;
        double r84363 = pow(r84361, r84362);
        double r84364 = -5.316509381603145e-21;
        bool r84365 = r84356 <= r84364;
        double r84366 = r84359 * r84356;
        double r84367 = 3.3409790596422747e-221;
        bool r84368 = r84356 <= r84367;
        double r84369 = 7.849036777330106e+81;
        bool r84370 = r84356 <= r84369;
        double r84371 = r84355 / r84354;
        double r84372 = r84359 / r84371;
        double r84373 = pow(r84372, r84362);
        double r84374 = r84370 ? r84373 : r84363;
        double r84375 = r84368 ? r84363 : r84374;
        double r84376 = r84365 ? r84366 : r84375;
        double r84377 = r84358 ? r84363 : r84376;
        return r84377;
}

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) < -1.456139818043849e+278 or -5.316509381603145e-21 < (/ y z) < 3.3409790596422747e-221 or 7.849036777330106e+81 < (/ y z)

    1. Initial program 18.6

      \[x \cdot \frac{\frac{y}{z} \cdot t}{t}\]
    2. Simplified10.7

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

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

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

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

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

      \[\leadsto \color{blue}{\left(\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot x\right)} \cdot \frac{\sqrt[3]{y}}{z}\]
    9. Using strategy rm
    10. Applied pow14.8

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

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

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

      \[\leadsto \left(\left(\color{blue}{{\left(\sqrt[3]{y}\right)}^{1}} \cdot {\left(\sqrt[3]{y}\right)}^{1}\right) \cdot {x}^{1}\right) \cdot {\left(\frac{\sqrt[3]{y}}{z}\right)}^{1}\]
    14. Applied pow-prod-down4.8

      \[\leadsto \left(\color{blue}{{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)}^{1}} \cdot {x}^{1}\right) \cdot {\left(\frac{\sqrt[3]{y}}{z}\right)}^{1}\]
    15. Applied pow-prod-down4.8

      \[\leadsto \color{blue}{{\left(\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot x\right)}^{1}} \cdot {\left(\frac{\sqrt[3]{y}}{z}\right)}^{1}\]
    16. Applied pow-prod-down4.8

      \[\leadsto \color{blue}{{\left(\left(\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot x\right) \cdot \frac{\sqrt[3]{y}}{z}\right)}^{1}}\]
    17. Simplified3.9

      \[\leadsto {\color{blue}{\left(\frac{x \cdot y}{z}\right)}}^{1}\]

    if -1.456139818043849e+278 < (/ y z) < -5.316509381603145e-21

    1. Initial program 10.4

      \[x \cdot \frac{\frac{y}{z} \cdot t}{t}\]
    2. Simplified0.3

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

    if 3.3409790596422747e-221 < (/ y z) < 7.849036777330106e+81

    1. Initial program 6.3

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

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

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

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

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

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

      \[\leadsto \color{blue}{\left(\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot x\right)} \cdot \frac{\sqrt[3]{y}}{z}\]
    9. Using strategy rm
    10. Applied pow16.8

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

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

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

      \[\leadsto \left(\left(\color{blue}{{\left(\sqrt[3]{y}\right)}^{1}} \cdot {\left(\sqrt[3]{y}\right)}^{1}\right) \cdot {x}^{1}\right) \cdot {\left(\frac{\sqrt[3]{y}}{z}\right)}^{1}\]
    14. Applied pow-prod-down6.8

      \[\leadsto \left(\color{blue}{{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)}^{1}} \cdot {x}^{1}\right) \cdot {\left(\frac{\sqrt[3]{y}}{z}\right)}^{1}\]
    15. Applied pow-prod-down6.8

      \[\leadsto \color{blue}{{\left(\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot x\right)}^{1}} \cdot {\left(\frac{\sqrt[3]{y}}{z}\right)}^{1}\]
    16. Applied pow-prod-down6.8

      \[\leadsto \color{blue}{{\left(\left(\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot x\right) \cdot \frac{\sqrt[3]{y}}{z}\right)}^{1}}\]
    17. Simplified10.7

      \[\leadsto {\color{blue}{\left(\frac{x \cdot y}{z}\right)}}^{1}\]
    18. Using strategy rm
    19. Applied associate-/l*0.2

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{y}{z} \le -1.45613981804384912 \cdot 10^{278}:\\ \;\;\;\;{\left(\frac{x \cdot y}{z}\right)}^{1}\\ \mathbf{elif}\;\frac{y}{z} \le -5.31650938160314506 \cdot 10^{-21}:\\ \;\;\;\;x \cdot \frac{y}{z}\\ \mathbf{elif}\;\frac{y}{z} \le 3.3409790596422747 \cdot 10^{-221}:\\ \;\;\;\;{\left(\frac{x \cdot y}{z}\right)}^{1}\\ \mathbf{elif}\;\frac{y}{z} \le 7.8490367773301062 \cdot 10^{81}:\\ \;\;\;\;{\left(\frac{x}{\frac{z}{y}}\right)}^{1}\\ \mathbf{else}:\\ \;\;\;\;{\left(\frac{x \cdot y}{z}\right)}^{1}\\ \end{array}\]

Reproduce

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