OpenQASM3 MLIR Bug for mismatched integer types in binary operations
*Created by: amccaskey*
```cpp
def inverse_qft(int:nc) qubit[nc]:qq {
for i in [0:nc/2] {
swap qq[i], qq[nc-i-1];
}
for i in [0:nc-1] {
h qq[i];
int j = i + 1;
int y = i;
while (y >= 0) {
double theta = -pi / (2^(j-y));
cphase(theta) qq[j], qq[y];
y -= 1;
}
}
h qq[nc-1];
}
```
fails to compile due to the constant 2 being created as i64, while the variable nc is i32. Just need to add ZeroExtendIOp in the right place.
issue