noop variable assert
The variables lta and ltb are no-oping here and may be removed. There are no constraints applied to either variable, the assert statement is a witness computation time operation, not a proving operation.
The only case where they do an operation is if the value of either a or b is attempting to be constrained to the constant 252 bits. If this is the case it should be implemented with Num2Bits directly as LessThan does not apply this constraint.
There is another no-op occurence here. This value should instead be constrained with isz === 0
@cedoor Can I work on this task?
and also replace
lt = LessEqThan(n)([x, y]);
assert(lt == 1);
with
lt = LessEqThan(n)([x, y]);
lt === 1;
@Vishalkulkarni45 yes of course!
@cedoor I've created the PR for this issue here #21. Should I add a range check here too?
lt = LessEqThan(252)([in, 10 ** (75 - W)]);
if in > 2^252 then the comparison may return wrong result
same issue in DivisionFromFloat
lt = LessEqThan(252)([a, 10 ** (75 - W)]);