         Edinburgh IMP77 Compiler - Version 8.4
    1 %externalroutine fred(%real x,y)
				.section .mdebug.abi32
				.previous
				.nan	legacy
				.module	fp=xx
				.module	nooddspreg
				.abicalls
		$Ltext0:
				.align	2
				.globl	FRED
				LFB185 = .
				.set	nomips16
				.set	nomicromips
				.ent	FRED
		FRED:
				.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)
    2 %real z
    3
    4 %if x>0 %and y>0 %then %start
				mtc1	$0,$f0
				c.le.s	$fcc0,$f12,$f0
				bc1t	$fcc0,$L1
				.cprestore	16
    5    z=sqrt(x+y)
				c.le.s	$fcc1,$f14,$f0
				bc1t	$fcc1,$L6
				lw	$31,28($sp)
				add.s	$f12,$f12,$f14
				LVL1 = .
				cvt.d.s	$f12,$f12
				LVL2 = .
				mtc1	$0,$f0
				mthc1	$0,$f0
				c.ule.d	$fcc2,$f0,$f12
				bc1f	$fcc2,$L5
				lw	$25,%call16(sqrt)($28)
				L2 = .
				L3 = .
				LVL3 = .
		$L1:
    6 %else
    7    %monitor
    8 %finish
    9 %end
				.option	pic0
				b	$L6
				.option	pic2
				lw	$31,28($sp)
				.set	macro
				.set	reorder
				.end	FRED
		$LFE185:
		$Letext0:
   10 %endoffile
				lw	$31,28($sp)
		$L6:
				jr	$31
				addiu	$sp,$sp,32
				LVL4 = .
		$L5:
				LBB4 = .
				LBB5 = .
				.reloc	1f,R_MIPS_JALR,sqrt
			1:	jalr	$25
				nop
				LVL5 = .
				lw	$28,16($sp)
				LVL6 = .
				LBE5 = .
				LBE4 = .
    9 Statements compiled
