Average Error: 0.0 → 0.3
Time: 9.1s
Precision: 64
\[\left(\left(x - \left(y - 1\right) \cdot z\right) - \left(t - 1\right) \cdot a\right) + \left(\left(y + t\right) - 2\right) \cdot b\]
\[\mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, \left(y + t\right) - 2, x\right) - \left(\left(t - 1\right) \cdot \left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right)\right) \cdot \sqrt[3]{a}\right)\]
\left(\left(x - \left(y - 1\right) \cdot z\right) - \left(t - 1\right) \cdot a\right) + \left(\left(y + t\right) - 2\right) \cdot b
\mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, \left(y + t\right) - 2, x\right) - \left(\left(t - 1\right) \cdot \left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right)\right) \cdot \sqrt[3]{a}\right)
double f(double x, double y, double z, double t, double a, double b) {
        double r52899 = x;
        double r52900 = y;
        double r52901 = 1.0;
        double r52902 = r52900 - r52901;
        double r52903 = z;
        double r52904 = r52902 * r52903;
        double r52905 = r52899 - r52904;
        double r52906 = t;
        double r52907 = r52906 - r52901;
        double r52908 = a;
        double r52909 = r52907 * r52908;
        double r52910 = r52905 - r52909;
        double r52911 = r52900 + r52906;
        double r52912 = 2.0;
        double r52913 = r52911 - r52912;
        double r52914 = b;
        double r52915 = r52913 * r52914;
        double r52916 = r52910 + r52915;
        return r52916;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r52917 = 1.0;
        double r52918 = y;
        double r52919 = r52917 - r52918;
        double r52920 = z;
        double r52921 = b;
        double r52922 = t;
        double r52923 = r52918 + r52922;
        double r52924 = 2.0;
        double r52925 = r52923 - r52924;
        double r52926 = x;
        double r52927 = fma(r52921, r52925, r52926);
        double r52928 = r52922 - r52917;
        double r52929 = a;
        double r52930 = cbrt(r52929);
        double r52931 = r52930 * r52930;
        double r52932 = r52928 * r52931;
        double r52933 = r52932 * r52930;
        double r52934 = r52927 - r52933;
        double r52935 = fma(r52919, r52920, r52934);
        return r52935;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Derivation

  1. Initial program 0.0

    \[\left(\left(x - \left(y - 1\right) \cdot z\right) - \left(t - 1\right) \cdot a\right) + \left(\left(y + t\right) - 2\right) \cdot b\]
  2. Simplified0.0

    \[\leadsto \color{blue}{\mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, \left(y + t\right) - 2, x\right) - \left(t - 1\right) \cdot a\right)}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt0.3

    \[\leadsto \mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, \left(y + t\right) - 2, x\right) - \left(t - 1\right) \cdot \color{blue}{\left(\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}\right)}\right)\]
  5. Applied associate-*r*0.3

    \[\leadsto \mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, \left(y + t\right) - 2, x\right) - \color{blue}{\left(\left(t - 1\right) \cdot \left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right)\right) \cdot \sqrt[3]{a}}\right)\]
  6. Final simplification0.3

    \[\leadsto \mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, \left(y + t\right) - 2, x\right) - \left(\left(t - 1\right) \cdot \left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right)\right) \cdot \sqrt[3]{a}\right)\]

Reproduce

herbie shell --seed 2020021 +o rules:numerics
(FPCore (x y z t a b)
  :name "Statistics.Distribution.Beta:$centropy from math-functions-0.1.5.2"
  :precision binary64
  (+ (- (- x (* (- y 1) z)) (* (- t 1) a)) (* (- (+ y t) 2) b)))