Average Error: 29.1 → 29.2
Time: 7.7s
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 r68552 = x;
        double r68553 = y;
        double r68554 = r68552 * r68553;
        double r68555 = z;
        double r68556 = r68554 + r68555;
        double r68557 = r68556 * r68553;
        double r68558 = 27464.7644705;
        double r68559 = r68557 + r68558;
        double r68560 = r68559 * r68553;
        double r68561 = 230661.510616;
        double r68562 = r68560 + r68561;
        double r68563 = r68562 * r68553;
        double r68564 = t;
        double r68565 = r68563 + r68564;
        double r68566 = a;
        double r68567 = r68553 + r68566;
        double r68568 = r68567 * r68553;
        double r68569 = b;
        double r68570 = r68568 + r68569;
        double r68571 = r68570 * r68553;
        double r68572 = c;
        double r68573 = r68571 + r68572;
        double r68574 = r68573 * r68553;
        double r68575 = i;
        double r68576 = r68574 + r68575;
        double r68577 = r68565 / r68576;
        return r68577;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r68578 = x;
        double r68579 = y;
        double r68580 = z;
        double r68581 = fma(r68578, r68579, r68580);
        double r68582 = 27464.7644705;
        double r68583 = fma(r68581, r68579, r68582);
        double r68584 = cbrt(r68583);
        double r68585 = cbrt(r68584);
        double r68586 = r68585 * r68585;
        double r68587 = r68586 * r68585;
        double r68588 = r68587 * r68584;
        double r68589 = r68588 * r68584;
        double r68590 = 230661.510616;
        double r68591 = fma(r68589, r68579, r68590);
        double r68592 = t;
        double r68593 = fma(r68591, r68579, r68592);
        double r68594 = a;
        double r68595 = r68579 + r68594;
        double r68596 = b;
        double r68597 = fma(r68595, r68579, r68596);
        double r68598 = c;
        double r68599 = fma(r68597, r68579, r68598);
        double r68600 = i;
        double r68601 = fma(r68599, r68579, r68600);
        double r68602 = 1.0;
        double r68603 = r68601 * r68602;
        double r68604 = r68593 / r68603;
        return r68604;
}

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)))