Average Error: 0.1 → 0
Time: 21.7s
Precision: 64
\[-\left(\left(az - dz\right) - \frac{vz}{vx} \cdot \left(ax - dx\right)\right)\]
\[\left(\sqrt[3]{vz} \cdot \sqrt[3]{vz}\right) \cdot \left(\frac{\sqrt[3]{vz}}{vx} \cdot \left(ax - dx\right)\right) - \left(az - dz\right)\]
-\left(\left(az - dz\right) - \frac{vz}{vx} \cdot \left(ax - dx\right)\right)
\left(\sqrt[3]{vz} \cdot \sqrt[3]{vz}\right) \cdot \left(\frac{\sqrt[3]{vz}}{vx} \cdot \left(ax - dx\right)\right) - \left(az - dz\right)
double f(double az, double dz, double vz, double vx, double ax, double dx) {
        double r2410527 = az;
        double r2410528 = dz;
        double r2410529 = r2410527 - r2410528;
        double r2410530 = vz;
        double r2410531 = vx;
        double r2410532 = r2410530 / r2410531;
        double r2410533 = ax;
        double r2410534 = dx;
        double r2410535 = r2410533 - r2410534;
        double r2410536 = r2410532 * r2410535;
        double r2410537 = r2410529 - r2410536;
        double r2410538 = -r2410537;
        return r2410538;
}

double f(double az, double dz, double vz, double vx, double ax, double dx) {
        double r2410539 = vz;
        double r2410540 = cbrt(r2410539);
        double r2410541 = r2410540 * r2410540;
        double r2410542 = vx;
        double r2410543 = r2410540 / r2410542;
        double r2410544 = ax;
        double r2410545 = dx;
        double r2410546 = r2410544 - r2410545;
        double r2410547 = r2410543 * r2410546;
        double r2410548 = r2410541 * r2410547;
        double r2410549 = az;
        double r2410550 = dz;
        double r2410551 = r2410549 - r2410550;
        double r2410552 = r2410548 - r2410551;
        return r2410552;
}

Error

Bits error versus az

Bits error versus dz

Bits error versus vz

Bits error versus vx

Bits error versus ax

Bits error versus dx

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[-\left(\left(az - dz\right) - \frac{vz}{vx} \cdot \left(ax - dx\right)\right)\]
  2. Simplified0.1

    \[\leadsto \color{blue}{\frac{vz}{vx} \cdot \left(ax - dx\right) - \left(az - dz\right)}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.1

    \[\leadsto \frac{vz}{\color{blue}{1 \cdot vx}} \cdot \left(ax - dx\right) - \left(az - dz\right)\]
  5. Applied add-cube-cbrt0.1

    \[\leadsto \frac{\color{blue}{\left(\sqrt[3]{vz} \cdot \sqrt[3]{vz}\right) \cdot \sqrt[3]{vz}}}{1 \cdot vx} \cdot \left(ax - dx\right) - \left(az - dz\right)\]
  6. Applied times-frac0.1

    \[\leadsto \color{blue}{\left(\frac{\sqrt[3]{vz} \cdot \sqrt[3]{vz}}{1} \cdot \frac{\sqrt[3]{vz}}{vx}\right)} \cdot \left(ax - dx\right) - \left(az - dz\right)\]
  7. Applied associate-*l*0

    \[\leadsto \color{blue}{\frac{\sqrt[3]{vz} \cdot \sqrt[3]{vz}}{1} \cdot \left(\frac{\sqrt[3]{vz}}{vx} \cdot \left(ax - dx\right)\right)} - \left(az - dz\right)\]
  8. Final simplification0

    \[\leadsto \left(\sqrt[3]{vz} \cdot \sqrt[3]{vz}\right) \cdot \left(\frac{\sqrt[3]{vz}}{vx} \cdot \left(ax - dx\right)\right) - \left(az - dz\right)\]

Reproduce

herbie shell --seed 1 
(FPCore (az dz vz vx ax dx)
  :name "(-((az - dz) - (vz/vx) * (ax - dx)))"
  :precision binary32
  (- (- (- az dz) (* (/ vz vx) (- ax dx)))))