\frac{\tan^{-1}_* \frac{im}{re}}{\log 10}\sqrt{\frac{1}{\sqrt{\log 10}}} \cdot \left(\left(\frac{\tan^{-1}_* \frac{im}{re}}{\sqrt{\log 10}} \cdot \left|\frac{1}{\sqrt[3]{\sqrt{\log 10}}}\right|\right) \cdot \sqrt{\frac{\sqrt{1}}{\sqrt[3]{\sqrt{\log 10}}}}\right)double f(double re, double im) {
double r41098 = im;
double r41099 = re;
double r41100 = atan2(r41098, r41099);
double r41101 = 10.0;
double r41102 = log(r41101);
double r41103 = r41100 / r41102;
return r41103;
}
double f(double re, double im) {
double r41104 = 1.0;
double r41105 = 10.0;
double r41106 = log(r41105);
double r41107 = sqrt(r41106);
double r41108 = r41104 / r41107;
double r41109 = sqrt(r41108);
double r41110 = im;
double r41111 = re;
double r41112 = atan2(r41110, r41111);
double r41113 = r41112 / r41107;
double r41114 = cbrt(r41107);
double r41115 = r41104 / r41114;
double r41116 = fabs(r41115);
double r41117 = r41113 * r41116;
double r41118 = sqrt(r41104);
double r41119 = r41118 / r41114;
double r41120 = sqrt(r41119);
double r41121 = r41117 * r41120;
double r41122 = r41109 * r41121;
return r41122;
}



Bits error versus re



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