\frac{\tan^{-1}_* \frac{im}{re}}{\log 10}\frac{\tan^{-1}_* \frac{im}{re} \cdot \left(\sqrt[3]{\frac{1}{\sqrt{\log 10}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\log 10}}}\right)}{\sqrt{\log 10} \cdot \sqrt[3]{\sqrt{\log 10}}}double f(double re, double im) {
double r80125 = im;
double r80126 = re;
double r80127 = atan2(r80125, r80126);
double r80128 = 10.0;
double r80129 = log(r80128);
double r80130 = r80127 / r80129;
return r80130;
}
double f(double re, double im) {
double r80131 = im;
double r80132 = re;
double r80133 = atan2(r80131, r80132);
double r80134 = 1.0;
double r80135 = 10.0;
double r80136 = log(r80135);
double r80137 = sqrt(r80136);
double r80138 = r80134 / r80137;
double r80139 = cbrt(r80138);
double r80140 = r80139 * r80139;
double r80141 = r80133 * r80140;
double r80142 = cbrt(r80137);
double r80143 = r80137 * r80142;
double r80144 = r80141 / r80143;
return r80144;
}



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-cube-cbrt0.8
Applied associate-*r*0.9
rmApplied cbrt-div0.8
Applied associate-*r/0.1
Applied frac-times0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019352 +o rules:numerics
(FPCore (re im)
:name "math.log10 on complex, imaginary part"
:precision binary64
(/ (atan2 im re) (log 10)))