Average Error: 1.0 → 0.1
Time: 20.7s
Precision: 64
\[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\]
\[2 \cdot \sqrt[3]{{\left(\sqrt[3]{{\left(\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)\right)}^{2}} \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\right)}^{3}}\]
2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)
2 \cdot \sqrt[3]{{\left(\sqrt[3]{{\left(\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)\right)}^{2}} \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\right)}^{3}}
double f(double g, double h) {
        double r98375 = 2.0;
        double r98376 = atan2(1.0, 0.0);
        double r98377 = r98375 * r98376;
        double r98378 = 3.0;
        double r98379 = r98377 / r98378;
        double r98380 = g;
        double r98381 = -r98380;
        double r98382 = h;
        double r98383 = r98381 / r98382;
        double r98384 = acos(r98383);
        double r98385 = r98384 / r98378;
        double r98386 = r98379 + r98385;
        double r98387 = cos(r98386);
        double r98388 = r98375 * r98387;
        return r98388;
}

double f(double g, double h) {
        double r98389 = 2.0;
        double r98390 = 3.0;
        double r98391 = r98389 / r98390;
        double r98392 = atan2(1.0, 0.0);
        double r98393 = g;
        double r98394 = -r98393;
        double r98395 = h;
        double r98396 = r98394 / r98395;
        double r98397 = acos(r98396);
        double r98398 = r98397 / r98390;
        double r98399 = fma(r98391, r98392, r98398);
        double r98400 = cos(r98399);
        double r98401 = 2.0;
        double r98402 = pow(r98400, r98401);
        double r98403 = cbrt(r98402);
        double r98404 = cbrt(r98400);
        double r98405 = r98403 * r98404;
        double r98406 = 3.0;
        double r98407 = pow(r98405, r98406);
        double r98408 = cbrt(r98407);
        double r98409 = r98389 * r98408;
        return r98409;
}

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-sqr-sqrt1.0

    \[\leadsto 2 \cdot \cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\color{blue}{\sqrt{3} \cdot \sqrt{3}}}\right)\right)\]
  5. Applied associate-/r*1.0

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

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

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

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

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

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

Reproduce

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