Average Error: 1.0 → 1.0
Time: 26.7s
Precision: 64
\[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\]
\[2 \cdot \cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\sqrt{3}}}{\sqrt{3}}\right))_*\right)\]
double f(double g, double h) {
        double r18664201 = 2.0;
        double r18664202 = atan2(1.0, 0.0);
        double r18664203 = r18664201 * r18664202;
        double r18664204 = 3.0;
        double r18664205 = r18664203 / r18664204;
        double r18664206 = g;
        double r18664207 = -r18664206;
        double r18664208 = h;
        double r18664209 = r18664207 / r18664208;
        double r18664210 = acos(r18664209);
        double r18664211 = r18664210 / r18664204;
        double r18664212 = r18664205 + r18664211;
        double r18664213 = cos(r18664212);
        double r18664214 = r18664201 * r18664213;
        return r18664214;
}

double f(double g, double h) {
        double r18664215 = 2.0;
        double r18664216 = 0.6666666666666666;
        double r18664217 = atan2(1.0, 0.0);
        double r18664218 = g;
        double r18664219 = -r18664218;
        double r18664220 = h;
        double r18664221 = r18664219 / r18664220;
        double r18664222 = acos(r18664221);
        double r18664223 = 3.0;
        double r18664224 = sqrt(r18664223);
        double r18664225 = r18664222 / r18664224;
        double r18664226 = r18664225 / r18664224;
        double r18664227 = fma(r18664216, r18664217, r18664226);
        double r18664228 = cos(r18664227);
        double r18664229 = r18664215 * r18664228;
        return r18664229;
}

2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)
2 \cdot \cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\sqrt{3}}}{\sqrt{3}}\right))_*\right)

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}{\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right) \cdot 2}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt1.0

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

    \[\leadsto \cos \left((\frac{2}{3} \cdot \pi + \color{blue}{\left(\frac{\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\sqrt{3}}}{\sqrt{3}}\right)})_*\right) \cdot 2\]
  6. Final simplification1.0

    \[\leadsto 2 \cdot \cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\sqrt{3}}}{\sqrt{3}}\right))_*\right)\]

Reproduce

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