double f(double re, double im) {
double r798062 = re;
double r798063 = r798062 * r798062;
double r798064 = im;
double r798065 = r798064 * r798064;
double r798066 = r798063 + r798065;
double r798067 = sqrt(r798066);
double r798068 = log(r798067);
return r798068;
}
double f(double re, double im) {
double r798069 = re;
double r798070 = im;
double r798071 = hypot(r798069, r798070);
double r798072 = log(r798071);
return r798072;
}
\log \left(\sqrt{re \cdot re + im \cdot im}\right)\log \left(\sqrt{re^2 + im^2}^*\right)


Bits error versus re



Bits error versus im
Initial program 30.7
Simplified0.0
Final simplification0.0
herbie shell --seed 2019102 +o rules:numerics
(FPCore (re im)
:name "math.log/1 on complex, real part"
(log (sqrt (+ (* re re) (* im im)))))