Average Error: 9.1 → 9.2
Time: 18.6s
Precision: 64
\[x + \frac{y - z}{\left(t + 1\right) - z} \cdot \left(a - x\right)\]
\[\frac{a - x}{\frac{\left(t + 1\right) - z}{y - z}} + x\]
x + \frac{y - z}{\left(t + 1\right) - z} \cdot \left(a - x\right)
\frac{a - x}{\frac{\left(t + 1\right) - z}{y - z}} + x
double f(double x, double y, double z, double t, double a) {
        double r142939 = x;
        double r142940 = y;
        double r142941 = z;
        double r142942 = r142940 - r142941;
        double r142943 = t;
        double r142944 = 1.0;
        double r142945 = r142943 + r142944;
        double r142946 = r142945 - r142941;
        double r142947 = r142942 / r142946;
        double r142948 = a;
        double r142949 = r142948 - r142939;
        double r142950 = r142947 * r142949;
        double r142951 = r142939 + r142950;
        return r142951;
}

double f(double x, double y, double z, double t, double a) {
        double r142952 = a;
        double r142953 = x;
        double r142954 = r142952 - r142953;
        double r142955 = t;
        double r142956 = 1.0;
        double r142957 = r142955 + r142956;
        double r142958 = z;
        double r142959 = r142957 - r142958;
        double r142960 = y;
        double r142961 = r142960 - r142958;
        double r142962 = r142959 / r142961;
        double r142963 = r142954 / r142962;
        double r142964 = r142963 + r142953;
        return r142964;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 9.1

    \[x + \frac{y - z}{\left(t + 1\right) - z} \cdot \left(a - x\right)\]
  2. Using strategy rm
  3. Applied clear-num9.2

    \[\leadsto x + \color{blue}{\frac{1}{\frac{\left(t + 1\right) - z}{y - z}}} \cdot \left(a - x\right)\]
  4. Final simplification9.2

    \[\leadsto \frac{a - x}{\frac{\left(t + 1\right) - z}{y - z}} + x\]

Reproduce

herbie shell --seed 1978988140 
(FPCore (x y z t a)
  :name "Hakyll.Web.Tags:renderTagCloud from hakyll-4.7.2.3"
  :precision binary64
  (+ x (* (/ (- y z) (- (+ t 1) z)) (- a x))))