         Edinburgh IMP77 Compiler - Version 8.4
    1 %externalroutine fred(%real x,y)
				.option nopic
		.Ltext0:
				.align	1
				.globl	FRED
		FRED:
		.LFB185:
		.LVL0:
				add	sp,sp,-16
				sd	ra,8(sp)
		.LBB4:
		.LBB5:
				call	sqrt
		.LVL5:
		.L2:
		.L3:
		.LBE5:
		.LBE4:
    2 %real z
    3
    4 %if x>0 %and y>0 %then %start
				fmv.s.x	fa5,zero
				fle.s	a5,fa0,fa5
				bnez	a5,.L5
    5    z=sqrt(x+y)
				fle.s	a5,fa1,fa5
				bnez	a5,.L5
				fadd.s	fa0,fa0,fa1
		.LVL1:
				fcvt.d.s	fa0,fa0
		.LVL2:
				fmv.d.x	fa5,zero
				frflags	a4
				flt.d	a5,fa0,fa5
				fsflags a4
				bnez	a5,.L8
		.LVL3:
		.L5:
				ret
		.LVL4:
		.L8:
    6 %else
    7    %monitor
    8 %finish
    9 %end
   10 %endoffile
				ld	ra,8(sp)
				add	sp,sp,16
				jr	ra
		.LFE185:
		.Letext0:
    9 Statements compiled
