.section	".text",#alloc,#execinstr
	.align	8
	.skip	16

	! block 0

	.global	main
	.type	main,#function
main:
	save	%sp,-128,%sp

	! block 1
.L94:
	st	%i0,[%fp+68]
	st	%i1,[%fp+72]

! File pi.c:
!    1	#include <stdio.h>
!    2	
!    3	int
!    4	main(int argv, char **argc)
!    5	{
!    6	  double i;
!    7	  double sum = 0;                                                // Line 7

	sethi	%hi(.L_cseg0),%l0
	ldd	[%l0+%lo(.L_cseg0)],%f4
	std	%f4,[%fp-24]

!    9	  for(i=1; i<50000000;)                                           // Line 9

	sethi	%hi(.L_cseg1),%l0
	ldd	[%l0+%lo(.L_cseg1)],%f4
	std	%f4,[%fp-16]
	ldd	[%fp-16],%f6
	sethi	%hi(.L_cseg2),%l0
	ldd	[%l0+%lo(.L_cseg2)],%f4
	fcmped	%f6,%f4
	fbuge	.L98
	nop

	! block 2
.L_y0:
	sethi	%hi(.L_cseg2),%l1
	or	%l1,%lo(.L_cseg2),%l1
	sethi	%hi(.L_cseg4),%l2
	or	%l2,%lo(.L_cseg4),%l2
	sethi	%hi(.L_cseg3),%l0
	or	%l0,%lo(.L_cseg3),%l0
.L99:
.L96:

!   10	    {
!   11	      sum = sum + 4.0 / i;   i += 2;                             // Line 11

	ldd	[%fp-24],%f6
	ldd	[%l0+0],%f4
	ldd	[%fp-16],%f8
	fdivd	%f4,%f8,%f4
	faddd	%f6,%f4,%f6
	std	%f6,[%fp-24]
	ldd	[%l2+0],%f4
	faddd	%f8,%f4,%f8
	std	%f8,[%fp-16]

!   12	      sum = sum - 4.0 / i;   i += 2;                             // Line 12

	ldd	[%l0+0],%f4
	fdivd	%f4,%f8,%f4
	fsubd	%f6,%f4,%f4
	std	%f4,[%fp-24]
	ldd	[%l2+0],%f4
	faddd	%f8,%f4,%f6
	std	%f6,[%fp-16]
	ldd	[%l1+0],%f4
	fcmped	%f6,%f4
	fbl	.L96
	nop

	! block 3
.L100:
.L98:

!   13	    }
!   14	
!   15	  printf("After %d iterations sum = %.8f\n", (int)(i-1)/2, sum); // Line 15

	sethi	%hi(.L101),%o0
	or	%o0,%lo(.L101),%o0
	ldd	[%fp-16],%f6
	sethi	%hi(.L_cseg5),%l0
	ldd	[%l0+%lo(.L_cseg5)],%f4
	faddd	%f6,%f4,%f4
	fdtoi	%f4,%f4
	st	%f4,[%fp-28]
	ld	[%fp-28],%l2
	sra	%l2,31,%l0
	and	%l0,1,%l1
	add	%l2,%l1,%l0
	sra	%l0,1,%o1
	ldd	[%fp-24],%f4
	std	%f4,[%sp+88]
	ldx	[%sp+88],%g1
	srlx	%g1,32,%o2
	or	%g0,%g1,%o3
	call	printf
	nop

!   17	  return 0;

	st	%g0,[%fp-4]
	mov	0,%i0
	jmp	%i7+8
	restore

	! block 4
.L93:
	mov	0,%i0
	jmp	%i7+8
	restore
	.size	main,(.-main)
	.align	8

	.section	".rodata1",#alloc
	.align	4
.L101:
	.ascii	"After %d iterations sum = %.8f\n\000"
	.type	.L101,#object
	.size	.L101,32

	.section	".rodata",#alloc
	.align	8
.L_cseg0:
	.skip	8
	.type	.L_cseg0,#object
	.size	.L_cseg0,8
	.align	8
.L_cseg1:
	.word	0x3ff00000,0x0
	.type	.L_cseg1,#object
	.size	.L_cseg1,8
	.align	8
.L_cseg2:
	.word	0x4187d784,0x0
	.type	.L_cseg2,#object
	.size	.L_cseg2,8
	.align	8
.L_cseg3:
	.word	0x40100000,0x0
	.type	.L_cseg3,#object
	.size	.L_cseg3,8
	.align	8
.L_cseg4:
	.word	0x40000000,0x0
	.type	.L_cseg4,#object
	.size	.L_cseg4,8
	.align	8
.L_cseg5:
	.word	0xbff00000,0x0
	.type	.L_cseg5,#object
	.size	.L_cseg5,8

	.section	".bss",#alloc,#write
Bbss.bss:
	.skip	0
	.type	Bbss.bss,#object
	.size	Bbss.bss,0

	.section	".data",#alloc,#write
Ddata.data:
	.skip	0
	.type	Ddata.data,#object
	.size	Ddata.data,0

	.section	".rodata",#alloc
Drodata.rodata:
	.skip	0
	.type	Drodata.rodata,#object
	.size	Drodata.rodata,0

	.file	"pi.c"
	.ident	"@(#)stdio.h	1.84	04/09/28 SMI"
	.ident	"@(#)feature_tests.h	1.25	07/02/02 SMI"
	.ident	"@(#)ccompile.h	1.2	04/11/08 SMI"
	.ident	"@(#)isa_defs.h	1.28	07/02/01 SMI"
	.ident	"@(#)stdio_iso.h	1.8	05/08/16 SMI"
	.ident	"@(#)va_list.h	1.15	04/11/19 SMI"
	.ident	"@(#)stdio_tag.h	1.4	04/09/28 SMI"
	.ident	"@(#)stdio_impl.h	1.15	07/03/05 SMI"
	.ident	"@(#)stdio_c99.h	1.2	04/03/29 SMI"
	.ident	"acomp: Sun C 5.8 2005/10/13"

	.global	__fsr_init_value
__fsr_init_value = 0x0
!  Begin sdCreateSection : .debug_info
!  Section Info: link_name/strtab=, entsize=0x1, adralign=0x1, flags=0x0
!  Section Data Blocks:
!   reloc[0]: knd=2, off=6, siz=4, lab1=.debug_abbrev, lab2=, loff=0
!   reloc[1]: knd=2, off=155, siz=4, lab1=.debug_line, lab2=, loff=0
	.section ".debug_info"
	.byte 0x00,0x00,0x00,0x9c,0x00,0x02
	.uaword %section_symbol(".debug_abbrev")
	.byte 0x04,0x01,0x00,0x00,0x00,0x00,0x00,0x00
	.byte 0x00,0x04,0x70,0x69,0x2e,0x63,0x00,0x0c
	.byte 0x2f,0x68,0x6f,0x6d,0x65,0x2f,0x66,0x61
	.byte 0x63,0x75,0x6c,0x74,0x79,0x2f,0x6b,0x6f
	.byte 0x70,0x70,0x65,0x6c,0x2f,0x74,0x65,0x61
	.byte 0x63,0x68,0x2f,0x63,0x61,0x63,0x6f,0x6d
	.byte 0x2f,0x6f,0x70,0x74,0x00,0x20,0x2f,0x6f
	.byte 0x70,0x74,0x2f,0x53,0x55,0x4e,0x57,0x73
	.byte 0x70,0x72,0x6f,0x2f,0x70,0x72,0x6f,0x64
	.byte 0x2f,0x62,0x69,0x6e,0x2f,0x63,0x63,0x20
	.byte 0x2d,0x53,0x20,0x20,0x70,0x69,0x2e,0x63
	.byte 0x00,0x58,0x61,0x3b,0x52,0x3d,0x53,0x75
	.byte 0x6e,0x20,0x43,0x20,0x35,0x2e,0x38,0x20
	.byte 0x32,0x30,0x30,0x35,0x2f,0x31,0x30,0x2f
	.byte 0x31,0x33,0x3b,0x62,0x61,0x63,0x6b,0x65
	.byte 0x6e,0x64,0x3b,0x72,0x61,0x77,0x3b,0x63
	.byte 0x64,0x3b,0x00,0x44,0x42,0x47,0x5f,0x47
	.byte 0x45,0x4e,0x20,0x35,0x2e,0x30,0x2e,0x38
	.byte 0x00
	.uaword %section_symbol(".debug_line")
	.byte 0x00
!  End sdCreateSection
!  Begin sdCreateSection : .debug_line
!  Section Info: link_name/strtab=, entsize=0x1, adralign=0x1, flags=0x0
!  Section Data Blocks:
	.section ".debug_line"
	.byte 0x00,0x00,0x00,0x43,0x00,0x02,0x00,0x00
	.byte 0x00,0x3d,0x04,0x00,0xff,0x04,0x0a,0x00
	.byte 0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x01
	.byte 0x2f,0x68,0x6f,0x6d,0x65,0x2f,0x66,0x61
	.byte 0x63,0x75,0x6c,0x74,0x79,0x2f,0x6b,0x6f
	.byte 0x70,0x70,0x65,0x6c,0x2f,0x74,0x65,0x61
	.byte 0x63,0x68,0x2f,0x63,0x61,0x63,0x6f,0x6d
	.byte 0x2f,0x6f,0x70,0x74,0x00,0x00,0x70,0x69
	.byte 0x2e,0x63,0x00,0x01,0x00,0x00,0x00
!  End sdCreateSection
!  Begin sdCreateSection : .debug_abbrev
!  Section Info: link_name/strtab=, entsize=0x1, adralign=0x1, flags=0x0
!  Section Data Blocks:
	.section ".debug_abbrev"
	.byte 0x01,0x11,0x00,0x11,0x01,0x12,0x01,0x03
	.byte 0x08,0x13,0x0b,0x1b,0x08,0x85,0x44,0x08
	.byte 0x87,0x44,0x08,0x25,0x08,0x10,0x06,0x00
	.byte 0x00,0x00
!  End sdCreateSection