Average Error: 33.8 → 4.1
Time: 7.7s
Precision: 64
\[e^{\log \left(\sqrt{x.re \cdot x.re + x.im \cdot x.im}\right) \cdot y.re - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im} \cdot \cos \left(\log \left(\sqrt{x.re \cdot x.re + x.im \cdot x.im}\right) \cdot y.im + \tan^{-1}_* \frac{x.im}{x.re} \cdot y.re\right)\]
\[e^{\left(\left(\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}\right) \cdot \left(1 \cdot \log \left(\mathsf{hypot}\left(x.re, x.im\right)\right)\right)\right) \cdot \left(\sqrt[3]{\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}} \cdot \sqrt[3]{\sqrt[3]{\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}} \cdot \sqrt[3]{\sqrt[3]{y.re}}}\right) - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im}\]
e^{\log \left(\sqrt{x.re \cdot x.re + x.im \cdot x.im}\right) \cdot y.re - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im} \cdot \cos \left(\log \left(\sqrt{x.re \cdot x.re + x.im \cdot x.im}\right) \cdot y.im + \tan^{-1}_* \frac{x.im}{x.re} \cdot y.re\right)
e^{\left(\left(\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}\right) \cdot \left(1 \cdot \log \left(\mathsf{hypot}\left(x.re, x.im\right)\right)\right)\right) \cdot \left(\sqrt[3]{\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}} \cdot \sqrt[3]{\sqrt[3]{\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}} \cdot \sqrt[3]{\sqrt[3]{y.re}}}\right) - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im}
double f(double x_re, double x_im, double y_re, double y_im) {
        double r18896 = x_re;
        double r18897 = r18896 * r18896;
        double r18898 = x_im;
        double r18899 = r18898 * r18898;
        double r18900 = r18897 + r18899;
        double r18901 = sqrt(r18900);
        double r18902 = log(r18901);
        double r18903 = y_re;
        double r18904 = r18902 * r18903;
        double r18905 = atan2(r18898, r18896);
        double r18906 = y_im;
        double r18907 = r18905 * r18906;
        double r18908 = r18904 - r18907;
        double r18909 = exp(r18908);
        double r18910 = r18902 * r18906;
        double r18911 = r18905 * r18903;
        double r18912 = r18910 + r18911;
        double r18913 = cos(r18912);
        double r18914 = r18909 * r18913;
        return r18914;
}

double f(double x_re, double x_im, double y_re, double y_im) {
        double r18915 = y_re;
        double r18916 = cbrt(r18915);
        double r18917 = r18916 * r18916;
        double r18918 = 1.0;
        double r18919 = x_re;
        double r18920 = x_im;
        double r18921 = hypot(r18919, r18920);
        double r18922 = log(r18921);
        double r18923 = r18918 * r18922;
        double r18924 = r18917 * r18923;
        double r18925 = cbrt(r18917);
        double r18926 = cbrt(r18916);
        double r18927 = r18925 * r18926;
        double r18928 = cbrt(r18927);
        double r18929 = r18925 * r18928;
        double r18930 = r18924 * r18929;
        double r18931 = atan2(r18920, r18919);
        double r18932 = y_im;
        double r18933 = r18931 * r18932;
        double r18934 = r18930 - r18933;
        double r18935 = exp(r18934);
        return r18935;
}

Error

Bits error versus x.re

Bits error versus x.im

Bits error versus y.re

Bits error versus y.im

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 33.8

    \[e^{\log \left(\sqrt{x.re \cdot x.re + x.im \cdot x.im}\right) \cdot y.re - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im} \cdot \cos \left(\log \left(\sqrt{x.re \cdot x.re + x.im \cdot x.im}\right) \cdot y.im + \tan^{-1}_* \frac{x.im}{x.re} \cdot y.re\right)\]
  2. Taylor expanded around 0 19.9

    \[\leadsto e^{\log \left(\sqrt{x.re \cdot x.re + x.im \cdot x.im}\right) \cdot y.re - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im} \cdot \color{blue}{1}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt19.9

    \[\leadsto e^{\log \left(\sqrt{x.re \cdot x.re + x.im \cdot x.im}\right) \cdot \color{blue}{\left(\left(\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}\right) \cdot \sqrt[3]{y.re}\right)} - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im} \cdot 1\]
  5. Applied associate-*r*19.9

    \[\leadsto e^{\color{blue}{\left(\log \left(\sqrt{x.re \cdot x.re + x.im \cdot x.im}\right) \cdot \left(\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}\right)\right) \cdot \sqrt[3]{y.re}} - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im} \cdot 1\]
  6. Simplified4.1

    \[\leadsto e^{\color{blue}{\left(\left(\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}\right) \cdot \left(1 \cdot \log \left(\mathsf{hypot}\left(x.re, x.im\right)\right)\right)\right)} \cdot \sqrt[3]{y.re} - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im} \cdot 1\]
  7. Using strategy rm
  8. Applied add-cube-cbrt4.1

    \[\leadsto e^{\left(\left(\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}\right) \cdot \left(1 \cdot \log \left(\mathsf{hypot}\left(x.re, x.im\right)\right)\right)\right) \cdot \sqrt[3]{\color{blue}{\left(\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}\right) \cdot \sqrt[3]{y.re}}} - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im} \cdot 1\]
  9. Applied cbrt-prod4.1

    \[\leadsto e^{\left(\left(\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}\right) \cdot \left(1 \cdot \log \left(\mathsf{hypot}\left(x.re, x.im\right)\right)\right)\right) \cdot \color{blue}{\left(\sqrt[3]{\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}} \cdot \sqrt[3]{\sqrt[3]{y.re}}\right)} - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im} \cdot 1\]
  10. Using strategy rm
  11. Applied add-cube-cbrt4.1

    \[\leadsto e^{\left(\left(\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}\right) \cdot \left(1 \cdot \log \left(\mathsf{hypot}\left(x.re, x.im\right)\right)\right)\right) \cdot \left(\sqrt[3]{\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}} \cdot \sqrt[3]{\sqrt[3]{\color{blue}{\left(\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}\right) \cdot \sqrt[3]{y.re}}}}\right) - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im} \cdot 1\]
  12. Applied cbrt-prod4.1

    \[\leadsto e^{\left(\left(\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}\right) \cdot \left(1 \cdot \log \left(\mathsf{hypot}\left(x.re, x.im\right)\right)\right)\right) \cdot \left(\sqrt[3]{\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}} \cdot \sqrt[3]{\color{blue}{\sqrt[3]{\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}} \cdot \sqrt[3]{\sqrt[3]{y.re}}}}\right) - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im} \cdot 1\]
  13. Final simplification4.1

    \[\leadsto e^{\left(\left(\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}\right) \cdot \left(1 \cdot \log \left(\mathsf{hypot}\left(x.re, x.im\right)\right)\right)\right) \cdot \left(\sqrt[3]{\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}} \cdot \sqrt[3]{\sqrt[3]{\sqrt[3]{y.re} \cdot \sqrt[3]{y.re}} \cdot \sqrt[3]{\sqrt[3]{y.re}}}\right) - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im}\]

Reproduce

herbie shell --seed 2019354 +o rules:numerics
(FPCore (x.re x.im y.re y.im)
  :name "powComplex, real part"
  :precision binary64
  (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))))