Average Error: 29.1 → 29.2
Time: 7.5s
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}\]
\[\frac{\mathsf{fma}\left(\mathsf{fma}\left(\left(\left(\left(\sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}, y, 230661.510616000014\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right) \cdot 1}\]
\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}
\frac{\mathsf{fma}\left(\mathsf{fma}\left(\left(\left(\left(\sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}, y, 230661.510616000014\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right) \cdot 1}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r74632 = x;
        double r74633 = y;
        double r74634 = r74632 * r74633;
        double r74635 = z;
        double r74636 = r74634 + r74635;
        double r74637 = r74636 * r74633;
        double r74638 = 27464.7644705;
        double r74639 = r74637 + r74638;
        double r74640 = r74639 * r74633;
        double r74641 = 230661.510616;
        double r74642 = r74640 + r74641;
        double r74643 = r74642 * r74633;
        double r74644 = t;
        double r74645 = r74643 + r74644;
        double r74646 = a;
        double r74647 = r74633 + r74646;
        double r74648 = r74647 * r74633;
        double r74649 = b;
        double r74650 = r74648 + r74649;
        double r74651 = r74650 * r74633;
        double r74652 = c;
        double r74653 = r74651 + r74652;
        double r74654 = r74653 * r74633;
        double r74655 = i;
        double r74656 = r74654 + r74655;
        double r74657 = r74645 / r74656;
        return r74657;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r74658 = x;
        double r74659 = y;
        double r74660 = z;
        double r74661 = fma(r74658, r74659, r74660);
        double r74662 = 27464.7644705;
        double r74663 = fma(r74661, r74659, r74662);
        double r74664 = cbrt(r74663);
        double r74665 = cbrt(r74664);
        double r74666 = r74665 * r74665;
        double r74667 = r74666 * r74665;
        double r74668 = r74667 * r74664;
        double r74669 = r74668 * r74664;
        double r74670 = 230661.510616;
        double r74671 = fma(r74669, r74659, r74670);
        double r74672 = t;
        double r74673 = fma(r74671, r74659, r74672);
        double r74674 = a;
        double r74675 = r74659 + r74674;
        double r74676 = b;
        double r74677 = fma(r74675, r74659, r74676);
        double r74678 = c;
        double r74679 = fma(r74677, r74659, r74678);
        double r74680 = i;
        double r74681 = fma(r74679, r74659, r74680);
        double r74682 = 1.0;
        double r74683 = r74681 * r74682;
        double r74684 = r74673 / r74683;
        return r74684;
}

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.1

    \[\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 *-un-lft-identity29.1

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

    \[\leadsto \frac{\color{blue}{1 \cdot \left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t\right)}}{1 \cdot \left(\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i\right)}\]
  5. Applied times-frac29.1

    \[\leadsto \color{blue}{\frac{1}{1} \cdot \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}}\]
  6. Simplified29.1

    \[\leadsto \color{blue}{1} \cdot \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}\]
  7. Simplified29.1

    \[\leadsto 1 \cdot \color{blue}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right) \cdot 1}}\]
  8. Using strategy rm
  9. Applied add-cube-cbrt29.2

    \[\leadsto 1 \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\left(\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}}, y, 230661.510616000014\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right) \cdot 1}\]
  10. Using strategy rm
  11. Applied add-cube-cbrt29.2

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

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

Reproduce

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