\sqrt{\left(\frac{\left(re \cdot re\right)}{\left(im \cdot im\right)}\right)}\sqrt{\left(\left(\mathsf{qma}\left(\left(\left(re \cdot re\right)\right), im, im\right)\right)\right)}double f(double re, double im) {
double r1127933 = re;
double r1127934 = r1127933 * r1127933;
double r1127935 = im;
double r1127936 = r1127935 * r1127935;
double r1127937 = r1127934 + r1127936;
double r1127938 = sqrt(r1127937);
return r1127938;
}
double f(double re, double im) {
double r1127939 = re;
double r1127940 = r1127939 * r1127939;
double r1127941 = /*Error: no posit support in C */;
double r1127942 = im;
double r1127943 = /*Error: no posit support in C */;
double r1127944 = /*Error: no posit support in C */;
double r1127945 = sqrt(r1127944);
return r1127945;
}



Bits error versus re



Bits error versus im
Initial program 0.6
rmApplied introduce-quire0.6
Applied insert-quire-fdp-add0.5
Final simplification0.5
herbie shell --seed 2019168
(FPCore (re im)
:name "math.abs on complex"
(sqrt.p16 (+.p16 (*.p16 re re) (*.p16 im im))))