Average Error: 1.0 → 0.1
Time: 20.3s
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^{\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) + \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^{\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) + \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 r92173 = 2.0;
        double r92174 = atan2(1.0, 0.0);
        double r92175 = r92173 * r92174;
        double r92176 = 3.0;
        double r92177 = r92175 / r92176;
        double r92178 = g;
        double r92179 = -r92178;
        double r92180 = h;
        double r92181 = r92179 / r92180;
        double r92182 = acos(r92181);
        double r92183 = r92182 / r92176;
        double r92184 = r92177 + r92183;
        double r92185 = cos(r92184);
        double r92186 = r92173 * r92185;
        return r92186;
}

double f(double g, double h) {
        double r92187 = 2.0;
        double r92188 = 2.0;
        double r92189 = 3.0;
        double r92190 = r92187 / r92189;
        double r92191 = atan2(1.0, 0.0);
        double r92192 = g;
        double r92193 = -r92192;
        double r92194 = h;
        double r92195 = r92193 / r92194;
        double r92196 = acos(r92195);
        double r92197 = r92196 / r92189;
        double r92198 = fma(r92190, r92191, r92197);
        double r92199 = cos(r92198);
        double r92200 = cbrt(r92199);
        double r92201 = r92200 * r92200;
        double r92202 = r92201 * r92200;
        double r92203 = exp(r92202);
        double r92204 = cbrt(r92203);
        double r92205 = log(r92204);
        double r92206 = r92188 * r92205;
        double r92207 = exp(r92199);
        double r92208 = cbrt(r92207);
        double r92209 = log(r92208);
        double r92210 = r92206 + r92209;
        double r92211 = r92187 * r92210;
        return r92211;
}

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. Using strategy rm
  10. Applied add-cube-cbrt0.1

    \[\leadsto 2 \cdot \left(2 \cdot \log \left(\sqrt[3]{e^{\color{blue}{\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) + \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)\]
  11. Final simplification0.1

    \[\leadsto 2 \cdot \left(2 \cdot \log \left(\sqrt[3]{e^{\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) + \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 2019326 +o rules:numerics
(FPCore (g h)
  :name "2-ancestry mixing, negative discriminant"
  :precision binary64
  (* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))