Average Error: 1.0 → 0.0
Time: 3.0s
Precision: binary64
\[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\]
\[2 \cdot \left(\sqrt[3]{{\left(\cos \left(\left(2 \cdot \pi + \cos^{-1} \left(\frac{g}{-h}\right)\right) \cdot 0.333333333333333315\right)\right)}^{2}} \cdot \sqrt[3]{\cos \left(\frac{2 \cdot \pi + \cos^{-1} \left(\frac{g}{-h}\right)}{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}{2 \cdot \cos \left(\frac{2 \cdot \pi + \cos^{-1} \left(\frac{g}{-h}\right)}{3}\right)}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt1.0

    \[\leadsto 2 \cdot \color{blue}{\left(\left(\sqrt[3]{\cos \left(\frac{2 \cdot \pi + \cos^{-1} \left(\frac{g}{-h}\right)}{3}\right)} \cdot \sqrt[3]{\cos \left(\frac{2 \cdot \pi + \cos^{-1} \left(\frac{g}{-h}\right)}{3}\right)}\right) \cdot \sqrt[3]{\cos \left(\frac{2 \cdot \pi + \cos^{-1} \left(\frac{g}{-h}\right)}{3}\right)}\right)}\]
  5. Taylor expanded around 0 1.0

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

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

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

Reproduce

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