\frac{\tan^{-1}_* \frac{im}{re}}{\log 10}\left(\left(\sqrt{\frac{1}{\sqrt[3]{\sqrt{\log 10}}}} \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\sqrt{\log 10}}\right) \cdot \sqrt{\frac{1}{\sqrt[3]{\sqrt{\log 10}} \cdot \sqrt[3]{\sqrt{\log 10}}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}double f(double re, double im) {
double r40936 = im;
double r40937 = re;
double r40938 = atan2(r40936, r40937);
double r40939 = 10.0;
double r40940 = log(r40939);
double r40941 = r40938 / r40940;
return r40941;
}
double f(double re, double im) {
double r40942 = 1.0;
double r40943 = 10.0;
double r40944 = log(r40943);
double r40945 = sqrt(r40944);
double r40946 = cbrt(r40945);
double r40947 = r40942 / r40946;
double r40948 = sqrt(r40947);
double r40949 = im;
double r40950 = re;
double r40951 = atan2(r40949, r40950);
double r40952 = r40951 / r40945;
double r40953 = r40948 * r40952;
double r40954 = r40946 * r40946;
double r40955 = r40942 / r40954;
double r40956 = sqrt(r40955);
double r40957 = r40953 * r40956;
double r40958 = r40942 / r40945;
double r40959 = sqrt(r40958);
double r40960 = r40957 * r40959;
return r40960;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.9
rmApplied add-sqr-sqrt0.9
Applied *-un-lft-identity0.9
Applied times-frac0.8
rmApplied add-sqr-sqrt0.8
Applied associate-*l*0.9
rmApplied add-cube-cbrt0.1
Applied add-sqr-sqrt0.1
Applied times-frac0.1
Applied sqrt-prod0.1
Applied associate-*l*0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019323
(FPCore (re im)
:name "math.log10 on complex, imaginary part"
:precision binary64
(/ (atan2 im re) (log 10)))