 __device__
 void elina_double_interval_mul2(float_type* const a_inf, float_type* const a_sup, const float_type b_inf, const float_type b_sup, const float_type c_inf, const float_type c_sup)
 {
-   float_type tmp1 = b_inf*c_inf;
-   float_type tmp2 = b_inf*c_sup;
-   float_type tmp3 = b_sup*c_inf;
-   float_type tmp4 = b_sup*c_sup;
-
-   float_type tmp5 = min(tmp1,tmp2);
-   float_type tmp6 = min(tmp3,tmp4);
-   *a_inf = min(tmp5,tmp6);
-
-   float_type tmp7 = max(tmp1,tmp2);
-   float_type tmp8 = max(tmp3,tmp4);
-   *a_sup = max(tmp7,tmp8);   
+   float_type inf_inf = b_inf*c_inf;
+   float_type inf_sup = b_inf*c_sup;
+   float_type sup_inf = b_sup*c_inf;
+   float_type sup_sup = b_sup*c_sup;
+
+   float_type min1 = min(inf_inf, inf_sup);
+   float_type min2 = min(sup_inf, sup_sup);
+
+   *a_inf = min(min1, min2);
+
+   float_type max1 = max(inf_inf, inf_sup);
+   float_type max2 = max(sup_inf, sup_sup);
+
+   *a_sup = max(max1, max2);
 }
 
 

void elina_double_interval_mul_expr_coeff(float_type* const res_inf, float_type* const res_sup, const float_type inf, const float_type sup, const float_type inf_expr, const float_type sup_expr)
{
    elina_double_interval_mul(res_inf, res_sup, inf, sup, inf_expr, sup_expr);
    const float_type maxA = max(fabs(inf_expr), fabs(sup_expr));
    float_type tmp1, tmp2;
    elina_double_interval_mul(&tmp1, &tmp2, inf, sup, -maxA*ulp, maxA*ulp);
    *res_inf += tmp1;
    *res_sup += tmp2;
}


                    inf_cst[n] += tmp1;
                    sup_cst[n] += tmp1;
                }
            }
        }
