 {
     elina_double_interval_mul2(res_inf, res_sup, inf, sup, inf_expr, sup_expr);
 
-    const float_type maxA = max(fabs(inf_expr), fabs(sup_expr));
+    const float_type maxA = max(abs(inf_expr), abs(sup_expr));
     float_type tmp1, tmp2;
 
     elina_double_interval_mul_symmetric_c(&tmp1, &tmp2, inf, sup, maxA*ulp);


        if((prev_inf_coeff != 0) || (prev_sup_coeff != 0))
        {
            elina_double_interval_mul_cst_coeff(&tmp1, &tmp2, prev_inf_coeff, prev_sup_coeff, aux_csts[i], aux_csts[i]);

            maxRes = max(fabs(inf_cst), fabs(sup_cst));
            maxMul = max(fabs(tmp1), fabs(tmp2));

            inf_cst += tmp1 - (maxRes + maxMul)*ulp - min_denormal;
            sup_cst += tmp2 + (maxRes + maxMul)*ulp + min_denormal;

                {
                    float_type aux_cst = aux_csts[out_z];

                    elina_double_interval_mul_cst_coeff_const_expr(&tmp1, &tmp2, prev_inf_coeff, prev_sup_coeff, aux_cst);

                    maxRes = max(abs(inf_cst), abs(sup_cst));
                    maxMul = max(abs(tmp1), abs(tmp2));

                    inf_cst += tmp1 - (maxRes + maxMul)*ulp - min_denormal;
                    sup_cst += tmp2 + (maxRes + maxMul)*ulp + min_denormal;
