Average Error: 0.1 → 0
Time: 21.7s
Precision: 64
\[-\left(\left(bz - az\right) - \frac{vz}{vx} \cdot \left(bx - ax\right)\right)\]
\[-\left(\left(bz - az\right) - \frac{\sqrt[3]{vz} \cdot \sqrt[3]{vz}}{\sqrt[3]{vx} \cdot \sqrt[3]{vx}} \cdot \left(\frac{\sqrt[3]{vz}}{\sqrt[3]{vx}} \cdot \left(bx - ax\right)\right)\right)\]
-\left(\left(bz - az\right) - \frac{vz}{vx} \cdot \left(bx - ax\right)\right)
-\left(\left(bz - az\right) - \frac{\sqrt[3]{vz} \cdot \sqrt[3]{vz}}{\sqrt[3]{vx} \cdot \sqrt[3]{vx}} \cdot \left(\frac{\sqrt[3]{vz}}{\sqrt[3]{vx}} \cdot \left(bx - ax\right)\right)\right)
double f(double bz, double az, double vz, double vx, double bx, double ax) {
        double r2371225 = bz;
        double r2371226 = az;
        double r2371227 = r2371225 - r2371226;
        double r2371228 = vz;
        double r2371229 = vx;
        double r2371230 = r2371228 / r2371229;
        double r2371231 = bx;
        double r2371232 = ax;
        double r2371233 = r2371231 - r2371232;
        double r2371234 = r2371230 * r2371233;
        double r2371235 = r2371227 - r2371234;
        double r2371236 = -r2371235;
        return r2371236;
}

double f(double bz, double az, double vz, double vx, double bx, double ax) {
        double r2371237 = bz;
        double r2371238 = az;
        double r2371239 = r2371237 - r2371238;
        double r2371240 = vz;
        double r2371241 = cbrt(r2371240);
        double r2371242 = r2371241 * r2371241;
        double r2371243 = vx;
        double r2371244 = cbrt(r2371243);
        double r2371245 = r2371244 * r2371244;
        double r2371246 = r2371242 / r2371245;
        double r2371247 = r2371241 / r2371244;
        double r2371248 = bx;
        double r2371249 = ax;
        double r2371250 = r2371248 - r2371249;
        double r2371251 = r2371247 * r2371250;
        double r2371252 = r2371246 * r2371251;
        double r2371253 = r2371239 - r2371252;
        double r2371254 = -r2371253;
        return r2371254;
}

Error

Bits error versus bz

Bits error versus az

Bits error versus vz

Bits error versus vx

Bits error versus bx

Bits error versus ax

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[-\left(\left(bz - az\right) - \frac{vz}{vx} \cdot \left(bx - ax\right)\right)\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.1

    \[\leadsto -\left(\left(bz - az\right) - \frac{vz}{\color{blue}{\left(\sqrt[3]{vx} \cdot \sqrt[3]{vx}\right) \cdot \sqrt[3]{vx}}} \cdot \left(bx - ax\right)\right)\]
  4. Applied add-cube-cbrt0.1

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

    \[\leadsto -\left(\left(bz - az\right) - \color{blue}{\left(\frac{\sqrt[3]{vz} \cdot \sqrt[3]{vz}}{\sqrt[3]{vx} \cdot \sqrt[3]{vx}} \cdot \frac{\sqrt[3]{vz}}{\sqrt[3]{vx}}\right)} \cdot \left(bx - ax\right)\right)\]
  6. Applied associate-*l*0

    \[\leadsto -\left(\left(bz - az\right) - \color{blue}{\frac{\sqrt[3]{vz} \cdot \sqrt[3]{vz}}{\sqrt[3]{vx} \cdot \sqrt[3]{vx}} \cdot \left(\frac{\sqrt[3]{vz}}{\sqrt[3]{vx}} \cdot \left(bx - ax\right)\right)}\right)\]
  7. Final simplification0

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

Reproduce

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