         Edinburgh IMP77 Compiler - Version 8.4
    1 %realslong
				.section .mdebug.abi32
				.previous
				.nan	legacy
				.module	fp=xx
				.module	nooddspreg
				.abicalls
		$Ltext0:
				.align	2
				LFB187 = .
    2
    3 %begin
				.set	nomips16
				.set	nomicromips
				.ent	main
		main:
				.frame	$sp,5776,$31		# vars= 5448, regs= 3/12, args= 256, gp= 8
				.mask	0x80030000,-52
				.fmask	0xfff00000,-8
				.set	noreorder
				.set	nomacro
				LVL73 = .
				addiu	$sp,$sp,-5776
				sw	$31,5724($sp)
				sw	$17,5720($sp)
				sw	$16,5716($sp)
				sdc1	$f30,5768($sp)
				sdc1	$f28,5760($sp)
				sdc1	$f26,5752($sp)
				sdc1	$f24,5744($sp)
				sdc1	$f22,5736($sp)
				sdc1	$f20,5728($sp)
				lui	$28,%hi(__gnu_local_gp)
				addiu	$28,$28,%lo(__gnu_local_gp)
				.cprestore	256
				lw	$2,%got(__stack_chk_guard)($28)
				lw	$2,0($2)
				sw	$2,5708($sp)
				addiu	$2,$sp,5776
				sw	$2,5696($sp)
    4     %integer a line, b line, c line, d line,
				lw	$25,%call16(_imp_initialise)($28)
				.reloc	1f,R_MIPS_JALR,_imp_initialise
			1:	jalr	$25
				nop
				LVL74 = .
				lw	$28,256($sp)
				LVL75 = .
				LVL76 = .
    5              e line, f line, g prime line,
    6              h line
    7     %real %array spectral line(1:8)
    8     %integer current surfaces
    9     %real %array test case(1:4, 1:4)
   10     %integer curvature radius, index of refraction, dispersion,
   11         edge thickness
   12
   13     %real clear aperture, aberr lspher, aberr osc, aberr lchrom,
   14          max lspher, max osc, max lchrom, radius of curvature,
   15          object distance, ray height, axis slope angle,
   16          from index, to index
   17     %integer number of iterations, iteration
   18     %integer paraxial, marginal ray, paraxial ray
   19     %integer od field, sa field
   20     %real %array od sa(1:2, 1:2)
   21     %real od cline, od fline
   22     %real %fn cot(%real x)
   23         %result = 1.0 / (sin(x) / cos(x))
				mtc1	$23,$f0
				mthc1	$22,$f0
				LBE138 = .
				LBE137 = .
				LBE136 = .
				LBE135 = .
				LBE133 = .
				.option	pic0
				b	$L17
				.option	pic2
				sdc1	$f0,544($sp)
				LVL18 = .
		$L38:
				LBB168 = .
				div.d	$f28,$f28,$f30
				ldc1	$f2,544($sp)
				div.d	$f28,$f2,$f28
				LBE139 = .
				LBE146 = .
   24     %end {cot}
   25     %real %fn arc sin(%real x)
				.set	nomips16
				.set	nomicromips
				.ent	ARCSIN.6039
		ARCSIN.6039:
				.frame	$sp,48,$31		# vars= 0, regs= 1/4, args= 16, gp= 8
				.mask	0x80000000,-20
				.fmask	0x00f00000,-8
				.set	noreorder
				.set	nomacro
				LVL0 = .
				addiu	$sp,$sp,-48
				sw	$31,28($sp)
				sdc1	$f22,40($sp)
				sdc1	$f20,32($sp)
				lui	$28,%hi(__gnu_local_gp)
				addiu	$28,$28,%lo(__gnu_local_gp)
				.cprestore	16
				mov.d	$f22,$f12
				LBB102 = .
				LBB103 = .
				mul.d	$f0,$f12,$f12
				LBE103 = .
				LBE102 = .
   26         %result = 2 * arc tan1(x / (1 + sqrt(1 - x^2)))
				lui	$2,%hi($LC8)
				ldc1	$f12,%lo($LC8)($2)
				LVL1 = .
				sub.d	$f12,$f12,$f0
				LVL2 = .
				mtc1	$0,$f0
				mthc1	$0,$f0
				c.ule.d	$fcc0,$f0,$f12
				bc1f	$fcc0,$L4
				sqrt.d	$f20,$f12
				LVL3 = .
				lui	$2,%hi($LC8)
		$L5:
				ldc1	$f12,%lo($LC8)($2)
				add.d	$f12,$f20,$f12
				LBB104 = .
				LBB105 = .
				div.d	$f12,$f22,$f12
				LVL4 = .
				lw	$25,%call16(atan)($28)
				.reloc	1f,R_MIPS_JALR,atan
			1:	jalr	$25
				nop
				LVL5 = .
				lw	$28,16($sp)
				LVL6 = .
				LVL7 = .
				LBE105 = .
				LBE104 = .
				.option	pic0
				b	$L5
				.option	pic2
				lui	$2,%hi($LC8)
				.set	macro
				.set	reorder
				.end	ARCSIN.6039
		$LFE187:
				.section	.rodata.str1.4,"aMS",@progbits,1
				.align	2
		$LC9:
				.ascii	"Illegal cycle I = 1, 1, CURRENTSURFACES\000"
				.rdata
				.align	2
		$LC0:
				.byte	19
				.ascii	"test-new/fbench.imp\000"
				.space	235
				.align	2
				LFB190 = .
   27     %end {arc sin}
				add.d	$f0,$f0,$f0
				lw	$31,28($sp)
				ldc1	$f22,40($sp)
				LVL8 = .
				ldc1	$f20,32($sp)
				jr	$31
				addiu	$sp,$sp,48
				LVL9 = .
		$L4:
				LBB106 = .
				LBB107 = .
				lw	$25,%call16(sqrt)($28)
				.reloc	1f,R_MIPS_JALR,sqrt
			1:	jalr	$25
				nop
				LVL10 = .
				lw	$28,16($sp)
				LVL11 = .
				LBE107 = .
				LBE106 = .
   28     %routine out big real(%integer channel, %real x)
   29         %real fraction
   30         fraction = x
   31     %end {out big real}
?CHANNEL unused
   32     %routine transit surface
   33         %real iang, rang, iang sin, rang sin,
   34               old axis slope angle, sagitta
   35         %if paraxial = paraxial ray %then %start
				lw	$3,276($16)
				lw	$2,272($16)
				beq	$3,$2,$L39
				nop
				L19 = .
   36             %if radius of curvature # 0 %then %start
				mtc1	$0,$f0
				mthc1	$0,$f0
				c.eq.d	$fcc1,$f20,$f0
				bc1t	$fcc1,$L20
				nop
   37                 %if object distance = 0 %then %start
				ldc1	$f10,224($16)
				c.eq.d	$fcc2,$f10,$f0
				bc1f	$fcc2,$L21
				nop
   38                     axis slope angle = 0
   39                     iang sin = ray height / radius of curvature
				ldc1	$f0,208($16)
				div.d	$f0,$f0,$f20
				LVL27 = .
   40                 %finish %else                                         %c
   41                     iang sin = ((object distance -                    %c
   42                         radius of curvature) / radius of curvature) * %c
   43                         axis slope angle
				ldc1	$f12,216($16)
				sub.d	$f0,$f10,$f20
				div.d	$f20,$f0,$f20
				mul.d	$f20,$f20,$f12
				LVL31 = .
   44                 rang sin = (from index / to index) * iang sin
				ldc1	$f2,200($16)
				ldc1	$f6,192($16)
				div.d	$f2,$f2,$f6
				mul.d	$f0,$f2,$f0
				LVL28 = .
				ldc1	$f0,200($16)
				ldc1	$f4,192($16)
				div.d	$f0,$f0,$f4
				mul.d	$f0,$f0,$f20
				LVL32 = .
   45                 old axis slope angle = axis slope angle
   46                 axis slope angle = axis slope angle +                 %c
				mtc1	$0,$f4
				mthc1	$0,$f4
				add.d	$f4,$f0,$f4
				sub.d	$f0,$f4,$f0
				LVL29 = .
				LBE155 = .
				LBE162 = .
				LBE169 = .
				.option	pic0
				b	$L22
				.option	pic2
				sdc1	$f0,216($16)
				LVL30 = .
		$L21:
				LBB170 = .
				LBB163 = .
				LBB156 = .
				add.d	$f8,$f12,$f20
				sub.d	$f0,$f8,$f0
				LVL33 = .
				sdc1	$f0,216($16)
   47                     iang sin - rang sin
   48                 %if object distance # 0 %then                         %c
   49                     ray height = object distance * old axis slope angle
				mul.d	$f10,$f10,$f12
				sdc1	$f10,208($16)
				LVL34 = .
		$L22:
   50                 object distance = ray height / axis slope angle
				ldc1	$f8,208($16)
				div.d	$f8,$f8,$f0
				LBE156 = .
				LBE163 = .
				LBE170 = .
				.option	pic0
				b	$L28
				.option	pic2
				sdc1	$f8,224($16)
		$L20:
				LBB171 = .
				LBB164 = .
				LBB157 = .
   51             %else
   52                 object distance = object distance * (to index / from index)
				ldc1	$f4,192($16)
				ldc1	$f2,200($16)
				div.d	$f6,$f4,$f2
				ldc1	$f0,224($16)
				mul.d	$f0,$f0,$f6
				sdc1	$f0,224($16)
   53                 axis slope angle = axis slope angle * (from index / to index)
				div.d	$f2,$f2,$f4
				ldc1	$f0,216($16)
				mul.d	$f2,$f0,$f2
				LBE157 = .
				LBE164 = .
				LBE171 = .
				.option	pic0
				b	$L28
				.option	pic2
				sdc1	$f2,216($16)
		$L25:
				LVL35 = .
				LBB172 = .
				LBB165 = .
				LBB158 = .
				LBB140 = .
				LBB141 = .
				ldc1	$f12,216($16)
				.reloc	1f,R_MIPS_JALR,sin
			1:	jalr	$25
				nop
				LVL36 = .
				lw	$28,528($sp)
				LVL37 = .
				LBE141 = .
				LBE140 = .
   54             %finish
   55         %else
   56             %if radius of curvature # 0 %then %start
				mtc1	$0,$f0
				mthc1	$0,$f0
				c.eq.d	$fcc3,$f20,$f0
				bc1t	$fcc3,$L24
				lw	$25,%call16(sin)($28)
   57                 %if object distance = 0 %then %start
				ldc1	$f22,224($16)
				c.eq.d	$fcc4,$f22,$f0
				bc1f	$fcc4,$L25
				nop
   58                     axis slope angle = 0
				sdc1	$f0,216($16)
   59                     iang sin = ray height / radius of curvature
				ldc1	$f0,208($16)
				LVL58 = .
				LBE159 = .
				LBE166 = .
				LBE172 = .
				.option	pic0
				b	$L26
				.option	pic2
				div.d	$f20,$f0,$f20
				LVL59 = .
		$L24:
				LBB173 = .
				LBB167 = .
				LBB160 = .
				LBB149 = .
				LBB150 = .
				ldc1	$f12,216($16)
				.reloc	1f,R_MIPS_JALR,sin
			1:	jalr	$25
				nop
				LVL60 = .
				lw	$28,528($sp)
				LVL61 = .
				LBE150 = .
				LBE149 = .
   60                 %finish %else %c
   61                     iang sin = ((object distance -                    %c
   62                         radius of curvature) / radius of curvature) * %c
   63                         sin(axis slope angle)
				sub.d	$f22,$f22,$f20
				div.d	$f20,$f22,$f20
				mul.d	$f20,$f20,$f0
				LVL38 = .
		$L26:
   64                 iang = arc sin(iang sin)
				mov.d	$f12,$f20
				.option	pic0
				jal	ARCSIN.6039
				nop
				.option	pic2
				LVL39 = .
				lw	$28,528($sp)
				LVL40 = .
   65                 rang sin = (from index / to index) * iang sin
				ldc1	$f12,200($16)
				ldc1	$f0,192($16)
				LVL41 = .
				div.d	$f12,$f12,$f0
   66                 old axis slope angle = axis slope angle
   67                 axis slope angle = axis slope angle +                 %c
				ldc1	$f22,216($16)
				add.d	$f22,$f0,$f22
				mul.d	$f12,$f12,$f20
				LVL42 = .
				.option	pic0
				jal	ARCSIN.6039
				nop
				.option	pic2
				LVL43 = .
				lw	$28,528($sp)
				LVL44 = .
				sub.d	$f20,$f22,$f0
				LVL45 = .
				addiu	$7,$sp,552
				addiu	$6,$sp,560
				mov.d	$f12,$f20
				lw	$25,%call16(sincos)($28)
				.reloc	1f,R_MIPS_JALR,sincos
			1:	jalr	$25
				nop
				LVL46 = .
				lw	$28,528($sp)
				ldc1	$f30,552($sp)
				ldc1	$f28,560($sp)
				sdc1	$f20,216($16)
   68                     iang - arcsin(rang sin)
   69
   70 ! for some reason imp2021 likes this but not the original!:
   71 sagitta = 2 * radius of curvature * (sin((old axis slope angle + iang) / 2) ^ 2)
				lui	$3,%hi($LC10)
				ldc1	$f0,%lo($LC10)($3)
				sdc1	$f0,536($sp)
				LBB137 = .
				LBB138 = .
				ldc1	$f20,232($16)
				LVL47 = .
				LBB142 = .
				LBB143 = .
				ldc1	$f0,536($sp)
				mul.d	$f12,$f22,$f0
				lw	$25,%call16(sin)($28)
				.reloc	1f,R_MIPS_JALR,sin
			1:	jalr	$25
				nop
				LVL48 = .
				lw	$28,528($sp)
				mov.d	$f24,$f0
				LVL49 = .
				LBE143 = .
				LBE142 = .
				LBB144 = .
				LBB145 = .
				mov.d	$f12,$f22
				lw	$25,%call16(sin)($28)
				.reloc	1f,R_MIPS_JALR,sin
			1:	jalr	$25
				nop
				LVL50 = .
				lw	$28,528($sp)
				LVL51 = .
				LVL52 = .
				LBE145 = .
				LBE144 = .
				LBB146 = .
				LBB139 = .
				add.d	$f20,$f20,$f20
				LVL53 = .
				LBB147 = .
				LBB148 = .
				mul.d	$f24,$f24,$f24
				LBE148 = .
				LBE147 = .
				mul.d	$f20,$f20,$f24
				LVL54 = .
   72
   73 !                sagitta = sin((old axis slope angle + iang) / 2)
   74 !                sagitta = 2 * radius of curvature * (sagitta ^ 2)
   75 !%comment                 sagitta = sin((old axis slope angle + iang) / 2)
   76 !%comment                 sagitta = 2 * radius of curvature * (sagitta ^ 2)
   77
   78
   79 object distance = ((radius of curvature *             %c
				mul.d	$f0,$f20,$f0
				madd.d	$f28,$f20,$f28,$f0
				sdc1	$f28,224($16)
				L23 = .
				L27 = .
				LVL55 = .
		$L28:
				LBE158 = .
				LBE165 = .
   80                     sin(old axis slope angle + iang)) *               %c
   81                     cot(axis slope angle)) + sagitta
   82             %else
   83                 rang = -arcsin((from index / to index) *              %c
				ldc1	$f12,200($16)
				ldc1	$f2,192($16)
				div.d	$f12,$f12,$f2
				mul.d	$f12,$f12,$f0
				.option	pic0
				jal	ARCSIN.6039
				nop
				.option	pic2
				LVL62 = .
				lw	$28,528($sp)
				mov.d	$f22,$f0
				LVL63 = .
				LBB151 = .
				LBB152 = .
				mov.d	$f12,$f0
				lw	$25,%call16(cos)($28)
				.reloc	1f,R_MIPS_JALR,cos
			1:	jalr	$25
				nop
				LVL64 = .
				lw	$28,528($sp)
				LVL65 = .
				mov.d	$f20,$f0
				LVL66 = .
				LBE152 = .
				LBE151 = .
				LBB153 = .
				LBB154 = .
				ldc1	$f12,216($16)
				lw	$25,%call16(cos)($28)
				.reloc	1f,R_MIPS_JALR,cos
			1:	jalr	$25
				nop
				LVL67 = .
				lw	$28,528($sp)
				LVL68 = .
				LBE154 = .
				LBE153 = .
   84                     sin(axis slope angle))
   85                 object distance = object distance * ((to index *      %c
				ldc1	$f2,192($16)
				mul.d	$f20,$f20,$f2
				ldc1	$f6,200($16)
				mul.d	$f0,$f0,$f6
				div.d	$f20,$f20,$f0
				ldc1	$f4,224($16)
				mul.d	$f20,$f4,$f20
				sdc1	$f20,224($16)
				LBE160 = .
				LBE167 = .
				LBE173 = .
   86                     cos(-rang)) / (from index *                       %c
   87                     cos(axis slope angle)))
   88                 axis slope angle = -rang
				.option	pic0
				b	$L28
				.option	pic2
				sdc1	$f22,216($16)
				L16 = .
				LVL69 = .
		$L6:
   89             %finish
   90         %finish
   91     %end {transit surface}
   92     %routine trace line(%integer line, %real ray h)
				.set	nomips16
				.set	nomicromips
				.ent	TRACELINE.6068
		TRACELINE.6068:
				.frame	$sp,1424,$31		# vars= 808, regs= 8/12, args= 528, gp= 8
				.mask	0x80df0000,-52
				.fmask	0xfff00000,-8
				.set	noreorder
				.set	nomacro
				LVL12 = .
				addiu	$sp,$sp,-1424
				sw	$31,1372($sp)
				sw	$23,1368($sp)
				sw	$22,1364($sp)
				sw	$20,1360($sp)
				sw	$19,1356($sp)
				sw	$18,1352($sp)
				sw	$17,1348($sp)
				sw	$16,1344($sp)
				sdc1	$f30,1416($sp)
				sdc1	$f28,1408($sp)
				sdc1	$f26,1400($sp)
				sdc1	$f24,1392($sp)
				sdc1	$f22,1384($sp)
				sdc1	$f20,1376($sp)
				lui	$28,%hi(__gnu_local_gp)
				addiu	$28,$28,%lo(__gnu_local_gp)
				.cprestore	528
				move	$19,$4
				move	$16,$15
				lw	$2,%got(__stack_chk_guard)($28)
				lw	$2,0($2)
				sw	$2,1340($sp)
   93         %integer i
   94         object distance = 0
				sw	$0,228($15)
				sw	$0,224($15)
   95         ray height = ray h
				sw	$7,212($15)
				sw	$6,208($15)
   96         from index = 1
				lui	$2,%hi($LC8)
				ldc1	$f0,%lo($LC8)($2)
				sdc1	$f0,200($15)
				LBB133 = .
   97         %for i = 1, 1, current surfaces %cycle
   98             radius of curvature = test case(i, curvature radius)
				lw	$20,268($15)
				LVL13 = .
				LBB134 = .
				sll	$2,$17,2
				lw	$3,264($16)
				addu	$3,$2,$3
				addiu	$3,$3,7
				sll	$3,$3,3
				addu	$3,$16,$3
				ldc1	$f20,0($3)
				sdc1	$f20,232($16)
   99             to index = test case(i, index of refraction)
				addiu	$2,$20,-1
				LVL14 = .
				LBE134 = .
				bltz	$2,$L38
				lw	$2,%got(_imp_current_file)($28)
				LVL15 = .
		$L7:
				lw	$5,0($2)
				beq	$5,$0,$L8
				addiu	$4,$sp,828
				LVL19 = .
				lw	$25,%call16(_imp_c2istr)($28)
				.reloc	1f,R_MIPS_JALR,_imp_c2istr
			1:	jalr	$25
				nop
				LVL20 = .
				lw	$28,528($sp)
				LVL21 = .
				lw	$2,%got(_imp_current_line)($28)
		$L41:
				lw	$18,0($2)
				bne	$18,$0,$L42
				lui	$5,%hi($LC9)
				li	$18,99			# 0x63
		$L42:
				addiu	$5,$5,%lo($LC9)
				addiu	$17,$sp,1084
				move	$4,$17
				lw	$25,%call16(_imp_c2istr)($28)
				.reloc	1f,R_MIPS_JALR,_imp_c2istr
			1:	jalr	$25
				nop
				LVL22 = .
				lw	$28,528($sp)
				sw	$0,524($sp)
				li	$2,1			# 0x1
				sw	$2,520($sp)
				li	$2,5			# 0x5
				sw	$2,516($sp)
				move	$4,$17
				addiu	$2,$sp,260
				addiu	$3,$sp,1340
		$L14:
				lw	$8,0($4)
				lw	$7,4($4)
				lw	$6,8($4)
				lw	$5,12($4)
				sw	$8,0($2)
				sw	$7,4($2)
				sw	$6,8($2)
				sw	$5,12($2)
				addiu	$4,$4,16
				bne	$4,$3,$L14
				addiu	$2,$2,16
				sw	$18,256($sp)
				addiu	$2,$sp,844
				addiu	$3,$sp,16
				addiu	$4,$sp,1084
		$L15:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L15
				addiu	$3,$3,16
				lw	$4,828($sp)
				lw	$5,832($sp)
				lw	$6,836($sp)
				lw	$7,840($sp)
				lw	$25,%call16(_signal_event)($28)
				.reloc	1f,R_MIPS_JALR,_signal_event
			1:	jalr	$25
				nop
				LVL23 = .
				lw	$28,528($sp)
				.option	pic0
				b	$L7
				nop
				.option	pic2
				LVL24 = .
		$L8:
				LBB161 = .
				lui	$2,%hi($LC0)
				addiu	$2,$2,%lo($LC0)
				addiu	$3,$sp,1084
				addiu	$4,$2,256
				LVL25 = .
		$L10:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L10
				addiu	$3,$3,16
				addiu	$2,$sp,1084
				addiu	$3,$sp,572
				addiu	$4,$sp,1340
		$L11:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L11
				addiu	$3,$3,16
				LBE161 = .
				addiu	$2,$sp,572
				addiu	$3,$sp,828
				move	$4,$3
		$L12:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L12
				addiu	$3,$3,16
				LBE168 = .
				.option	pic0
				b	$L41
				.option	pic2
				lw	$2,%got(_imp_current_line)($28)
				LVL26 = .
		$L39:
				LBB169 = .
				LBB162 = .
				LBB155 = .
				lw	$3,260($16)
				addu	$2,$2,$3
				addiu	$2,$2,7
				sll	$2,$2,3
				addu	$2,$16,$2
				ldc1	$f4,0($2)
  100             %if to index > 1 %then                                     %c
				lui	$2,%hi($LC8)
				ldc1	$f26,%lo($LC8)($2)
				c.le.d	$fcc0,$f4,$f26
				bc1t	$fcc0,$L18
				sdc1	$f4,192($16)
  101                 to index = to index + ((spectral line(d line) -        %c
				addiu	$19,$19,-1
				LVL16 = .
				sll	$19,$19,3
				LVL17 = .
				addu	$19,$16,$19
				mfc1	$23,$f26
				mfhc1	$22,$f26
				LBB135 = .
				LBB136 = .
				lw	$2,256($16)
				addiu	$2,$2,-1
				sll	$2,$2,3
				addu	$2,$16,$2
				ldc1	$f2,0($2)
				ldc1	$f0,0($19)
				sub.d	$f0,$f2,$f0
				lw	$3,252($16)
				addiu	$3,$3,-1
				sll	$3,$3,3
				addu	$3,$16,$3
				lw	$2,248($16)
				addiu	$2,$2,-1
				sll	$2,$2,3
				addu	$2,$16,$2
				ldc1	$f2,0($3)
				ldc1	$f6,0($2)
				sub.d	$f2,$f2,$f6
				div.d	$f0,$f0,$f2
				mtc1	$23,$f2
				mthc1	$22,$f2
				sub.d	$f2,$f4,$f2
				sll	$2,$17,2
				lw	$3,244($16)
				addu	$2,$2,$3
				addiu	$2,$2,7
				sll	$2,$2,3
				addu	$2,$16,$2
				ldc1	$f6,0($2)
				div.d	$f2,$f2,$f6
				madd.d	$f0,$f4,$f0,$f2
				sdc1	$f0,192($16)
		$L18:
				LBB166 = .
				LBB159 = .
  102                     spectral line(line)) /                             %c
				beq	$20,$0,$L6
				move	$17,$0
				beq	$20,$18,$L6
				move	$17,$18
				LVL56 = .
		$L17:
  103                     (spectral line(c line) - spectral line(f line))) * %c
				addiu	$18,$17,1
				LVL57 = .
  104                     ((test case(i, index of refraction) - 1.0) /       %c
  105                     test case(i, dispersion))
  106             transit surface
  107             from index = to index
				ldc1	$f0,192($16)
				sdc1	$f0,200($16)
  108             %if i < current surfaces %then                             %c
				lw	$2,268($16)
				slt	$2,$18,$2
				beq	$2,$0,$L29
				sll	$2,$17,2
  109                 object distance = object distance -                    %c
				lw	$17,240($16)
				addu	$2,$2,$17
				addiu	$2,$2,7
				sll	$2,$2,3
				addu	$2,$16,$2
				ldc1	$f0,224($16)
				ldc1	$f2,0($2)
				sub.d	$f0,$f0,$f2
				sdc1	$f0,224($16)
		$L29:
  110                     test case(i, edge thickness)
  111         %repeat
  112     %end {trace line}
  113     %comment END GLOBAL DECLARATONS
				lw	$3,1340($sp)
				lw	$2,%got(__stack_chk_guard)($28)
				lw	$2,0($2)
				bne	$3,$2,$L40
				lw	$31,1372($sp)
				lw	$23,1368($sp)
				lw	$22,1364($sp)
				lw	$20,1360($sp)
				LVL70 = .
				lw	$19,1356($sp)
				lw	$18,1352($sp)
				lw	$17,1348($sp)
				lw	$16,1344($sp)
				ldc1	$f30,1416($sp)
				ldc1	$f28,1408($sp)
				ldc1	$f26,1400($sp)
				ldc1	$f24,1392($sp)
				ldc1	$f22,1384($sp)
				ldc1	$f20,1376($sp)
				jr	$31
				addiu	$sp,$sp,1424
				LVL71 = .
		$L40:
				lw	$25,%call16(__stack_chk_fail)($28)
				.reloc	1f,R_MIPS_JALR,__stack_chk_fail
			1:	jalr	$25
				nop
				LVL72 = .
				.set	macro
				.set	reorder
				.end	TRACELINE.6068
		$LFE190:
				.rdata
				.align	2
		$LC1:
				.byte	18
				.ascii	"  Marginal ray    \000"
				.space	236
				.align	2
		$LC2:
				.byte	3
				.ascii	"   \000"
				.space	251
				.align	2
		$LC3:
				.byte	18
				.ascii	"  Paraxial ray    \000"
				.space	236
				.align	2
		$LC4:
				.byte	35
				.ascii	"Longitudinal spherical aberration: \000"
				.space	219
				.align	2
		$LC5:
				.byte	27
				.ascii	"    (Maximum permissible): \000"
				.space	227
				.align	2
		$LC6:
				.byte	39
				.ascii	"Offense against sine condition (coma): \000"
				.space	215
				.align	2
		$LC7:
				.byte	28
				.ascii	"Axial chromatic aberration: \000"
				.space	226
				.align	2
				.globl	main
				LFB185 = .
  114     %comment Spectral lines
  115     a line = 1; b line = 2; c line = 3; d line = 4
  116         e line = 5; f line = 6; g prime line = 7
  117         h line = 8
				li	$4,3			# 0x3
				sw	$4,5668($sp)
				li	$3,6			# 0x6
				sw	$3,5664($sp)
				LVL78 = .
				lui	$3,%hi($LC11)
				ldc1	$f0,%lo($LC11)($3)
				sdc1	$f0,5416($sp)
  118     spectral line(a line)       = 7621.0
				li	$2,4			# 0x4
				sw	$2,5672($sp)
				LVL77 = .
  119     spectral line(b line)       = 6869.955
				lui	$3,%hi($LC12)
				ldc1	$f0,%lo($LC12)($3)
				sdc1	$f0,5424($sp)
  120     spectral line(c line)       = 6562.8160
				lui	$3,%hi($LC13)
				ldc1	$f0,%lo($LC13)($3)
				sdc1	$f0,5432($sp)
  121     spectral line(d line)       = 5895.944
				lui	$3,%hi($LC14)
				ldc1	$f0,%lo($LC14)($3)
				sdc1	$f0,5440($sp)
  122     spectral line(e line)       = 5269.557
				lui	$3,%hi($LC15)
				ldc1	$f0,%lo($LC15)($3)
				sdc1	$f0,5448($sp)
  123     spectral line(f line)       = 4861.344
				lui	$3,%hi($LC16)
				ldc1	$f0,%lo($LC16)($3)
				sdc1	$f0,5456($sp)
  124     spectral line(g prime line) = 4340.477
				lui	$3,%hi($LC17)
				ldc1	$f0,%lo($LC17)($3)
				sdc1	$f0,5464($sp)
  125     spectral line(h line)       = 3968.494
				lui	$3,%hi($LC18)
				ldc1	$f0,%lo($LC18)($3)
				sdc1	$f0,5472($sp)
  126     %comment  Initialise the test case array
  127     current surfaces = 4
				sw	$2,5684($sp)
  128     curvature radius = 1; index of refraction = 2; dispersion = 3
				li	$3,1			# 0x1
				sw	$3,5680($sp)
  129         edge thickness = 4
				li	$3,2			# 0x2
				sw	$3,5676($sp)
				sw	$2,5656($sp)
				lui	$2,%hi($LC19)
				ldc1	$f0,%lo($LC19)($2)
				sdc1	$f0,5480($sp)
  130     test case(1, curvature radius)    =   27.05
				sw	$4,5660($sp)
  131     test case(1, index of refraction) =    1.5137
				lui	$2,%hi($LC20)
				ldc1	$f0,%lo($LC20)($2)
				sdc1	$f0,5488($sp)
  132     test case(1, dispersion)          =   63.6
				lui	$2,%hi($LC21)
				ldc1	$f0,%lo($LC21)($2)
				sdc1	$f0,5496($sp)
  133     test case(1, edge thickness)      =    0.52
				lui	$2,%hi($LC22)
				ldc1	$f0,%lo($LC22)($2)
				sdc1	$f0,5504($sp)
  134     test case(2, curvature radius)    =  -16.68
				lui	$2,%hi($LC23)
				ldc1	$f2,%lo($LC23)($2)
				sdc1	$f2,5512($sp)
  135     test case(2, index of refraction) =    1.0
				lui	$2,%hi($LC8)
				ldc1	$f0,%lo($LC8)($2)
				sdc1	$f0,5520($sp)
  136     test case(2, dispersion)          =    0.0
				sw	$0,5532($sp)
				sw	$0,5528($sp)
  137     test case(2, edge thickness)      =    0.138
				lui	$2,%hi($LC24)
				ldc1	$f4,%lo($LC24)($2)
				sdc1	$f4,5536($sp)
  138     test case(3, curvature radius)    =  -16.68
				sdc1	$f2,5544($sp)
  139     test case(3, index of refraction) =    1.6164
				lui	$2,%hi($LC25)
				ldc1	$f2,%lo($LC25)($2)
				sdc1	$f2,5552($sp)
  140     test case(3, dispersion)          =   36.7
				lui	$2,%hi($LC26)
				ldc1	$f2,%lo($LC26)($2)
				sdc1	$f2,5560($sp)
  141     test case(3, edge thickness)      =    0.38
				lui	$2,%hi($LC27)
				ldc1	$f2,%lo($LC27)($2)
				sdc1	$f2,5568($sp)
  142     test case(4, curvature radius)    =  -78.1
				lui	$2,%hi($LC28)
				ldc1	$f2,%lo($LC28)($2)
				sdc1	$f2,5576($sp)
  143     test case(4, index of refraction) =    1.0
				sdc1	$f0,5584($sp)
  144     test case(4, dispersion)          =    0.0
				sw	$0,5596($sp)
				sw	$0,5592($sp)
  145     test case(4, edge thickness)      =    0.0
				sw	$0,5604($sp)
				sw	$0,5600($sp)
				LVL79 = .
  146     marginal ray = 1; paraxial ray = 2
  147     od field = 1; sa field = 2
				sw	$3,5688($sp)
				LVL80 = .
				LBB174 = .
				LBB175 = .
  148     %comment  number of iterations = 40263820;
  149     number of iterations = 1
  150     clear aperture = 4
  151     %for iteration = 1, 1, number of iterations %cycle
  152         %for paraxial = marginal ray, 1, paraxial ray %cycle
  153             trace line(d line, clear aperture / 2)
				lui	$2,%hi($LC29)
				ldc1	$f20,%lo($LC29)($2)
				addiu	$17,$sp,5416
				li	$16,2			# 0x2
		$L44:
				move	$15,$17
				mfc1	$7,$f20
				mfhc1	$6,$f20
				lw	$4,5672($sp)
				.option	pic0
				jal	TRACELINE.6068
				nop
				.option	pic2
				LVL81 = .
				lw	$28,256($sp)
  154             od sa(paraxial, od field) = object distance
				lw	$3,5692($sp)
				addiu	$2,$3,-1
				sll	$2,$2,4
				addiu	$4,$sp,5712
				addu	$2,$4,$2
				ldc1	$f0,5640($sp)
				sdc1	$f0,-5448($2)
  155             od sa(paraxial, sa field) = axis slope angle
				ldc1	$f0,5632($sp)
				LDL1 = .
  156         %repeat
  157         %comment Trace marginal ray in C
				move	$3,$0
				bne	$3,$16,$L44
				sdc1	$f0,-5440($2)
				L45 = .
				LBE175 = .
				li	$2,1			# 0x1
				sw	$2,5692($sp)
  158         paraxial = marginal ray
				addiu	$3,$3,1
				sw	$3,5692($sp)
  159         trace line(c line, clear aperture / 2)
				lui	$2,%hi($LC29)
				ldc1	$f20,%lo($LC29)($2)
				addiu	$16,$sp,5416
				move	$15,$16
				mfc1	$7,$f20
				mfhc1	$6,$f20
				lw	$4,5668($sp)
				.option	pic0
				jal	TRACELINE.6068
				nop
				.option	pic2
				LVL82 = .
				lw	$28,256($sp)
  160         od cline = object distance
				ldc1	$f28,5640($sp)
				LVL83 = .
  161         %comment Trace marginal ray in F
  162         trace line(f line, clear aperture / 2)
				move	$15,$16
				mfc1	$7,$f20
				mfhc1	$6,$f20
				lw	$4,5664($sp)
				.option	pic0
				jal	TRACELINE.6068
				nop
				.option	pic2
				LVL84 = .
				lw	$28,256($sp)
				LVL85 = .
  163         od fline = object distance
  164         aberr lspher = od sa(paraxial ray, od field) -               %c
				lw	$16,5688($sp)
				addiu	$16,$16,-1
				sll	$16,$16,4
				addiu	$2,$sp,5712
				addu	$16,$2,$16
				ldc1	$f22,-5448($16)
				ldc1	$f30,264($sp)
				sub.d	$f26,$f22,$f30
				LVL86 = .
  165             od sa(marginal ray, od field)
  166         aberr osc = 1 - ((od sa(paraxial ray, od field) *            %c
				ldc1	$f24,272($sp)
				LVL87 = .
				LBB176 = .
				LBB177 = .
				mov.d	$f12,$f24
				lw	$25,%call16(sin)($28)
				.reloc	1f,R_MIPS_JALR,sin
			1:	jalr	$25
				nop
				LVL88 = .
				lw	$28,256($sp)
				LVL89 = .
				LVL90 = .
				LBE177 = .
				LBE176 = .
				ldc1	$f2,-5440($16)
				mul.d	$f22,$f22,$f2
				mul.d	$f30,$f30,$f0
				div.d	$f22,$f22,$f30
				lui	$2,%hi($LC8)
				ldc1	$f2,%lo($LC8)($2)
				sub.d	$f22,$f2,$f22
				LVL91 = .
  167                           od sa(paraxial ray, sa field)) /           %c
  168                           (sin(od sa(marginal ray, sa field)) *      %c
  169                            od sa(marginal ray, od field)))
  170         aberr lchrom = od fline - od cline
				ldc1	$f2,5640($sp)
				LVL92 = .
				sub.d	$f28,$f2,$f28
				LVL93 = .
				LBB178 = .
				LBB179 = .
				mul.d	$f0,$f0,$f0
				LBE179 = .
				LBE178 = .
  171         max lspher = 0.0000926 / sin(od sa(marginal ray, sa field)) ^ 2
				lui	$2,%hi($LC30)
				ldc1	$f20,%lo($LC30)($2)
				div.d	$f20,$f20,$f0
				LDL2 = .
				LVL94 = .
				LDL3 = .
				LBE174 = .
				LBB180 = .
  172         max lchrom = max lspher
  173         max osc = 0.0025
  174     %repeat
  175     %comment Print the analysis of the ray trace
  176     print string("  Marginal ray    ")
				lui	$2,%hi($LC1)
				addiu	$2,$2,%lo($LC1)
				addiu	$3,$sp,5160
				addiu	$4,$2,256
		$L46:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L46
				addiu	$3,$3,16
				addiu	$2,$sp,5160
				addiu	$3,$sp,296
				addiu	$4,$sp,5416
		$L47:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L47
				addiu	$3,$3,16
				addiu	$2,$sp,296
				addiu	$3,$sp,5160
				addiu	$4,$sp,552
		$L48:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L48
				addiu	$3,$3,16
				LBE180 = .
				LBB181 = .
				LBB182 = .
				addiu	$2,$sp,5176
				addiu	$3,$sp,16
				addiu	$4,$sp,5416
		$L49:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L49
				addiu	$3,$3,16
				lw	$4,5160($sp)
				lw	$5,5164($sp)
				lw	$6,5168($sp)
				lw	$7,5172($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL95 = .
				lw	$28,256($sp)
				LVL96 = .
				LBE182 = .
				LBE181 = .
				LBB183 = .
  177     outbigreal(1, od sa(marginal ray, od field))
  178     print string("   ")
				lui	$2,%hi($LC2)
				addiu	$2,$2,%lo($LC2)
				addiu	$3,$sp,4904
				addiu	$4,$2,256
		$L50:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L50
				addiu	$3,$3,16
				addiu	$2,$sp,4904
				addiu	$3,$sp,552
				addiu	$4,$sp,5160
		$L51:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L51
				addiu	$3,$3,16
				addiu	$2,$sp,552
				addiu	$3,$sp,4904
				addiu	$4,$sp,808
		$L52:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L52
				addiu	$3,$3,16
				LBE183 = .
				LBB184 = .
				LBB185 = .
				addiu	$2,$sp,4920
				addiu	$3,$sp,16
				addiu	$4,$sp,5160
		$L53:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L53
				addiu	$3,$3,16
				lw	$4,4904($sp)
				lw	$5,4908($sp)
				lw	$6,4912($sp)
				lw	$7,4916($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL97 = .
				lw	$28,256($sp)
				LVL98 = .
				LBE185 = .
				LBE184 = .
				LBB186 = .
				LBB187 = .
				li	$7,11			# 0xb
				li	$6,5			# 0x5
				mov.d	$f12,$f24
				lw	$25,%call16(_imp_print)($28)
				.reloc	1f,R_MIPS_JALR,_imp_print
			1:	jalr	$25
				nop
				LVL99 = .
				lw	$28,256($sp)
				LVL100 = .
				LBE187 = .
				LBE186 = .
				LBB188 = .
				LBB189 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL101 = .
				lw	$28,256($sp)
				LBE189 = .
				LBE188 = .
				LBB190 = .
  179     print(od sa(marginal ray, sa field), 5, 11); newline
  180     print string("  Paraxial ray    ")
				lui	$2,%hi($LC3)
				addiu	$2,$2,%lo($LC3)
				addiu	$3,$sp,4648
				addiu	$4,$2,256
		$L54:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L54
				addiu	$3,$3,16
				addiu	$2,$sp,4648
				addiu	$3,$sp,808
				addiu	$4,$sp,4904
		$L55:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L55
				addiu	$3,$3,16
				addiu	$2,$sp,808
				addiu	$3,$sp,4648
				addiu	$4,$sp,1064
		$L56:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L56
				addiu	$3,$3,16
				LBE190 = .
				LBB191 = .
				LBB192 = .
				addiu	$2,$sp,4664
				addiu	$3,$sp,16
				addiu	$4,$sp,4904
		$L57:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L57
				addiu	$3,$3,16
				lw	$4,4648($sp)
				lw	$5,4652($sp)
				lw	$6,4656($sp)
				lw	$7,4660($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL102 = .
				lw	$28,256($sp)
				LBE192 = .
				LBE191 = .
				LBB193 = .
  181     outbigreal(1, od sa(paraxial ray, od field))
  182     print string("   ")
				lui	$2,%hi($LC2)
				addiu	$2,$2,%lo($LC2)
				addiu	$3,$sp,4392
				addiu	$4,$2,256
		$L58:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L58
				addiu	$3,$3,16
				addiu	$2,$sp,4392
				addiu	$3,$sp,1064
				addiu	$4,$sp,4648
		$L59:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L59
				addiu	$3,$3,16
				addiu	$2,$sp,1064
				addiu	$3,$sp,4392
				addiu	$4,$sp,1320
		$L60:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L60
				addiu	$3,$3,16
				LBE193 = .
				LBB194 = .
				LBB195 = .
				addiu	$2,$sp,4408
				addiu	$3,$sp,16
				addiu	$4,$sp,4648
		$L61:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L61
				addiu	$3,$3,16
				lw	$4,4392($sp)
				lw	$5,4396($sp)
				lw	$6,4400($sp)
				lw	$7,4404($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL103 = .
				lw	$28,256($sp)
				LVL104 = .
				LBE195 = .
				LBE194 = .
  183     print(od sa(paraxial ray, sa field), 5, 11); newline
				lw	$2,5688($sp)
				addiu	$2,$2,-1
				LVL105 = .
				sll	$2,$2,4
				LVL106 = .
				addiu	$3,$sp,5712
				addu	$2,$3,$2
				LBB196 = .
				LBB197 = .
				li	$7,11			# 0xb
				li	$6,5			# 0x5
				ldc1	$f12,-5440($2)
				lw	$25,%call16(_imp_print)($28)
				.reloc	1f,R_MIPS_JALR,_imp_print
			1:	jalr	$25
				nop
				LVL107 = .
				lw	$28,256($sp)
				LVL108 = .
				LVL109 = .
				LBE197 = .
				LBE196 = .
				LBB198 = .
				LBB199 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL110 = .
				lw	$28,256($sp)
				LBE199 = .
				LBE198 = .
				LBB200 = .
  184     print string("Longitudinal spherical aberration: ")
				lui	$2,%hi($LC4)
				addiu	$2,$2,%lo($LC4)
				addiu	$3,$sp,4136
				addiu	$4,$2,256
		$L62:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L62
				addiu	$3,$3,16
				addiu	$2,$sp,4136
				addiu	$3,$sp,1320
				addiu	$4,$sp,4392
		$L63:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L63
				addiu	$3,$3,16
				addiu	$2,$sp,1320
				addiu	$3,$sp,4136
				addiu	$4,$sp,1576
		$L64:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L64
				addiu	$3,$3,16
				LBE200 = .
				LBB201 = .
				LBB202 = .
				addiu	$2,$sp,4152
				addiu	$3,$sp,16
				addiu	$4,$sp,4392
		$L65:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L65
				addiu	$3,$3,16
				lw	$4,4136($sp)
				lw	$5,4140($sp)
				lw	$6,4144($sp)
				lw	$7,4148($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL111 = .
				lw	$28,256($sp)
				LVL112 = .
				LBE202 = .
				LBE201 = .
				LBB203 = .
				LBB204 = .
				li	$7,11			# 0xb
				li	$6,5			# 0x5
				mov.d	$f12,$f26
				lw	$25,%call16(_imp_print)($28)
				.reloc	1f,R_MIPS_JALR,_imp_print
			1:	jalr	$25
				nop
				LVL113 = .
				lw	$28,256($sp)
				LVL114 = .
				LBE204 = .
				LBE203 = .
				LBB205 = .
				LBB206 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL115 = .
				lw	$28,256($sp)
				LBE206 = .
				LBE205 = .
				LBB207 = .
  185     print(aberr lspher, 5, 11); newline
  186     print string("    (Maximum permissible): ")
				lui	$2,%hi($LC5)
				addiu	$2,$2,%lo($LC5)
				addiu	$3,$sp,3880
				addiu	$4,$2,256
		$L66:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L66
				addiu	$3,$3,16
				addiu	$2,$sp,3880
				addiu	$3,$sp,1576
				addiu	$4,$sp,4136
		$L67:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L67
				addiu	$3,$3,16
				addiu	$2,$sp,1576
				addiu	$3,$sp,3880
				addiu	$4,$sp,1832
		$L68:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L68
				addiu	$3,$3,16
				LBE207 = .
				LBB208 = .
				LBB209 = .
				addiu	$2,$sp,3896
				addiu	$3,$sp,16
				addiu	$4,$sp,4136
		$L69:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L69
				addiu	$3,$3,16
				lw	$4,3880($sp)
				lw	$5,3884($sp)
				lw	$6,3888($sp)
				lw	$7,3892($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL116 = .
				lw	$28,256($sp)
				LVL117 = .
				LBE209 = .
				LBE208 = .
				LBB210 = .
				LBB211 = .
				li	$7,11			# 0xb
				li	$6,5			# 0x5
				mov.d	$f12,$f20
				lw	$25,%call16(_imp_print)($28)
				.reloc	1f,R_MIPS_JALR,_imp_print
			1:	jalr	$25
				nop
				LVL118 = .
				lw	$28,256($sp)
				LVL119 = .
				LBE211 = .
				LBE210 = .
				LBB212 = .
				LBB213 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL120 = .
				lw	$28,256($sp)
				LBE213 = .
				LBE212 = .
				LBB214 = .
  187     print(max lspher, 5, 11); newline
  188     print string("Offense against sine condition (coma): ")
				lui	$2,%hi($LC6)
				addiu	$2,$2,%lo($LC6)
				addiu	$3,$sp,3624
				addiu	$4,$2,256
		$L70:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L70
				addiu	$3,$3,16
				addiu	$2,$sp,3624
				addiu	$3,$sp,1832
				addiu	$4,$sp,3880
		$L71:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L71
				addiu	$3,$3,16
				addiu	$2,$sp,1832
				addiu	$3,$sp,3624
				addiu	$4,$sp,2088
		$L72:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L72
				addiu	$3,$3,16
				LBE214 = .
				LBB215 = .
				LBB216 = .
				addiu	$2,$sp,3640
				addiu	$3,$sp,16
				addiu	$4,$sp,3880
		$L73:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L73
				addiu	$3,$3,16
				lw	$4,3624($sp)
				lw	$5,3628($sp)
				lw	$6,3632($sp)
				lw	$7,3636($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL121 = .
				lw	$28,256($sp)
				LVL122 = .
				LBE216 = .
				LBE215 = .
				LBB217 = .
				LBB218 = .
				li	$7,11			# 0xb
				li	$6,5			# 0x5
				mov.d	$f12,$f22
				lw	$25,%call16(_imp_print)($28)
				.reloc	1f,R_MIPS_JALR,_imp_print
			1:	jalr	$25
				nop
				LVL123 = .
				lw	$28,256($sp)
				LVL124 = .
				LBE218 = .
				LBE217 = .
				LBB219 = .
				LBB220 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL125 = .
				lw	$28,256($sp)
				LBE220 = .
				LBE219 = .
				LBB221 = .
  189     print(aberr osc, 5, 11); newline
  190     print string("    (Maximum permissible): ")
				lui	$2,%hi($LC5)
				addiu	$2,$2,%lo($LC5)
				addiu	$3,$sp,3368
				addiu	$4,$2,256
		$L74:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L74
				addiu	$3,$3,16
				addiu	$2,$sp,3368
				addiu	$3,$sp,2088
				addiu	$4,$sp,3624
		$L75:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L75
				addiu	$3,$3,16
				addiu	$2,$sp,2088
				addiu	$3,$sp,3368
				addiu	$4,$sp,2344
		$L76:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L76
				addiu	$3,$3,16
				LBE221 = .
				LBB222 = .
				LBB223 = .
				addiu	$2,$sp,3384
				addiu	$3,$sp,16
				addiu	$4,$sp,3624
		$L77:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L77
				addiu	$3,$3,16
				lw	$4,3368($sp)
				lw	$5,3372($sp)
				lw	$6,3376($sp)
				lw	$7,3380($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL126 = .
				lw	$28,256($sp)
				LVL127 = .
				LBE223 = .
				LBE222 = .
				LBB224 = .
				LBB225 = .
				li	$7,11			# 0xb
				li	$6,5			# 0x5
				lui	$2,%hi($LC31)
				ldc1	$f12,%lo($LC31)($2)
				lw	$25,%call16(_imp_print)($28)
				.reloc	1f,R_MIPS_JALR,_imp_print
			1:	jalr	$25
				nop
				LVL128 = .
				lw	$28,256($sp)
				LVL129 = .
				LBE225 = .
				LBE224 = .
				LBB226 = .
				LBB227 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL130 = .
				lw	$28,256($sp)
				LBE227 = .
				LBE226 = .
				LBB228 = .
  191     print(max osc, 5, 11); newline
  192     print string("Axial chromatic aberration: ")
				lui	$2,%hi($LC7)
				addiu	$2,$2,%lo($LC7)
				addiu	$3,$sp,3112
				addiu	$4,$2,256
		$L78:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L78
				addiu	$3,$3,16
				addiu	$2,$sp,3112
				addiu	$3,$sp,2344
				addiu	$4,$sp,3368
		$L79:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L79
				addiu	$3,$3,16
				addiu	$2,$sp,2344
				addiu	$3,$sp,3112
				addiu	$4,$sp,2600
		$L80:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L80
				addiu	$3,$3,16
				LBE228 = .
				LBB229 = .
				LBB230 = .
				addiu	$2,$sp,3128
				addiu	$3,$sp,16
				addiu	$4,$sp,3368
		$L81:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L81
				addiu	$3,$3,16
				lw	$4,3112($sp)
				lw	$5,3116($sp)
				lw	$6,3120($sp)
				lw	$7,3124($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL131 = .
				lw	$28,256($sp)
				LVL132 = .
				LBE230 = .
				LBE229 = .
				LBB231 = .
				LBB232 = .
				li	$7,11			# 0xb
				li	$6,5			# 0x5
				mov.d	$f12,$f28
				lw	$25,%call16(_imp_print)($28)
				.reloc	1f,R_MIPS_JALR,_imp_print
			1:	jalr	$25
				nop
				LVL133 = .
				lw	$28,256($sp)
				LVL134 = .
				LBE232 = .
				LBE231 = .
				LBB233 = .
				LBB234 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL135 = .
				lw	$28,256($sp)
				LBE234 = .
				LBE233 = .
				LBB235 = .
  193     print(aberr lchrom, 5, 11); newline
  194     print string("    (Maximum permissible): ")
				lui	$2,%hi($LC5)
				addiu	$2,$2,%lo($LC5)
				addiu	$3,$sp,2856
				addiu	$4,$2,256
		$L82:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L82
				addiu	$3,$3,16
				addiu	$2,$sp,2856
				addiu	$3,$sp,2600
				addiu	$4,$sp,3112
		$L83:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L83
				addiu	$3,$3,16
				addiu	$2,$sp,2600
				addiu	$3,$sp,2856
				move	$4,$3
		$L84:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L84
				addiu	$3,$3,16
				LBE235 = .
				LBB236 = .
				LBB237 = .
				addiu	$2,$sp,2872
				addiu	$3,$sp,16
				addiu	$4,$sp,3112
		$L85:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L85
				addiu	$3,$3,16
				lw	$4,2856($sp)
				lw	$5,2860($sp)
				lw	$6,2864($sp)
				lw	$7,2868($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL136 = .
				lw	$28,256($sp)
				LVL137 = .
				LBE237 = .
				LBE236 = .
				LBB238 = .
				LBB239 = .
				li	$7,11			# 0xb
				li	$6,5			# 0x5
				mov.d	$f12,$f20
				lw	$25,%call16(_imp_print)($28)
				.reloc	1f,R_MIPS_JALR,_imp_print
			1:	jalr	$25
				nop
				LVL138 = .
				lw	$28,256($sp)
				LVL139 = .
				LBE239 = .
				LBE238 = .
				LBB240 = .
				LBB241 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL140 = .
				lw	$28,256($sp)
				LVL141 = .
				LBE241 = .
				LBE240 = .
				LBB242 = .
				LBB243 = .
				move	$4,$0
				lw	$25,%call16(exit)($28)
				.reloc	1f,R_MIPS_JALR,exit
			1:	jalr	$25
				nop
				LVL142 = .
				LBE243 = .
				LBE242 = .
				.set	macro
				.set	reorder
				.end	main
		$LFE185:
				.section	.rodata.cst8,"aM",@progbits,8
				.align	3
		$LC8:
				.word	1072693248
				.word	0
				.align	3
		$LC10:
				.word	1071644672
				.word	0
				.align	3
		$LC11:
				.word	1086178560
				.word	0
				.align	3
		$LC12:
				.word	1085986292
				.word	2061584302
				.align	3
		$LC13:
				.word	1085907664
				.word	-446676599
				.align	3
		$LC14:
				.word	1085736945
				.word	-1443109011
				.align	3
		$LC15:
				.word	1085576590
				.word	-1752346657
				.align	3
		$LC16:
				.word	1085472088
				.word	274877907
				.align	3
		$LC17:
				.word	1085338746
				.word	481036337
				.align	3
		$LC18:
				.word	1085210876
				.word	-309237645
				.align	3
		$LC19:
				.word	1077611724
				.word	-858993459
				.align	3
		$LC20:
				.word	1073231901
				.word	2109687936
				.align	3
		$LC21:
				.word	1078971596
				.word	-858993459
				.align	3
		$LC22:
				.word	1071686615
				.word	171798692
				.align	3
		$LC23:
				.word	-1070551532
				.word	2061584302
				.align	3
		$LC24:
				.word	1069656571
				.word	-412316860
				.align	3
		$LC25:
				.word	1073339590
				.word	1058279942
				.align	3
		$LC26:
				.word	1078090137
				.word	-1717986918
				.align	3
		$LC27:
				.word	1071141355
				.word	-2061584302
				.align	3
		$LC28:
				.word	-1068267930
				.word	1717986918
				.align	3
		$LC29:
				.word	1073741824
				.word	0
				.align	3
		$LC30:
				.word	1058555463
				.word	-487743358
				.align	3
		$LC31:
				.word	1063549665
				.word	1202590843
		$Letext0:
  195     print(max lchrom, 5, 11); newline
  196 %end %of %program
  163 Statements compiled
