Average Error: 1.0 → 0.1
Time: 10.7s
Precision: 64
\[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\]
\[2 \cdot \left(2 \cdot \log \left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}}\right) + \log \left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}}\right)\right)\]
2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)
2 \cdot \left(2 \cdot \log \left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}}\right) + \log \left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}}\right)\right)
double f(double g, double h) {
        double r107429 = 2.0;
        double r107430 = atan2(1.0, 0.0);
        double r107431 = r107429 * r107430;
        double r107432 = 3.0;
        double r107433 = r107431 / r107432;
        double r107434 = g;
        double r107435 = -r107434;
        double r107436 = h;
        double r107437 = r107435 / r107436;
        double r107438 = acos(r107437);
        double r107439 = r107438 / r107432;
        double r107440 = r107433 + r107439;
        double r107441 = cos(r107440);
        double r107442 = r107429 * r107441;
        return r107442;
}

double f(double g, double h) {
        double r107443 = 2.0;
        double r107444 = 2.0;
        double r107445 = 3.0;
        double r107446 = r107443 / r107445;
        double r107447 = atan2(1.0, 0.0);
        double r107448 = g;
        double r107449 = -r107448;
        double r107450 = h;
        double r107451 = r107449 / r107450;
        double r107452 = acos(r107451);
        double r107453 = r107452 / r107445;
        double r107454 = fma(r107446, r107447, r107453);
        double r107455 = cos(r107454);
        double r107456 = exp(r107455);
        double r107457 = cbrt(r107456);
        double r107458 = log(r107457);
        double r107459 = r107444 * r107458;
        double r107460 = r107459 + r107458;
        double r107461 = r107443 * r107460;
        return r107461;
}

Error

Bits error versus g

Bits error versus h

Derivation

  1. Initial program 1.0

    \[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\]
  2. Simplified1.0

    \[\leadsto \color{blue}{2 \cdot \cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\]
  3. Using strategy rm
  4. Applied add-log-exp1.0

    \[\leadsto 2 \cdot \color{blue}{\log \left(e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\right)}\]
  5. Using strategy rm
  6. Applied add-cube-cbrt0.1

    \[\leadsto 2 \cdot \log \color{blue}{\left(\left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}} \cdot \sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}}\right) \cdot \sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}}\right)}\]
  7. Applied log-prod0.1

    \[\leadsto 2 \cdot \color{blue}{\left(\log \left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}} \cdot \sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}}\right) + \log \left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}}\right)\right)}\]
  8. Simplified0.1

    \[\leadsto 2 \cdot \left(\color{blue}{2 \cdot \log \left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}}\right)} + \log \left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}}\right)\right)\]
  9. Final simplification0.1

    \[\leadsto 2 \cdot \left(2 \cdot \log \left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}}\right) + \log \left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}}\right)\right)\]

Reproduce

herbie shell --seed 2019235 +o rules:numerics
(FPCore (g h)
  :name "2-ancestry mixing, negative discriminant"
  :precision binary64
  (* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))