In elements_simplicity_execSimplicity we clamp the passed budget value to ensure it does not exceed BUDGET_MAX. But we do not check for negative values. If you pass a negative value, it will be casted to a ubounded that exceeds BUDGET_MAX, eventually triggering an assertion failure in eval.c.
There are three ways we might handle negative values:
In
elements_simplicity_execSimplicity
we clamp the passedbudget
value to ensure it does not exceedBUDGET_MAX
. But we do not check for negative values. If you pass a negative value, it will be casted to aubounded
that exceedsBUDGET_MAX
, eventually triggering an assertion failure in eval.c.There are three ways we might handle negative values:
I have no preference about which.