         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
				.section .mdebug.abi32
				.previous
				.nan	legacy
				.module	fp=xx
				.module	nooddspreg
				.abicalls
		$Ltext0:
				.align	2
				.globl	main
				LFB185 = .
				.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
    2   %integer cond
				lw	$25,%call16(_imp_initialise)($28)
				.reloc	1f,R_MIPS_JALR,_imp_initialise
			1:	jalr	$25
				nop
				LVL1 = .
				lw	$28,16($sp)
				LVL2 = .
				LDL1 = .
				LDL2 = .
				LDL3 = .
				LDL4 = .
				LDL5 = .
				LVL3 = .
				LBB4 = .
				LBB5 = .
				move	$4,$0
				lw	$25,%call16(exit)($28)
				.reloc	1f,R_MIPS_JALR,exit
			1:	jalr	$25
				nop
				LVL4 = .
				LBE5 = .
				LBE4 = .
				.set	macro
				.set	reorder
				.end	main
		$LFE185:
		$Letext0:
    3   cond = 1
    4   !
    5   %if cond # 0 %start
    6     %if cond # 1 %start { generated dangling else error until fixed with extra bracketing }
    7       cond = 4
    8     %finish
    9   %finishelsestart
   10     cond = 3
   11   %finish
   12
   13   ! Same logic but tortured expression of it...
   14   ! this one *would* have still generated dangling else error
   15   ! *IF* the then/else reversal were working as it should! (which it isn't)
   16
   17   %if cond # 0 %start
   18     %if cond = 1 %start
   19     %finishelse cond = 4
   20   %finishelsestart
   21     cond = 3
   22   %finish
   23
   24   ! Let's test the simple reversal on its own...
   25   %if cond = 1 %start
   26   %finishelse cond = 4
   27
   28 %endofprogram
   19 Statements compiled
