Average Error: 29.0 → 29.1
Time: 29.8s
Precision: 64
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
\[\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t\right) \cdot \frac{1}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}\]
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t\right) \cdot \frac{1}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r64617 = x;
        double r64618 = y;
        double r64619 = r64617 * r64618;
        double r64620 = z;
        double r64621 = r64619 + r64620;
        double r64622 = r64621 * r64618;
        double r64623 = 27464.7644705;
        double r64624 = r64622 + r64623;
        double r64625 = r64624 * r64618;
        double r64626 = 230661.510616;
        double r64627 = r64625 + r64626;
        double r64628 = r64627 * r64618;
        double r64629 = t;
        double r64630 = r64628 + r64629;
        double r64631 = a;
        double r64632 = r64618 + r64631;
        double r64633 = r64632 * r64618;
        double r64634 = b;
        double r64635 = r64633 + r64634;
        double r64636 = r64635 * r64618;
        double r64637 = c;
        double r64638 = r64636 + r64637;
        double r64639 = r64638 * r64618;
        double r64640 = i;
        double r64641 = r64639 + r64640;
        double r64642 = r64630 / r64641;
        return r64642;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r64643 = x;
        double r64644 = y;
        double r64645 = r64643 * r64644;
        double r64646 = z;
        double r64647 = r64645 + r64646;
        double r64648 = r64647 * r64644;
        double r64649 = 27464.7644705;
        double r64650 = r64648 + r64649;
        double r64651 = r64650 * r64644;
        double r64652 = 230661.510616;
        double r64653 = r64651 + r64652;
        double r64654 = r64653 * r64644;
        double r64655 = t;
        double r64656 = r64654 + r64655;
        double r64657 = 1.0;
        double r64658 = a;
        double r64659 = r64644 + r64658;
        double r64660 = b;
        double r64661 = fma(r64659, r64644, r64660);
        double r64662 = c;
        double r64663 = fma(r64661, r64644, r64662);
        double r64664 = i;
        double r64665 = fma(r64663, r64644, r64664);
        double r64666 = r64657 / r64665;
        double r64667 = r64656 * r64666;
        return r64667;
}

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

Bits error versus c

Bits error versus i

Derivation

  1. Initial program 29.0

    \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
  2. Using strategy rm
  3. Applied div-inv29.1

    \[\leadsto \color{blue}{\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t\right) \cdot \frac{1}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}\]
  4. Simplified29.1

    \[\leadsto \left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t\right) \cdot \color{blue}{\frac{1}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}}\]
  5. Final simplification29.1

    \[\leadsto \left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t\right) \cdot \frac{1}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}\]

Reproduce

herbie shell --seed 2019198 +o rules:numerics
(FPCore (x y z t a b c i)
  :name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
  (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))