         Edinburgh IMP77 Compiler - Version 8.4
    1 %externalroutine fred(%real x,y)
		.Ltext0:
				.align	1
				.global	FRED
				.thumb
				.thumb_func
		FRED:
		.LFB185:
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
		.LVL0:
				push	{r3, lr}
		.LBB4:
		.LBB5:
				bl	sqrt(PLT)
		.LVL5:
		.L2:
		.L3:
		.LBE5:
		.LBE4:
    2 %real z
    3
    4 %if x>0 %and y>0 %then %start
				vcmpe.f32	s0, #0
				vmrs	APSR_nzcv, FPSCR
				bls	.L5
    5    z=sqrt(x+y)
				vcmpe.f32	s1, #0
				vmrs	APSR_nzcv, FPSCR
				bls	.L5
				vadd.f32	s0, s0, s1
		.LVL1:
				vcvt.f64.f32	d0, s0
		.LVL2:
				vcmp.f64	d0, #0
				vmrs	APSR_nzcv, FPSCR
				bmi	.L8
		.LVL3:
		.L5:
				bx	lr
		.LVL4:
		.L8:
    6 %else
    7    %monitor
    8 %finish
    9 %end
   10 %endoffile
				pop	{r3, pc}
		.LFE185:
		.Letext0:
    9 Statements compiled
