#include <perms.h>

                                                                //      1  %begin
#line 1 "regression-bugs-tmp/priobug.imp"
int main(int argc, char **argv) {
  __label__ _imp_endofblock;
  _imp_initialise(argc, argv);
                                                                //      2    %integer x, i
_imp_current_line = 2; _imp_current_file = "regression-bugs-tmp/priobug.imp";
#line 2 "regression-bugs-tmp/priobug.imp"
int X;
#line 2 "regression-bugs-tmp/priobug.imp"
int I;
                                                                //      3    x = 1024
_imp_current_line = 3; _imp_current_file = "regression-bugs-tmp/priobug.imp";
#line 3 "regression-bugs-tmp/priobug.imp"
X = 1024;
                                                                //      4    i = 1
_imp_current_line = 4; _imp_current_file = "regression-bugs-tmp/priobug.imp";
#line 4 "regression-bugs-tmp/priobug.imp"
I = 1;
                                                                //      5    x = x >> (i<<2)  ;! generates X = (int)((unsigned int)X >> I << 2); Should be X = (int)((unsigned int)X >> (I << 2));
_imp_current_line = 5; _imp_current_file = "regression-bugs-tmp/priobug.imp";
#line 5 "regression-bugs-tmp/priobug.imp"
X = (int)((((unsigned int)(X)) >> (((I) << (2)))));
                                                                //      6    write(x, 0)      ;! i2c outputs 64, should be 2048 - operator priority/bracketing failure.
_imp_current_line = 6; _imp_current_file = "regression-bugs-tmp/priobug.imp";
#line 6 "regression-bugs-tmp/priobug.imp"
_imp_WRITE(X, 0);
                                                                //      7  %endofprogram
_imp_current_line = 7; _imp_current_file = "regression-bugs-tmp/priobug.imp";
#line 7 "regression-bugs-tmp/priobug.imp"
return 0;
_imp_endofblock: ;
} // End of block _imp_main at level 1
#line 7 "regression-bugs-tmp/priobug.imp"
// End of file
