Average Error: 1.0 → 0.0
Time: 18.8s
Precision: 64
\[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\]
\[2 \cdot \left(\cos \left(\frac{2 \cdot \pi}{3} + \frac{\pi}{3}\right) \cdot \cos \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right) + \sin \left(\frac{2 \cdot \pi}{3} + \frac{\pi}{3}\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right)\right)\]
2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)
2 \cdot \left(\cos \left(\frac{2 \cdot \pi}{3} + \frac{\pi}{3}\right) \cdot \cos \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right) + \sin \left(\frac{2 \cdot \pi}{3} + \frac{\pi}{3}\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right)\right)
double f(double g, double h) {
        double r83807 = 2.0;
        double r83808 = atan2(1.0, 0.0);
        double r83809 = r83807 * r83808;
        double r83810 = 3.0;
        double r83811 = r83809 / r83810;
        double r83812 = g;
        double r83813 = -r83812;
        double r83814 = h;
        double r83815 = r83813 / r83814;
        double r83816 = acos(r83815);
        double r83817 = r83816 / r83810;
        double r83818 = r83811 + r83817;
        double r83819 = cos(r83818);
        double r83820 = r83807 * r83819;
        return r83820;
}

double f(double g, double h) {
        double r83821 = 2.0;
        double r83822 = atan2(1.0, 0.0);
        double r83823 = r83821 * r83822;
        double r83824 = 3.0;
        double r83825 = r83823 / r83824;
        double r83826 = r83822 / r83824;
        double r83827 = r83825 + r83826;
        double r83828 = cos(r83827);
        double r83829 = g;
        double r83830 = h;
        double r83831 = r83829 / r83830;
        double r83832 = acos(r83831);
        double r83833 = r83832 / r83824;
        double r83834 = cos(r83833);
        double r83835 = r83828 * r83834;
        double r83836 = sin(r83827);
        double r83837 = sin(r83833);
        double r83838 = r83836 * r83837;
        double r83839 = r83835 + r83838;
        double r83840 = r83821 * r83839;
        return r83840;
}

Error

Bits error versus g

Bits error versus h

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

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. Using strategy rm
  3. Applied distribute-frac-neg1.0

    \[\leadsto 2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \color{blue}{\left(-\frac{g}{h}\right)}}{3}\right)\]
  4. Applied acos-neg1.0

    \[\leadsto 2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\color{blue}{\pi - \cos^{-1} \left(\frac{g}{h}\right)}}{3}\right)\]
  5. Applied div-sub1.0

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

    \[\leadsto 2 \cdot \cos \color{blue}{\left(\left(\frac{2 \cdot \pi}{3} + \frac{\pi}{3}\right) - \frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right)}\]
  7. Applied cos-diff0.0

    \[\leadsto 2 \cdot \color{blue}{\left(\cos \left(\frac{2 \cdot \pi}{3} + \frac{\pi}{3}\right) \cdot \cos \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right) + \sin \left(\frac{2 \cdot \pi}{3} + \frac{\pi}{3}\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right)\right)}\]
  8. Final simplification0.0

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

Reproduce

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