         Edinburgh IMP77 Compiler - Version 8.4
    1 !%permintegerfnspec  int pt(%real r)
				.section .mdebug.abi32
				.previous
				.nan	legacy
				.module	fp=xx
				.module	nooddspreg
				.abicalls
		$Ltext0:
				.align	2
				.globl	main
				LFB185 = .
    2 %begin
				.set	nomips16
				.set	nomicromips
				.ent	main
		main:
				.frame	$sp,32,$31		# vars= 0, regs= 1/0, args= 16, gp= 8
				.mask	0x80000000,-4
				.fmask	0x00000000,0
				.set	noreorder
				.set	nomacro
				LVL0 = .
				addiu	$sp,$sp,-32
				sw	$31,28($sp)
				lui	$28,%hi(__gnu_local_gp)
				addiu	$28,$28,%lo(__gnu_local_gp)
				.cprestore	16
    3   %integer x
				lw	$25,%call16(_imp_initialise)($28)
				.reloc	1f,R_MIPS_JALR,_imp_initialise
			1:	jalr	$25
				nop
				LVL1 = .
				lw	$28,16($sp)
				LVL2 = .
				LVL3 = .
				LBB12 = .
				LBB13 = .
				move	$4,$0
				lw	$25,%call16(exit)($28)
				.reloc	1f,R_MIPS_JALR,exit
			1:	jalr	$25
				nop
				LVL4 = .
				LBE13 = .
				LBE12 = .
				.set	macro
				.set	reorder
				.end	main
		$LFE185:
		$Letext0:
    4
    5   x = 2 * 3 + 4       ;! no extra brackets when Imp precedence matches C precedence
    6   x = 2 + 3 * 4       ;! no extra brackets when Imp precedence matches C precedence
    7   x = 2 + 3 * 4 + 5   ;! no extra brackets when Imp precedence matches C precedence
    8
    9   x = 2 * ( 3 + 4)    ;! explicit brackets are honoured
   10   x = (2 * 3) + 4
   11
   12   x = 1 & 2 + 3 & 4   ;! an Imp to C gotcha!
   13
   14   x = 123 & 12 + 234 ! 23 * 345 !! 34 - 45 - INTPT(1.5 ^ 2 / 5.0) << 2 >> 3 ^^ 2 ^^ 2
   15
   16 %endofprogram
   10 Statements compiled
