 
     if(expr->sup_coeff[0] < 0)
     {
-        mul_expr = fp->input_lexpr[k];
+        mul_expr = input_lexpr[k];
     }
     else if(expr->inf_coeff[0] < 0)
     {
-        mul_expr = fp->input_uexpr[k];
+        mul_expr = input_uexpr[k];
     }
 
     if(mul_expr != nullptr)

        }
        else
        {
            elina_double_interval_mul(&tmp1, &tmp2, expr->inf_coeff[i], expr->sup_coeff[i], fp->input_inf[k], fp->input_sup[k]);
            res->inf_cst = res->inf_cst + tmp1;
            res->sup_cst = res->sup_cst - tmp1;
        }

    }
    else
    {
        handle_final_non_relu_layer(pr, fp->out, out_neurons, num_out_neurons);
    }
    //fppoly_fprint(stdout, man, fp, nullptr);
}

void ffn_handle_last_relu_layer(elina_manager_t* man, elina_abstract0_t* element, const double** weights, const double* bias, const size_t num_out_neurons, const size_t num_in_neurons, const bool has_relu)
