         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
				.machinemode zarch
				.machine "zEC12"
		.text
		.Ltext0:
				.section	.rodata.str1.2,"aMS",@progbits,1
				.align	2
		.LC2:
				.string	"Illegal cycle I = 2, 1, ROUNDS"
				.section	.rodata
				.align	2
		.LC0:
				.byte	10
				.string	"rounds.txt"
				.zero	244
				.align	2
		.LC1:
				.byte	21
				.string	"test-new/leibnitz.imp"
				.zero	233
		.text
				.align	8
		.globl main
		main:
		.LFB185:
		.LVL0:
				stmg	%r6,%r15,48(%r15)
				larl	%r13,.L14
				lay	%r15,-1976(%r15)
				ear	%r1,%a0
				sllg	%r1,%r1,32
				ear	%r1,%a1
				mvc	1968(8,%r15),40(%r1)
    2   %reals %long
				brasl	%r14,_imp_initialise@PLT
		.LVL1:
		.LBB18:
    3
    4   %integer rounds
    5   %real pi = 1.0
    6
				ld	%f0,.L15-.L14(%r13)
				sr	%r2,%r3
		.LVL9:
		.L7:
		.LBB27:
				ld	%f0,.L15-.L14(%r13)
				j	.L6
				.section	.rodata
				.align	8
		.L14:
		.L16:
				.long	1074790400
				.long	0
		.L15:
				.long	1072693248
				.long	0
				.align	2
		.text
		.LFE185:
				.section	.rodata
				.align	2
		__PRETTY_FUNCTION__.6289:
				.string	"_imp_SELECTINPUT"
			.text
		.Letext0:
    7   !%on %event 9 %start
    8   !  print string("Cannot open file"); newline
    9   !  %stop
   10   !%finish
   11
   12   %integer i
   13
   14   open input(1, "rounds.txt");   ! open file
				larl	%r1,.LC0
				mvc	1712(256,%r15),0(%r1)
				mvc	688(256,%r15),1712(%r15)
		.LVL2:
				mvc	1712(256,%r15),688(%r15)
		.LBE18:
		.LBB19:
		.LBB20:
				mvc	424(256,%r15),1712(%r15)
				aghik	%r3,%r15,424
				lghi	%r2,1
				brasl	%r14,_imp_openinput@PLT
		.LVL3:
		.LBE20:
		.LBE19:
		.LBB21:
		.LBB22:
				lgrl	%r1,_imp_InStream@GOTENT
				mvhi	0(%r1),1
				lgrl	%r1,_imp_InFile@GOTENT
				lgrl	%r2,_imp_infile@GOTENT
				lg	%r2,296(%r2)
				stg	%r2,0(%r1)
				larl	%r2,__PRETTY_FUNCTION__.6289
				brasl	%r14,check_instream@PLT
		.LVL4:
		.LBE22:
		.LBE21:
   15   select input(1)
   16
   17   read(rounds)
				aghik	%r2,%r15,684
				brasl	%r14,_imp_readint@PLT
		.LVL5:
		.LBB23:
		.LBB24:
				brasl	%r14,_imp_closeinput@PLT
		.LVL6:
		.LBE24:
		.LBE23:
   18
   19   close input;                   ! close file
   20
   21   rounds = rounds + 2;           ! do this outside the loop
				l	%r11,684(%r15)
				ahik	%r10,%r11,2
				st	%r10,684(%r15)
		.LVL7:
		.LBB25:
   22
   23   %for i=2, 1, rounds %cycle
   24     %long %real x = -1.0 + 2.0 * (i & 1); ! allows vectorization
   25     pi = pi + (x / (2 * i - 1)); ! double / unsigned = double
				cijl	%r11,0,.L13
		.L2:
		.LVL8:
				risbg	%r1,%r3,63,128+63,0
				cdfbr	%f2,%r1
				adbr	%f2,%f2
				sdb	%f2,.L15-.L14(%r13)
				cdfbr	%f4,%r4
				ddbr	%f2,%f4
				adbr	%f0,%f2
		.LVL11:
		.LDL1:
				ahi	%r4,2
				lgrl	%r1,_imp_current_file@GOTENT
				ltg	%r3,0(%r1)
				je	.L3
				la	%r2,1200(%r15)
				brasl	%r14,_imp_c2istr@PLT
		.LVL17:
		.L4:
				lgrl	%r1,_imp_current_line@GOTENT
				lt	%r9,0(%r1)
				ltr	%r9,%r9
				lhi	%r1,25
				locrne	%r1,%r9
				lr	%r9,%r1
				larl	%r3,.LC2
				la	%r2,1456(%r15)
				brasl	%r14,_imp_c2istr@PLT
		.LVL18:
				mvc	424(256,%r15),1200(%r15)
				mvc	168(256,%r15),1456(%r15)
				mvghi	160(%r15),0
				lghi	%r6,1
				lghi	%r5,5
				la	%r4,168(%r15)
				lgfr	%r3,%r9
				la	%r2,424(%r15)
				brasl	%r14,_signal_event@PLT
		.LVL19:
				j	.L2
		.L3:
		.LBB26:
				larl	%r1,.LC1
				mvc	1456(256,%r15),0(%r1)
				mvc	944(256,%r15),1456(%r15)
		.LBE26:
				mvc	1200(256,%r15),944(%r15)
				j	.L4
		.LVL20:
		.L10:
		.LBE34:
   26   %repeat
				lhi	%r3,1
		.LBE25:
   27
   28   pi = pi * 4
				cije	%r10,1,.L10
				ahik	%r2,%r11,2
				lhi	%r4,3
				brct	%r2,.L7
		.LVL12:
		.L6:
		.LBE27:
		.LBB28:
		.LBB29:
				lghi	%r2,16
				mdb	%f0,.L16-.L14(%r13)
		.LVL13:
				brasl	%r14,_imp_printfl@PLT
		.LVL14:
		.LBE29:
		.LBE28:
		.LBB30:
		.LBB31:
				brasl	%r14,_imp_newline@PLT
		.LVL15:
		.LBE31:
		.LBE30:
		.LBB32:
		.LBB33:
				lghi	%r2,0
				brasl	%r14,exit@PLT
		.LVL16:
		.L13:
		.LBE33:
		.LBE32:
		.LBB34:
   29   print fl(pi, 16);              ! print 16 decimal digits of pi
				ahi	%r3,1
		.LVL10:
   30   newline
   31
   32 %endofprogram
   18 Statements compiled
