 
     size_t a = n*num_out_neurons_current_layer + i;
 
-    elina_double_interval_mul_cst_coeff(&res_inf_cst[n], &res_sup_cst[n], expr_inf_coeff[a], expr_sup_coeff[a], aux_inf_cst[i], aux_sup_cst[i]);
+    float_type inf_cst;
+    float_type sup_cst;
+
+    elina_double_interval_mul_cst_coeff(&inf_cst, &sup_cst, expr_inf_coeff[a], expr_sup_coeff[a], aux_inf_cst[i], aux_sup_cst[i]);
 
     float_type tmp1, tmp2;
     float_type maxRes, maxMul;

        {
            elina_double_interval_mul_cst_coeff(&tmp1, &tmp2, expr_inf_coeff[a], expr_sup_coeff[a], aux_inf_cst[i], aux_sup_cst[i]);

            maxRes = fmax(fabs(res_inf_cst[n]), fabs(res_sup_cst[n]));
            maxMul = fmax(fabs(tmp1), fabs(tmp2));

            res_inf_cst[n] += tmp1 + (maxRes + maxMul)*ulp + min_denormal;
            res_sup_cst[n] += tmp2 + (maxRes + maxMul)*ulp + min_denormal;
        }
    }

    res_inf_cst[n] = res_inf_cst[n] + expr_inf_cst[n];
    res_sup_cst[n] = res_sup_cst[n] + expr_sup_cst[n];
}



        const size_t b = n*num_in_neurons_current_layer + j;
        size_t c = i*num_in_neurons_current_layer + j;

        float_type inf_coeff;
        float_type sup_coeff;

        elina_double_interval_mul_expr_coeff(&inf_coeff, &sup_coeff, expr_inf_coeff[a], expr_sup_coeff[a], aux_inf_coeff[c], aux_sup_coeff[c]);

        float_type tmp1, tmp2;
        float_type maxRes, maxMul;
