Average Error: 0.1 → 0.1
Time: 27.6s
Precision: 64
\[\left(a - \frac{1}{3}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}} \cdot rand\right)\]
\[\mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(a - \frac{\frac{{\left(\sqrt[3]{1}\right)}^{3}}{\sqrt{3}}}{\sqrt{3}}\right) + \mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}} \cdot \left(\left(-\frac{\sqrt[3]{1}}{\sqrt{3}}\right) + \frac{\sqrt[3]{1}}{\sqrt{3}}\right)\right)\]
\left(a - \frac{1}{3}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}} \cdot rand\right)
\mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(a - \frac{\frac{{\left(\sqrt[3]{1}\right)}^{3}}{\sqrt{3}}}{\sqrt{3}}\right) + \mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}} \cdot \left(\left(-\frac{\sqrt[3]{1}}{\sqrt{3}}\right) + \frac{\sqrt[3]{1}}{\sqrt{3}}\right)\right)
double f(double a, double rand) {
        double r179469 = a;
        double r179470 = 1.0;
        double r179471 = 3.0;
        double r179472 = r179470 / r179471;
        double r179473 = r179469 - r179472;
        double r179474 = 9.0;
        double r179475 = r179474 * r179473;
        double r179476 = sqrt(r179475);
        double r179477 = r179470 / r179476;
        double r179478 = rand;
        double r179479 = r179477 * r179478;
        double r179480 = r179470 + r179479;
        double r179481 = r179473 * r179480;
        return r179481;
}

double f(double a, double rand) {
        double r179482 = 1.0;
        double r179483 = 9.0;
        double r179484 = a;
        double r179485 = 3.0;
        double r179486 = r179482 / r179485;
        double r179487 = r179484 - r179486;
        double r179488 = r179483 * r179487;
        double r179489 = sqrt(r179488);
        double r179490 = r179482 / r179489;
        double r179491 = rand;
        double r179492 = fma(r179490, r179491, r179482);
        double r179493 = cbrt(r179482);
        double r179494 = 3.0;
        double r179495 = pow(r179493, r179494);
        double r179496 = sqrt(r179485);
        double r179497 = r179495 / r179496;
        double r179498 = r179497 / r179496;
        double r179499 = r179484 - r179498;
        double r179500 = r179492 * r179499;
        double r179501 = r179493 * r179493;
        double r179502 = r179501 / r179496;
        double r179503 = r179493 / r179496;
        double r179504 = -r179503;
        double r179505 = r179504 + r179503;
        double r179506 = r179502 * r179505;
        double r179507 = r179492 * r179506;
        double r179508 = r179500 + r179507;
        return r179508;
}

Error

Bits error versus a

Bits error versus rand

Derivation

  1. Initial program 0.1

    \[\left(a - \frac{1}{3}\right) \cdot \left(1 + \frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}} \cdot rand\right)\]
  2. Simplified0.1

    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(a - \frac{1}{3}\right)}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.1

    \[\leadsto \mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(a - \frac{1}{\color{blue}{\sqrt{3} \cdot \sqrt{3}}}\right)\]
  5. Applied add-cube-cbrt0.1

    \[\leadsto \mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(a - \frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{\sqrt{3} \cdot \sqrt{3}}\right)\]
  6. Applied times-frac0.1

    \[\leadsto \mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(a - \color{blue}{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}} \cdot \frac{\sqrt[3]{1}}{\sqrt{3}}}\right)\]
  7. Applied add-sqr-sqrt0.6

    \[\leadsto \mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(\color{blue}{\sqrt{a} \cdot \sqrt{a}} - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}} \cdot \frac{\sqrt[3]{1}}{\sqrt{3}}\right)\]
  8. Applied prod-diff0.6

    \[\leadsto \mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \color{blue}{\left(\mathsf{fma}\left(\sqrt{a}, \sqrt{a}, -\frac{\sqrt[3]{1}}{\sqrt{3}} \cdot \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}}\right) + \mathsf{fma}\left(-\frac{\sqrt[3]{1}}{\sqrt{3}}, \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}}, \frac{\sqrt[3]{1}}{\sqrt{3}} \cdot \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}}\right)\right)}\]
  9. Applied distribute-lft-in0.6

    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \mathsf{fma}\left(\sqrt{a}, \sqrt{a}, -\frac{\sqrt[3]{1}}{\sqrt{3}} \cdot \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}}\right) + \mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \mathsf{fma}\left(-\frac{\sqrt[3]{1}}{\sqrt{3}}, \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}}, \frac{\sqrt[3]{1}}{\sqrt{3}} \cdot \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}}\right)}\]
  10. Simplified0.1

    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(a - \frac{\frac{{\left(\sqrt[3]{1}\right)}^{3}}{\sqrt{3}}}{\sqrt{3}}\right)} + \mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \mathsf{fma}\left(-\frac{\sqrt[3]{1}}{\sqrt{3}}, \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}}, \frac{\sqrt[3]{1}}{\sqrt{3}} \cdot \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}}\right)\]
  11. Simplified0.1

    \[\leadsto \mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(a - \frac{\frac{{\left(\sqrt[3]{1}\right)}^{3}}{\sqrt{3}}}{\sqrt{3}}\right) + \color{blue}{\mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}} \cdot \left(\left(-\frac{\sqrt[3]{1}}{\sqrt{3}}\right) + \frac{\sqrt[3]{1}}{\sqrt{3}}\right)\right)}\]
  12. Final simplification0.1

    \[\leadsto \mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(a - \frac{\frac{{\left(\sqrt[3]{1}\right)}^{3}}{\sqrt{3}}}{\sqrt{3}}\right) + \mathsf{fma}\left(\frac{1}{\sqrt{9 \cdot \left(a - \frac{1}{3}\right)}}, rand, 1\right) \cdot \left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{3}} \cdot \left(\left(-\frac{\sqrt[3]{1}}{\sqrt{3}}\right) + \frac{\sqrt[3]{1}}{\sqrt{3}}\right)\right)\]

Reproduce

herbie shell --seed 2020047 +o rules:numerics
(FPCore (a rand)
  :name "Octave 3.8, oct_fill_randg"
  :precision binary64
  (* (- a (/ 1 3)) (+ 1 (* (/ 1 (sqrt (* 9 (- a (/ 1 3))))) rand))))