\frac{\tan^{-1}_* \frac{im}{re}}{\log 10}\frac{1}{\sqrt{\log 10}} \cdot \left(\left(\left(\tan^{-1}_* \frac{im}{re} \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right)double f(double re, double im) {
double r32498 = im;
double r32499 = re;
double r32500 = atan2(r32498, r32499);
double r32501 = 10.0;
double r32502 = log(r32501);
double r32503 = r32500 / r32502;
return r32503;
}
double f(double re, double im) {
double r32504 = 1.0;
double r32505 = 10.0;
double r32506 = log(r32505);
double r32507 = sqrt(r32506);
double r32508 = r32504 / r32507;
double r32509 = im;
double r32510 = re;
double r32511 = atan2(r32509, r32510);
double r32512 = sqrt(r32508);
double r32513 = r32511 * r32512;
double r32514 = sqrt(r32512);
double r32515 = r32513 * r32514;
double r32516 = r32515 * r32514;
double r32517 = r32508 * r32516;
return r32517;
}



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-*r*0.8
rmApplied add-sqr-sqrt0.8
Applied sqrt-prod0.1
Applied associate-*r*0.1
Final simplification0.1
herbie shell --seed 2020043
(FPCore (re im)
:name "math.log10 on complex, imaginary part"
:precision binary64
(/ (atan2 im re) (log 10)))