Average Error: 0.1 → 0
Time: 19.5s
Precision: 64
\[-\left(\left(az - dz\right) - \frac{vz}{vx} \cdot \left(ax - dx\right)\right)\]
\[-\left(\left(az - dz\right) - \frac{1}{\sqrt[3]{vx} \cdot \sqrt[3]{vx}} \cdot \left(\frac{vz}{\sqrt[3]{vx}} \cdot \left(ax - dx\right)\right)\right)\]
-\left(\left(az - dz\right) - \frac{vz}{vx} \cdot \left(ax - dx\right)\right)
-\left(\left(az - dz\right) - \frac{1}{\sqrt[3]{vx} \cdot \sqrt[3]{vx}} \cdot \left(\frac{vz}{\sqrt[3]{vx}} \cdot \left(ax - dx\right)\right)\right)
double f(double az, double dz, double vz, double vx, double ax, double dx) {
        double r2408908 = az;
        double r2408909 = dz;
        double r2408910 = r2408908 - r2408909;
        double r2408911 = vz;
        double r2408912 = vx;
        double r2408913 = r2408911 / r2408912;
        double r2408914 = ax;
        double r2408915 = dx;
        double r2408916 = r2408914 - r2408915;
        double r2408917 = r2408913 * r2408916;
        double r2408918 = r2408910 - r2408917;
        double r2408919 = -r2408918;
        return r2408919;
}

double f(double az, double dz, double vz, double vx, double ax, double dx) {
        double r2408920 = az;
        double r2408921 = dz;
        double r2408922 = r2408920 - r2408921;
        double r2408923 = 1.0;
        double r2408924 = vx;
        double r2408925 = cbrt(r2408924);
        double r2408926 = r2408925 * r2408925;
        double r2408927 = r2408923 / r2408926;
        double r2408928 = vz;
        double r2408929 = r2408928 / r2408925;
        double r2408930 = ax;
        double r2408931 = dx;
        double r2408932 = r2408930 - r2408931;
        double r2408933 = r2408929 * r2408932;
        double r2408934 = r2408927 * r2408933;
        double r2408935 = r2408922 - r2408934;
        double r2408936 = -r2408935;
        return r2408936;
}

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. Using strategy rm
  3. Applied add-cube-cbrt0.1

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

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

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

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

    \[\leadsto -\left(\left(az - dz\right) - \frac{1}{\sqrt[3]{vx} \cdot \sqrt[3]{vx}} \cdot \left(\frac{vz}{\sqrt[3]{vx}} \cdot \left(ax - dx\right)\right)\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)))))