Average Error: 0.0 → 0.4
Time: 7.8s
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\]
\[\begin{array}{l} \mathbf{if}\;t \le -6.2465934987282541 \cdot 10^{84} \lor \neg \left(t \le 895764.5183397294\right):\\ \;\;\;\;\mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, y, \mathsf{fma}\left(b, t, x\right)\right) - \left(t - 1\right) \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, \left(y + t\right) - 2, x\right) - \frac{\left(t \cdot t - 1 \cdot 1\right) \cdot a}{t + 1}\right)\\ \end{array}\]
\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
\begin{array}{l}
\mathbf{if}\;t \le -6.2465934987282541 \cdot 10^{84} \lor \neg \left(t \le 895764.5183397294\right):\\
\;\;\;\;\mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, y, \mathsf{fma}\left(b, t, x\right)\right) - \left(t - 1\right) \cdot a\right)\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, \left(y + t\right) - 2, x\right) - \frac{\left(t \cdot t - 1 \cdot 1\right) \cdot a}{t + 1}\right)\\

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r150 = x;
        double r151 = y;
        double r152 = 1.0;
        double r153 = r151 - r152;
        double r154 = z;
        double r155 = r153 * r154;
        double r156 = r150 - r155;
        double r157 = t;
        double r158 = r157 - r152;
        double r159 = a;
        double r160 = r158 * r159;
        double r161 = r156 - r160;
        double r162 = r151 + r157;
        double r163 = 2.0;
        double r164 = r162 - r163;
        double r165 = b;
        double r166 = r164 * r165;
        double r167 = r161 + r166;
        return r167;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r168 = t;
        double r169 = -6.246593498728254e+84;
        bool r170 = r168 <= r169;
        double r171 = 895764.5183397294;
        bool r172 = r168 <= r171;
        double r173 = !r172;
        bool r174 = r170 || r173;
        double r175 = 1.0;
        double r176 = y;
        double r177 = r175 - r176;
        double r178 = z;
        double r179 = b;
        double r180 = x;
        double r181 = fma(r179, r168, r180);
        double r182 = fma(r179, r176, r181);
        double r183 = r168 - r175;
        double r184 = a;
        double r185 = r183 * r184;
        double r186 = r182 - r185;
        double r187 = fma(r177, r178, r186);
        double r188 = r176 + r168;
        double r189 = 2.0;
        double r190 = r188 - r189;
        double r191 = fma(r179, r190, r180);
        double r192 = r168 * r168;
        double r193 = r175 * r175;
        double r194 = r192 - r193;
        double r195 = r194 * r184;
        double r196 = r168 + r175;
        double r197 = r195 / r196;
        double r198 = r191 - r197;
        double r199 = fma(r177, r178, r198);
        double r200 = r174 ? r187 : r199;
        return r200;
}

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. Split input into 2 regimes
  2. if t < -6.246593498728254e+84 or 895764.5183397294 < t

    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. Taylor expanded around inf 0.2

      \[\leadsto \mathsf{fma}\left(1 - y, z, \color{blue}{\left(y \cdot b + \left(x + t \cdot b\right)\right)} - \left(t - 1\right) \cdot a\right)\]
    4. Simplified0.2

      \[\leadsto \mathsf{fma}\left(1 - y, z, \color{blue}{\mathsf{fma}\left(b, y, \mathsf{fma}\left(b, t, x\right)\right)} - \left(t - 1\right) \cdot a\right)\]

    if -6.246593498728254e+84 < t < 895764.5183397294

    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 flip--0.0

      \[\leadsto \mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, \left(y + t\right) - 2, x\right) - \color{blue}{\frac{t \cdot t - 1 \cdot 1}{t + 1}} \cdot a\right)\]
    5. Applied associate-*l/0.5

      \[\leadsto \mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, \left(y + t\right) - 2, x\right) - \color{blue}{\frac{\left(t \cdot t - 1 \cdot 1\right) \cdot a}{t + 1}}\right)\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -6.2465934987282541 \cdot 10^{84} \lor \neg \left(t \le 895764.5183397294\right):\\ \;\;\;\;\mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, y, \mathsf{fma}\left(b, t, x\right)\right) - \left(t - 1\right) \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(1 - y, z, \mathsf{fma}\left(b, \left(y + t\right) - 2, x\right) - \frac{\left(t \cdot t - 1 \cdot 1\right) \cdot a}{t + 1}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020025 +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)))