Average Error: 1.0 → 1.0
Time: 16.3s
Precision: 64
\[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\]
\[\mathsf{log1p}\left(\left(\mathsf{expm1}\left(\left(\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \left(\left(\sqrt[3]{\cos^{-1} \left(\frac{-g}{h}\right)} \cdot \sqrt[3]{\cos^{-1} \left(\frac{-g}{h}\right)}\right) \cdot \frac{\sqrt[3]{\cos^{-1} \left(\frac{-g}{h}\right)}}{3}\right)\right)\right)\right)\right)\right)\right) \cdot 2\]
2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)
\mathsf{log1p}\left(\left(\mathsf{expm1}\left(\left(\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \left(\left(\sqrt[3]{\cos^{-1} \left(\frac{-g}{h}\right)} \cdot \sqrt[3]{\cos^{-1} \left(\frac{-g}{h}\right)}\right) \cdot \frac{\sqrt[3]{\cos^{-1} \left(\frac{-g}{h}\right)}}{3}\right)\right)\right)\right)\right)\right)\right) \cdot 2
double f(double g, double h) {
        double r11112173 = 2.0;
        double r11112174 = atan2(1.0, 0.0);
        double r11112175 = r11112173 * r11112174;
        double r11112176 = 3.0;
        double r11112177 = r11112175 / r11112176;
        double r11112178 = g;
        double r11112179 = -r11112178;
        double r11112180 = h;
        double r11112181 = r11112179 / r11112180;
        double r11112182 = acos(r11112181);
        double r11112183 = r11112182 / r11112176;
        double r11112184 = r11112177 + r11112183;
        double r11112185 = cos(r11112184);
        double r11112186 = r11112173 * r11112185;
        return r11112186;
}

double f(double g, double h) {
        double r11112187 = 0.6666666666666666;
        double r11112188 = atan2(1.0, 0.0);
        double r11112189 = g;
        double r11112190 = -r11112189;
        double r11112191 = h;
        double r11112192 = r11112190 / r11112191;
        double r11112193 = acos(r11112192);
        double r11112194 = cbrt(r11112193);
        double r11112195 = r11112194 * r11112194;
        double r11112196 = 3.0;
        double r11112197 = r11112194 / r11112196;
        double r11112198 = r11112195 * r11112197;
        double r11112199 = fma(r11112187, r11112188, r11112198);
        double r11112200 = cos(r11112199);
        double r11112201 = expm1(r11112200);
        double r11112202 = log1p(r11112201);
        double r11112203 = 2.0;
        double r11112204 = r11112202 * r11112203;
        return r11112204;
}

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(\mathsf{fma}\left(\frac{2}{3}, \pi, \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)\right) \cdot 2}\]
  3. Using strategy rm
  4. Applied log1p-expm1-u1.0

    \[\leadsto \color{blue}{\mathsf{log1p}\left(\left(\mathsf{expm1}\left(\left(\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)\right)\right)\right)\right)\right)} \cdot 2\]
  5. Using strategy rm
  6. Applied *-un-lft-identity1.0

    \[\leadsto \mathsf{log1p}\left(\left(\mathsf{expm1}\left(\left(\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\color{blue}{1 \cdot 3}}\right)\right)\right)\right)\right)\right)\right) \cdot 2\]
  7. Applied add-cube-cbrt1.0

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

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

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

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

Reproduce

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