                                 const size_t filter_index = out_z*filter_size_x*filter_size_y*input_size_z + x_shift*filter_size_y*input_size_z + y_shift*input_size_z + inp_z;
 
                                 const float_type aux_coeff = aux_coeffs[filter_index];
-                                elina_double_interval_mul_expr_coeff(&tmp1, &tmp2, prev_inf_coeff, prev_sup_coeff, aux_coeff, aux_coeff);
-
-                                maxRes = max(fabs(inf_coeff), fabs(sup_coeff));
-                                maxMul = max(fabs(tmp1), fabs(tmp2));
+                                elina_double_interval_mul_expr_coeff_const_expr(&tmp1, &tmp2, prev_inf_coeff, prev_sup_coeff, aux_coeff);
+
+                                maxRes = max(abs(inf_coeff), abs(sup_coeff));
+                                maxMul = max(abs(tmp1), abs(tmp2));
 
                                 inf_coeff = inf_coeff + tmp1 - (maxRes + maxMul)*ulp;
                                 sup_coeff = sup_coeff + tmp2 + (maxRes + maxMul)*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[j], aux_csts[j]);

                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;

{
    elina_double_interval_mul2(res_inf, res_sup, inf, sup, inf_expr, 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);
