\frac{\tan^{-1}_* \frac{im}{re}}{\log 10}\frac{1}{\sqrt{\log 10}} \cdot \left(\frac{1}{\sqrt[3]{\sqrt{\log 10}}} \cdot \frac{\frac{\tan^{-1}_* \frac{im}{re}}{\sqrt[3]{\sqrt{\log 10}}}}{\sqrt[3]{\sqrt{\sqrt{\log 10}}} \cdot \sqrt[3]{\sqrt{\sqrt{\log 10}}}}\right)double f(double re, double im) {
double r1621687 = im;
double r1621688 = re;
double r1621689 = atan2(r1621687, r1621688);
double r1621690 = 10.0;
double r1621691 = log(r1621690);
double r1621692 = r1621689 / r1621691;
return r1621692;
}
double f(double re, double im) {
double r1621693 = 1.0;
double r1621694 = 10.0;
double r1621695 = log(r1621694);
double r1621696 = sqrt(r1621695);
double r1621697 = r1621693 / r1621696;
double r1621698 = cbrt(r1621696);
double r1621699 = r1621693 / r1621698;
double r1621700 = im;
double r1621701 = re;
double r1621702 = atan2(r1621700, r1621701);
double r1621703 = r1621702 / r1621698;
double r1621704 = sqrt(r1621696);
double r1621705 = cbrt(r1621704);
double r1621706 = r1621705 * r1621705;
double r1621707 = r1621703 / r1621706;
double r1621708 = r1621699 * r1621707;
double r1621709 = r1621697 * r1621708;
return r1621709;
}



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-cbrt1.5
Applied *-un-lft-identity1.5
Applied times-frac1.5
Applied associate-*r*1.5
Simplified1.5
rmApplied add-sqr-sqrt1.5
Applied sqrt-prod0.2
Applied cbrt-prod0.2
Final simplification0.2
herbie shell --seed 2019179 +o rules:numerics
(FPCore (re im)
:name "math.log10 on complex, imaginary part"
(/ (atan2 im re) (log 10.0)))