Average Error: 0.0 → 0.0
Time: 3.6s
Precision: 64
\[\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x\]
\[\mathsf{fma}\left(\frac{1}{\sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} \cdot \sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}}, \frac{2.30753 + x \cdot 0.27061000000000002}{\sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}}, -x\right)\]
\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x
\mathsf{fma}\left(\frac{1}{\sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} \cdot \sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}}, \frac{2.30753 + x \cdot 0.27061000000000002}{\sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}}, -x\right)
double f(double x) {
        double r66265 = 2.30753;
        double r66266 = x;
        double r66267 = 0.27061;
        double r66268 = r66266 * r66267;
        double r66269 = r66265 + r66268;
        double r66270 = 1.0;
        double r66271 = 0.99229;
        double r66272 = 0.04481;
        double r66273 = r66266 * r66272;
        double r66274 = r66271 + r66273;
        double r66275 = r66266 * r66274;
        double r66276 = r66270 + r66275;
        double r66277 = r66269 / r66276;
        double r66278 = r66277 - r66266;
        return r66278;
}

double f(double x) {
        double r66279 = 1.0;
        double r66280 = 1.0;
        double r66281 = x;
        double r66282 = 0.99229;
        double r66283 = 0.04481;
        double r66284 = r66281 * r66283;
        double r66285 = r66282 + r66284;
        double r66286 = r66281 * r66285;
        double r66287 = r66280 + r66286;
        double r66288 = cbrt(r66287);
        double r66289 = r66288 * r66288;
        double r66290 = r66279 / r66289;
        double r66291 = 2.30753;
        double r66292 = 0.27061;
        double r66293 = r66281 * r66292;
        double r66294 = r66291 + r66293;
        double r66295 = r66294 / r66288;
        double r66296 = -r66281;
        double r66297 = fma(r66290, r66295, r66296);
        return r66297;
}

Error

Bits error versus x

Derivation

  1. Initial program 0.0

    \[\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.0

    \[\leadsto \frac{2.30753 + x \cdot 0.27061000000000002}{\color{blue}{\left(\sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} \cdot \sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}\right) \cdot \sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}}} - x\]
  4. Applied *-un-lft-identity0.0

    \[\leadsto \frac{\color{blue}{1 \cdot \left(2.30753 + x \cdot 0.27061000000000002\right)}}{\left(\sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} \cdot \sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}\right) \cdot \sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}} - x\]
  5. Applied times-frac0.0

    \[\leadsto \color{blue}{\frac{1}{\sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} \cdot \sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}} \cdot \frac{2.30753 + x \cdot 0.27061000000000002}{\sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}}} - x\]
  6. Applied fma-neg0.0

    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{1}{\sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} \cdot \sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}}, \frac{2.30753 + x \cdot 0.27061000000000002}{\sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}}, -x\right)}\]
  7. Final simplification0.0

    \[\leadsto \mathsf{fma}\left(\frac{1}{\sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} \cdot \sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}}, \frac{2.30753 + x \cdot 0.27061000000000002}{\sqrt[3]{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)}}, -x\right)\]

Reproduce

herbie shell --seed 2020034 +o rules:numerics
(FPCore (x)
  :name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, C"
  :precision binary64
  (- (/ (+ 2.30753 (* x 0.27061)) (+ 1 (* x (+ 0.99229 (* x 0.04481))))) x))