Program: parrondo

x86 assembly:
	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function cointoss
LCPI0_0:
	.quad	0x41dfffffffc00000              ## double 2147483647
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_cointoss
	.p2align	4, 0x90
_cointoss:                              ## @cointoss
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	subq	$16, %rsp
	movsd	%xmm0, -8(%rbp)
	callq	_libmin_rand
	movl	%eax, %eax
                                        ## kill: def $rax killed $eax
	cvtsi2sd	%rax, %xmm0
	movsd	LCPI0_0(%rip), %xmm1            ## xmm1 = mem[0],zero
	divsd	%xmm1, %xmm0
	movsd	%xmm0, -16(%rbp)
	movsd	-16(%rbp), %xmm0                ## xmm0 = mem[0],zero
	movsd	-8(%rbp), %xmm1                 ## xmm1 = mem[0],zero
	movl	$1, %eax
	movl	$4294967295, %ecx               ## imm = 0xFFFFFFFF
	ucomisd	%xmm1, %xmm0
	cmovael	%ecx, %eax
	addq	$16, %rsp
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function play_s
LCPI1_0:
	.quad	0x3fdfae147ae147ae              ## double 0.495
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_play_s
	.p2align	4, 0x90
_play_s:                                ## @play_s
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movsd	LCPI1_0(%rip), %xmm0            ## xmm0 = mem[0],zero
	callq	_cointoss
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function play_c
LCPI2_0:
	.quad	0x3fb851eb851eb852              ## double 0.095000000000000001
LCPI2_1:
	.quad	0x3fe7d70a3d70a3d7              ## double 0.745
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_play_c
	.p2align	4, 0x90
_play_c:                                ## @play_c
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	subq	$16, %rsp
	movl	%edi, -8(%rbp)
	movl	-8(%rbp), %eax
	movl	$3, %ecx
	cltd
	idivl	%ecx
	cmpl	$0, %edx
	je	LBB2_2
## %bb.1:
	movsd	LCPI2_1(%rip), %xmm0            ## xmm0 = mem[0],zero
	callq	_cointoss
	movl	%eax, -4(%rbp)
	jmp	LBB2_3
LBB2_2:
	movsd	LCPI2_0(%rip), %xmm0            ## xmm0 = mem[0],zero
	callq	_cointoss
	movl	%eax, -4(%rbp)
LBB2_3:
	movl	-4(%rbp), %eax
	addq	$16, %rsp
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function main
LCPI3_0:
	.quad	0x3fe0000000000000              ## double 0.5
LCPI3_1:
	.quad	0x4059000000000000              ## double 100
LCPI3_2:
	.quad	0x3ff0000000000000              ## double 1
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_main
	.p2align	4, 0x90
_main:                                  ## @main
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	subq	$128, %rsp
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -8(%rbp)
	movl	$0, -36(%rbp)
	movq	$0, -48(%rbp)
	xorps	%xmm0, %xmm0
	movsd	%xmm0, -64(%rbp)
	movl	$1000, -68(%rbp)                ## imm = 0x3E8
	movl	$0, -72(%rbp)
	movl	$0, -76(%rbp)
	movl	$0, -84(%rbp)
	movl	$0, -88(%rbp)
	movl	$0, -92(%rbp)
	movl	$50, -96(%rbp)
	movsd	LCPI3_0(%rip), %xmm0            ## xmm0 = mem[0],zero
	movsd	%xmm0, -104(%rbp)
	movq	$0, -112(%rbp)
LBB3_1:                                 ## =>This Inner Loop Header: Depth=1
	movl	-76(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -76(%rbp)
	cmpl	_argc(%rip), %eax
	jge	LBB3_21
## %bb.2:                               ##   in Loop: Header=BB3_1 Depth=1
	movslq	-76(%rbp), %rcx
	leaq	_argv(%rip), %rax
	movq	(%rax,%rcx,8), %rax
	movsbl	(%rax), %eax
	cmpl	$45, %eax
	jne	LBB3_19
## %bb.3:                               ##   in Loop: Header=BB3_1 Depth=1
	movslq	-76(%rbp), %rcx
	leaq	_argv(%rip), %rax
	movq	(%rax,%rcx,8), %rax
	movsbl	1(%rax), %eax
	addl	$-49, %eax
	movl	%eax, %ecx
	movq	%rcx, -120(%rbp)                ## 8-byte Spill
	subl	$69, %eax
	ja	LBB3_17
## %bb.50:                              ##   in Loop: Header=BB3_1 Depth=1
	movq	-120(%rbp), %rax                ## 8-byte Reload
	leaq	LJTI3_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB3_4:                                 ##   in Loop: Header=BB3_1 Depth=1
	movl	-76(%rbp), %eax
	addl	$1, %eax
	cmpl	_argc(%rip), %eax
	jl	LBB3_6
## %bb.5:                               ##   in Loop: Header=BB3_1 Depth=1
	leaq	L_.str.6(%rip), %rdi
	leaq	L_.str.7(%rip), %rsi
	movb	$0, %al
	callq	_libmin_printf
	movl	$1, %edi
	callq	_libmin_fail
LBB3_6:                                 ##   in Loop: Header=BB3_1 Depth=1
	movl	-76(%rbp), %eax
	addl	$1, %eax
	movslq	%eax, %rcx
	leaq	_argv(%rip), %rax
	movq	(%rax,%rcx,8), %rdi
	callq	_libmin_atol
	movq	%rax, -112(%rbp)
	movl	-76(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -76(%rbp)
	jmp	LBB3_1
LBB3_7:                                 ##   in Loop: Header=BB3_1 Depth=1
	movl	-76(%rbp), %eax
	addl	$1, %eax
	cmpl	_argc(%rip), %eax
	jl	LBB3_9
## %bb.8:                               ##   in Loop: Header=BB3_1 Depth=1
	leaq	L_.str.6(%rip), %rdi
	leaq	L_.str.7(%rip), %rsi
	movb	$0, %al
	callq	_libmin_printf
	movl	$1, %edi
	callq	_libmin_fail
LBB3_9:                                 ##   in Loop: Header=BB3_1 Depth=1
	movl	-76(%rbp), %eax
	addl	$1, %eax
	movslq	%eax, %rcx
	leaq	_argv(%rip), %rax
	movq	(%rax,%rcx,8), %rdi
	callq	_libmin_atoi
	movl	%eax, -68(%rbp)
	movl	-76(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -76(%rbp)
	jmp	LBB3_1
LBB3_10:                                ##   in Loop: Header=BB3_1 Depth=1
	movl	-76(%rbp), %eax
	addl	$1, %eax
	cmpl	_argc(%rip), %eax
	jl	LBB3_12
## %bb.11:                              ##   in Loop: Header=BB3_1 Depth=1
	leaq	L_.str.6(%rip), %rdi
	leaq	L_.str.7(%rip), %rsi
	movb	$0, %al
	callq	_libmin_printf
	movl	$1, %edi
	callq	_libmin_fail
LBB3_12:                                ##   in Loop: Header=BB3_1 Depth=1
	movl	-76(%rbp), %eax
	addl	$1, %eax
	movslq	%eax, %rcx
	leaq	_argv(%rip), %rax
	movq	(%rax,%rcx,8), %rdi
	callq	_libmin_atoi
	movl	%eax, -96(%rbp)
	movl	-76(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -76(%rbp)
	jmp	LBB3_1
LBB3_13:                                ##   in Loop: Header=BB3_1 Depth=1
	leaq	L_.str.6(%rip), %rdi
	leaq	L_.str.8(%rip), %rsi
	movb	$0, %al
	callq	_libmin_printf
	callq	_libmin_success
LBB3_14:                                ##   in Loop: Header=BB3_1 Depth=1
	leaq	L_.str.6(%rip), %rdi
	leaq	L_.str.9(%rip), %rsi
	movb	$0, %al
	callq	_libmin_printf
	callq	_libmin_success
LBB3_15:                                ##   in Loop: Header=BB3_1 Depth=1
	xorps	%xmm0, %xmm0
	movsd	%xmm0, -104(%rbp)
	jmp	LBB3_18
LBB3_16:                                ##   in Loop: Header=BB3_1 Depth=1
	movsd	LCPI3_2(%rip), %xmm0            ## xmm0 = mem[0],zero
	movsd	%xmm0, -104(%rbp)
	jmp	LBB3_18
LBB3_17:                                ##   in Loop: Header=BB3_1 Depth=1
	movslq	-76(%rbp), %rcx
	leaq	_argv(%rip), %rax
	movq	(%rax,%rcx,8), %rsi
	leaq	L_.str.10(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movl	$1, %edi
	callq	_libmin_fail
LBB3_18:                                ##   in Loop: Header=BB3_1 Depth=1
	jmp	LBB3_20
LBB3_19:                                ##   in Loop: Header=BB3_1 Depth=1
	leaq	L_.str.6(%rip), %rdi
	leaq	L_.str.7(%rip), %rsi
	movb	$0, %al
	callq	_libmin_printf
	movl	$1, %edi
	callq	_libmin_fail
LBB3_20:                                ##   in Loop: Header=BB3_1 Depth=1
	jmp	LBB3_1
LBB3_21:
	cmpq	$0, -112(%rbp)
	jne	LBB3_23
## %bb.22:
	movq	$3445, -112(%rbp)               ## imm = 0xD75
	leaq	L_.str.11(%rip), %rdi
	movl	$3445, %esi                     ## imm = 0xD75
	movb	$0, %al
	callq	_libmin_printf
LBB3_23:
	movq	-112(%rbp), %rax
	movl	%eax, %edi
	callq	_libmin_srand
	movl	$0, -72(%rbp)
LBB3_24:                                ## =>This Inner Loop Header: Depth=1
	cmpl	$3, -72(%rbp)
	jge	LBB3_27
## %bb.25:                              ##   in Loop: Header=BB3_24 Depth=1
	movslq	-72(%rbp), %rax
	movq	$0, -32(%rbp,%rax,8)
## %bb.26:                              ##   in Loop: Header=BB3_24 Depth=1
	movl	-72(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -72(%rbp)
	jmp	LBB3_24
LBB3_27:
	movl	$0, -72(%rbp)
	movl	-68(%rbp), %esi
	leaq	L_.str.12(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
LBB3_28:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB3_30 Depth 2
	movl	-72(%rbp), %eax
	cmpl	-68(%rbp), %eax
	jge	LBB3_47
## %bb.29:                              ##   in Loop: Header=BB3_28 Depth=1
	callq	_libmin_rand
	movl	%eax, %eax
                                        ## kill: def $rax killed $eax
	movq	%rax, -112(%rbp)
	movq	-112(%rbp), %rax
	movl	%eax, %edi
	callq	_libmin_srand
	movl	$0, -92(%rbp)
LBB3_30:                                ##   Parent Loop BB3_28 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	-48(%rbp), %rax
	movq	%rax, %rcx
	addq	$1, %rcx
	movq	%rcx, -48(%rbp)
	cmpq	$1000000, %rax                  ## imm = 0xF4240
	jge	LBB3_41
## %bb.31:                              ##   in Loop: Header=BB3_30 Depth=2
	movsd	-104(%rbp), %xmm0               ## xmm0 = mem[0],zero
	callq	_cointoss
	cmpl	$1, %eax
	jne	LBB3_33
## %bb.32:                              ##   in Loop: Header=BB3_30 Depth=2
	movl	-92(%rbp), %edi
	callq	_play_c
	addl	-92(%rbp), %eax
	movl	%eax, -92(%rbp)
	jmp	LBB3_34
LBB3_33:                                ##   in Loop: Header=BB3_30 Depth=2
	callq	_play_s
	addl	-92(%rbp), %eax
	movl	%eax, -92(%rbp)
LBB3_34:                                ##   in Loop: Header=BB3_30 Depth=2
	movl	-92(%rbp), %eax
	cmpl	-96(%rbp), %eax
	jge	LBB3_36
## %bb.35:                              ##   in Loop: Header=BB3_30 Depth=2
	movl	-92(%rbp), %eax
	xorl	%ecx, %ecx
	subl	-96(%rbp), %ecx
	cmpl	%ecx, %eax
	jg	LBB3_37
LBB3_36:                                ##   in Loop: Header=BB3_28 Depth=1
	jmp	LBB3_41
LBB3_37:                                ##   in Loop: Header=BB3_30 Depth=2
	cmpl	$0, -92(%rbp)
	jle	LBB3_39
## %bb.38:                              ##   in Loop: Header=BB3_30 Depth=2
	movl	-92(%rbp), %eax
	movl	%eax, -124(%rbp)                ## 4-byte Spill
	jmp	LBB3_40
LBB3_39:                                ##   in Loop: Header=BB3_30 Depth=2
	xorl	%eax, %eax
	subl	-92(%rbp), %eax
	movl	%eax, -124(%rbp)                ## 4-byte Spill
LBB3_40:                                ##   in Loop: Header=BB3_30 Depth=2
	movl	-124(%rbp), %eax                ## 4-byte Reload
	movl	%eax, -80(%rbp)
	movl	-80(%rbp), %eax
	movl	$3, %ecx
	cltd
	idivl	%ecx
	movslq	%edx, %rax
	movq	-32(%rbp,%rax,8), %rcx
	addq	$1, %rcx
	movq	%rcx, -32(%rbp,%rax,8)
	jmp	LBB3_30
LBB3_41:                                ##   in Loop: Header=BB3_28 Depth=1
	movl	-92(%rbp), %eax
	cmpl	-96(%rbp), %eax
	jne	LBB3_43
## %bb.42:                              ##   in Loop: Header=BB3_28 Depth=1
	movl	-84(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -84(%rbp)
	jmp	LBB3_46
LBB3_43:                                ##   in Loop: Header=BB3_28 Depth=1
	movl	-92(%rbp), %eax
	xorl	%ecx, %ecx
	subl	-96(%rbp), %ecx
	cmpl	%ecx, %eax
	jne	LBB3_45
## %bb.44:                              ##   in Loop: Header=BB3_28 Depth=1
	movl	-88(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -88(%rbp)
LBB3_45:                                ##   in Loop: Header=BB3_28 Depth=1
	jmp	LBB3_46
LBB3_46:                                ##   in Loop: Header=BB3_28 Depth=1
	movl	-72(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -72(%rbp)
	cvtsi2sdq	-48(%rbp), %xmm0
	addsd	-64(%rbp), %xmm0
	movsd	%xmm0, -64(%rbp)
	movq	$0, -48(%rbp)
	jmp	LBB3_28
LBB3_47:
	movsd	-64(%rbp), %xmm0                ## xmm0 = mem[0],zero
	cvtsi2sdl	-72(%rbp), %xmm1
	divsd	%xmm1, %xmm0
	movsd	%xmm0, -56(%rbp)
	movl	-84(%rbp), %esi
	movl	-88(%rbp), %edx
	movl	-72(%rbp), %ecx
	movl	-84(%rbp), %eax
	addl	-88(%rbp), %eax
	subl	%eax, %ecx
	leaq	L_.str.13(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movl	-96(%rbp), %esi
	movl	-96(%rbp), %edx
	leaq	L_.str.14(%rip), %rdi
	movl	$1000000, %ecx                  ## imm = 0xF4240
	movb	$0, %al
	callq	_libmin_printf
	movsd	-56(%rbp), %xmm0                ## xmm0 = mem[0],zero
	leaq	L_.str.15(%rip), %rdi
	movb	$1, %al
	callq	_libmin_printf
	cvtsi2sdq	-32(%rbp), %xmm1
	movsd	LCPI3_1(%rip), %xmm0            ## xmm0 = mem[0],zero
	mulsd	%xmm1, %xmm0
	divsd	-64(%rbp), %xmm0
	cvtsi2sdq	-24(%rbp), %xmm2
	movsd	LCPI3_1(%rip), %xmm1            ## xmm1 = mem[0],zero
	mulsd	%xmm2, %xmm1
	divsd	-64(%rbp), %xmm1
	cvtsi2sdq	-16(%rbp), %xmm3
	movsd	LCPI3_1(%rip), %xmm2            ## xmm2 = mem[0],zero
	mulsd	%xmm3, %xmm2
	divsd	-64(%rbp), %xmm2
	leaq	L_.str.16(%rip), %rdi
	movb	$3, %al
	callq	_libmin_printf
	callq	_libmin_success
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	-8(%rbp), %rcx
	cmpq	%rcx, %rax
	jne	LBB3_49
## %bb.48:
	xorl	%eax, %eax
	addq	$128, %rsp
	popq	%rbp
	retq
LBB3_49:
	callq	___stack_chk_fail
	ud2
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L3_0_set_15, LBB3_15-LJTI3_0
.set L3_0_set_16, LBB3_16-LJTI3_0
.set L3_0_set_17, LBB3_17-LJTI3_0
.set L3_0_set_14, LBB3_14-LJTI3_0
.set L3_0_set_10, LBB3_10-LJTI3_0
.set L3_0_set_4, LBB3_4-LJTI3_0
.set L3_0_set_7, LBB3_7-LJTI3_0
.set L3_0_set_13, LBB3_13-LJTI3_0
LJTI3_0:
	.long	L3_0_set_15
	.long	L3_0_set_16
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_14
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_14
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_10
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_4
	.long	L3_0_set_7
	.long	L3_0_set_17
	.long	L3_0_set_13
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_14
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_10
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_17
	.long	L3_0_set_4
	.long	L3_0_set_7
	.long	L3_0_set_17
	.long	L3_0_set_13
	.end_data_region
                                        ## -- End function
	.section	__DATA,__data
	.globl	_argc                           ## @argc
	.p2align	2
_argc:
	.long	6                               ## 0x6

	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"parrondo"

L_.str.1:                               ## @.str.1
	.asciz	"-2"

L_.str.2:                               ## @.str.2
	.asciz	"-t"

L_.str.3:                               ## @.str.3
	.asciz	"10"

L_.str.4:                               ## @.str.4
	.asciz	"-S"

L_.str.5:                               ## @.str.5
	.asciz	"1"

	.section	__DATA,__data
	.globl	_argv                           ## @argv
	.p2align	4
_argv:
	.quad	L_.str
	.quad	L_.str.1
	.quad	L_.str.2
	.quad	L_.str.3
	.quad	L_.str.4
	.quad	L_.str.5

	.section	__TEXT,__cstring,cstring_literals
L_.str.6:                               ## @.str.6
	.asciz	"%s\n"

L_.str.7:                               ## @.str.7
	.asciz	"parrondo [ -s number -t number -m number -1 -2 -h -v]"

L_.str.8:                               ## @.str.8
	.asciz	"1.1"

L_.str.9:                               ## @.str.9
	.asciz	"parrondo [ -s number -t number -m number -1 -2 ]\n\nPrint information on simulations of Parrondo's paradoxical game.\n\n-s: Use next argument as RNG seed. (otherwise use system time as seed.)\n-t: Use next argument as number of trials. Default 10000.\n-m: Use number as max fortune (win), -number as min fortune(loss). Default 50. \n-v: Print version number and exit. \n-h: Print this helpful information. \n-1: Simulate simple game alone.\n-2: Simulate complex game alone.\n\n"

L_.str.10:                              ## @.str.10
	.asciz	"parrondo: unkown option %s\n"

L_.str.11:                              ## @.str.11
	.asciz	"Using seed = %d\n"

L_.str.12:                              ## @.str.12
	.asciz	"Simulating %d trials ...\n"

L_.str.13:                              ## @.str.13
	.asciz	"%d wins, %d losses, %d draws\n"

L_.str.14:                              ## @.str.14
	.asciz	"(Win/loss = %d/-%d, draw = no win/loss in %ld plays.)\n"

L_.str.15:                              ## @.str.15
	.asciz	"Average trial length = %lf\n"

L_.str.16:                              ## @.str.16
	.asciz	"Site occupancy: 0 mod 3: %lf%%, 1 mod 3: %lf%%, 2 mod 3: %lf%%\n"

.subsections_via_symbols


ARM64 assembly:
	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function cointoss
lCPI0_0:
	.quad	0x41dfffffffc00000              ; double 2147483647
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_cointoss
	.p2align	2
_cointoss:                              ; @cointoss
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #32
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	str	d0, [sp, #8]
	bl	_libmin_rand
	ucvtf	d0, w0
	adrp	x8, lCPI0_0@PAGE
	ldr	d1, [x8, lCPI0_0@PAGEOFF]
	fdiv	d0, d0, d1
	str	d0, [sp]
	ldr	d0, [sp]
	ldr	d1, [sp, #8]
	fcmp	d0, d1
	cset	w9, ge
	mov	w8, #1
	and	w9, w9, #0x1
	ands	w9, w9, #0x1
	csinv	w0, w8, wzr, eq
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #32
	ret
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function play_s
lCPI1_0:
	.quad	0x3fdfae147ae147ae              ; double 0.495
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_play_s
	.p2align	2
_play_s:                                ; @play_s
	.cfi_startproc
; %bb.0:
	stp	x29, x30, [sp, #-16]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	mov	x29, sp
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	adrp	x8, lCPI1_0@PAGE
	ldr	d0, [x8, lCPI1_0@PAGEOFF]
	bl	_cointoss
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function play_c
lCPI2_0:
	.quad	0x3fe7d70a3d70a3d7              ; double 0.745
lCPI2_1:
	.quad	0x3fb851eb851eb852              ; double 0.095000000000000001
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_play_c
	.p2align	2
_play_c:                                ; @play_c
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #32
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	str	w0, [sp, #8]
	ldr	w8, [sp, #8]
	mov	w10, #3
	sdiv	w9, w8, w10
	mul	w9, w9, w10
	subs	w8, w8, w9
	subs	w8, w8, #0
	cset	w8, eq
	tbnz	w8, #0, LBB2_2
	b	LBB2_1
LBB2_1:
	adrp	x8, lCPI2_0@PAGE
	ldr	d0, [x8, lCPI2_0@PAGEOFF]
	bl	_cointoss
	stur	w0, [x29, #-4]
	b	LBB2_3
LBB2_2:
	adrp	x8, lCPI2_1@PAGE
	ldr	d0, [x8, lCPI2_1@PAGEOFF]
	bl	_cointoss
	stur	w0, [x29, #-4]
	b	LBB2_3
LBB2_3:
	ldur	w0, [x29, #-4]
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #32
	ret
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function main
lCPI3_0:
	.quad	0x4059000000000000              ; double 100
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_main
	.p2align	2
_main:                                  ; @main
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #176
	.cfi_def_cfa_offset 176
	stp	x29, x30, [sp, #160]            ; 16-byte Folded Spill
	add	x29, sp, #160
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	adrp	x8, ___stack_chk_guard@GOTPAGE
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
	ldr	x8, [x8]
	stur	x8, [x29, #-8]
	stur	wzr, [x29, #-36]
	stur	xzr, [x29, #-48]
	movi	d0, #0000000000000000
	stur	d0, [x29, #-64]
	mov	w8, #1000
	stur	w8, [x29, #-68]
	stur	wzr, [x29, #-72]
	stur	wzr, [x29, #-76]
	str	wzr, [sp, #76]
	str	wzr, [sp, #72]
	str	wzr, [sp, #68]
	mov	w8, #50
	str	w8, [sp, #64]
	fmov	d0, #0.50000000
	str	d0, [sp, #56]
	str	xzr, [sp, #48]
	b	LBB3_1
LBB3_1:                                 ; =>This Inner Loop Header: Depth=1
	ldur	w8, [x29, #-76]
	add	w8, w8, #1
	stur	w8, [x29, #-76]
	adrp	x9, _argc@PAGE
	ldr	w9, [x9, _argc@PAGEOFF]
	subs	w8, w8, w9
	cset	w8, ge
	tbnz	w8, #0, LBB3_22
	b	LBB3_2
LBB3_2:                                 ;   in Loop: Header=BB3_1 Depth=1
	ldursw	x9, [x29, #-76]
	adrp	x8, _argv@PAGE
	add	x8, x8, _argv@PAGEOFF
	ldr	x8, [x8, x9, lsl #3]
	ldrsb	w8, [x8]
	subs	w8, w8, #45
	cset	w8, ne
	tbnz	w8, #0, LBB3_20
	b	LBB3_3
LBB3_3:                                 ;   in Loop: Header=BB3_1 Depth=1
	ldursw	x9, [x29, #-76]
	adrp	x8, _argv@PAGE
	add	x8, x8, _argv@PAGEOFF
	ldr	x8, [x8, x9, lsl #3]
	ldrsb	w8, [x8, #1]
	subs	w8, w8, #49
                                        ; kill: def $x8 killed $w8
	str	x8, [sp, #40]                   ; 8-byte Folded Spill
	subs	x8, x8, #69
	cset	w8, hi
	tbnz	w8, #0, LBB3_18
; %bb.4:                                ;   in Loop: Header=BB3_1 Depth=1
	ldr	x11, [sp, #40]                  ; 8-byte Folded Reload
	adrp	x10, lJTI3_0@PAGE
	add	x10, x10, lJTI3_0@PAGEOFF
Ltmp0:
	adr	x8, Ltmp0
	ldrsw	x9, [x10, x11, lsl #2]
	add	x8, x8, x9
	br	x8
LBB3_5:                                 ;   in Loop: Header=BB3_1 Depth=1
	ldur	w8, [x29, #-76]
	add	w8, w8, #1
	adrp	x9, _argc@PAGE
	ldr	w9, [x9, _argc@PAGEOFF]
	subs	w8, w8, w9
	cset	w8, lt
	tbnz	w8, #0, LBB3_7
	b	LBB3_6
LBB3_6:                                 ;   in Loop: Header=BB3_1 Depth=1
	mov	x9, sp
	adrp	x8, l_.str.7@PAGE
	add	x8, x8, l_.str.7@PAGEOFF
	str	x8, [x9]
	adrp	x0, l_.str.6@PAGE
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_libmin_printf
	mov	w0, #1
	bl	_libmin_fail
	b	LBB3_7
LBB3_7:                                 ;   in Loop: Header=BB3_1 Depth=1
	ldur	w8, [x29, #-76]
	add	w9, w8, #1
	adrp	x8, _argv@PAGE
	add	x8, x8, _argv@PAGEOFF
	ldr	x0, [x8, w9, sxtw #3]
	bl	_libmin_atol
	str	x0, [sp, #48]
	ldur	w8, [x29, #-76]
	add	w8, w8, #1
	stur	w8, [x29, #-76]
	b	LBB3_1
LBB3_8:                                 ;   in Loop: Header=BB3_1 Depth=1
	ldur	w8, [x29, #-76]
	add	w8, w8, #1
	adrp	x9, _argc@PAGE
	ldr	w9, [x9, _argc@PAGEOFF]
	subs	w8, w8, w9
	cset	w8, lt
	tbnz	w8, #0, LBB3_10
	b	LBB3_9
LBB3_9:                                 ;   in Loop: Header=BB3_1 Depth=1
	mov	x9, sp
	adrp	x8, l_.str.7@PAGE
	add	x8, x8, l_.str.7@PAGEOFF
	str	x8, [x9]
	adrp	x0, l_.str.6@PAGE
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_libmin_printf
	mov	w0, #1
	bl	_libmin_fail
	b	LBB3_10
LBB3_10:                                ;   in Loop: Header=BB3_1 Depth=1
	ldur	w8, [x29, #-76]
	add	w9, w8, #1
	adrp	x8, _argv@PAGE
	add	x8, x8, _argv@PAGEOFF
	ldr	x0, [x8, w9, sxtw #3]
	bl	_libmin_atoi
	stur	w0, [x29, #-68]
	ldur	w8, [x29, #-76]
	add	w8, w8, #1
	stur	w8, [x29, #-76]
	b	LBB3_1
LBB3_11:                                ;   in Loop: Header=BB3_1 Depth=1
	ldur	w8, [x29, #-76]
	add	w8, w8, #1
	adrp	x9, _argc@PAGE
	ldr	w9, [x9, _argc@PAGEOFF]
	subs	w8, w8, w9
	cset	w8, lt
	tbnz	w8, #0, LBB3_13
	b	LBB3_12
LBB3_12:                                ;   in Loop: Header=BB3_1 Depth=1
	mov	x9, sp
	adrp	x8, l_.str.7@PAGE
	add	x8, x8, l_.str.7@PAGEOFF
	str	x8, [x9]
	adrp	x0, l_.str.6@PAGE
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_libmin_printf
	mov	w0, #1
	bl	_libmin_fail
	b	LBB3_13
LBB3_13:                                ;   in Loop: Header=BB3_1 Depth=1
	ldur	w8, [x29, #-76]
	add	w9, w8, #1
	adrp	x8, _argv@PAGE
	add	x8, x8, _argv@PAGEOFF
	ldr	x0, [x8, w9, sxtw #3]
	bl	_libmin_atoi
	str	w0, [sp, #64]
	ldur	w8, [x29, #-76]
	add	w8, w8, #1
	stur	w8, [x29, #-76]
	b	LBB3_1
LBB3_14:                                ;   in Loop: Header=BB3_1 Depth=1
	mov	x9, sp
	adrp	x8, l_.str.8@PAGE
	add	x8, x8, l_.str.8@PAGEOFF
	str	x8, [x9]
	adrp	x0, l_.str.6@PAGE
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_libmin_printf
	bl	_libmin_success
	b	LBB3_15
LBB3_15:                                ;   in Loop: Header=BB3_1 Depth=1
	mov	x9, sp
	adrp	x8, l_.str.9@PAGE
	add	x8, x8, l_.str.9@PAGEOFF
	str	x8, [x9]
	adrp	x0, l_.str.6@PAGE
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_libmin_printf
	bl	_libmin_success
	b	LBB3_16
LBB3_16:                                ;   in Loop: Header=BB3_1 Depth=1
	movi	d0, #0000000000000000
	str	d0, [sp, #56]
	b	LBB3_19
LBB3_17:                                ;   in Loop: Header=BB3_1 Depth=1
	fmov	d0, #1.00000000
	str	d0, [sp, #56]
	b	LBB3_19
LBB3_18:                                ;   in Loop: Header=BB3_1 Depth=1
	ldursw	x9, [x29, #-76]
	adrp	x8, _argv@PAGE
	add	x8, x8, _argv@PAGEOFF
	ldr	x8, [x8, x9, lsl #3]
	mov	x9, sp
	str	x8, [x9]
	adrp	x0, l_.str.10@PAGE
	add	x0, x0, l_.str.10@PAGEOFF
	bl	_libmin_printf
	mov	w0, #1
	bl	_libmin_fail
	b	LBB3_19
LBB3_19:                                ;   in Loop: Header=BB3_1 Depth=1
	b	LBB3_21
LBB3_20:                                ;   in Loop: Header=BB3_1 Depth=1
	mov	x9, sp
	adrp	x8, l_.str.7@PAGE
	add	x8, x8, l_.str.7@PAGEOFF
	str	x8, [x9]
	adrp	x0, l_.str.6@PAGE
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_libmin_printf
	mov	w0, #1
	bl	_libmin_fail
	b	LBB3_21
LBB3_21:                                ;   in Loop: Header=BB3_1 Depth=1
	b	LBB3_1
LBB3_22:
	ldr	x8, [sp, #48]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB3_24
	b	LBB3_23
LBB3_23:
	mov	x8, #3445
	str	x8, [sp, #48]
	mov	x9, sp
	mov	x8, #3445
	str	x8, [x9]
	adrp	x0, l_.str.11@PAGE
	add	x0, x0, l_.str.11@PAGEOFF
	bl	_libmin_printf
	b	LBB3_24
LBB3_24:
	ldr	x8, [sp, #48]
	mov	x0, x8
	bl	_libmin_srand
	stur	wzr, [x29, #-72]
	b	LBB3_25
LBB3_25:                                ; =>This Inner Loop Header: Depth=1
	ldur	w8, [x29, #-72]
	subs	w8, w8, #3
	cset	w8, ge
	tbnz	w8, #0, LBB3_28
	b	LBB3_26
LBB3_26:                                ;   in Loop: Header=BB3_25 Depth=1
	ldursw	x10, [x29, #-72]
	sub	x9, x29, #32
	mov	x8, #0
	str	x8, [x9, x10, lsl #3]
	b	LBB3_27
LBB3_27:                                ;   in Loop: Header=BB3_25 Depth=1
	ldur	w8, [x29, #-72]
	add	w8, w8, #1
	stur	w8, [x29, #-72]
	b	LBB3_25
LBB3_28:
	stur	wzr, [x29, #-72]
	ldur	w9, [x29, #-68]
                                        ; implicit-def: $x8
	mov	x8, x9
	mov	x9, sp
	str	x8, [x9]
	adrp	x0, l_.str.12@PAGE
	add	x0, x0, l_.str.12@PAGEOFF
	bl	_libmin_printf
	b	LBB3_29
LBB3_29:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB3_31 Depth 2
	ldur	w8, [x29, #-72]
	ldur	w9, [x29, #-68]
	subs	w8, w8, w9
	cset	w8, ge
	tbnz	w8, #0, LBB3_48
	b	LBB3_30
LBB3_30:                                ;   in Loop: Header=BB3_29 Depth=1
	bl	_libmin_rand
	mov	w8, w0
                                        ; kill: def $x8 killed $w8
	str	x8, [sp, #48]
	ldr	x8, [sp, #48]
	mov	x0, x8
	bl	_libmin_srand
	str	wzr, [sp, #68]
	b	LBB3_31
LBB3_31:                                ;   Parent Loop BB3_29 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldur	x8, [x29, #-48]
	add	x9, x8, #1
	stur	x9, [x29, #-48]
	mov	x9, #16960
	movk	x9, #15, lsl #16
	subs	x8, x8, x9
	cset	w8, ge
	tbnz	w8, #0, LBB3_42
	b	LBB3_32
LBB3_32:                                ;   in Loop: Header=BB3_31 Depth=2
	ldr	d0, [sp, #56]
	bl	_cointoss
	subs	w8, w0, #1
	cset	w8, ne
	tbnz	w8, #0, LBB3_34
	b	LBB3_33
LBB3_33:                                ;   in Loop: Header=BB3_31 Depth=2
	ldr	w0, [sp, #68]
	bl	_play_c
	ldr	w8, [sp, #68]
	add	w8, w8, w0
	str	w8, [sp, #68]
	b	LBB3_35
LBB3_34:                                ;   in Loop: Header=BB3_31 Depth=2
	bl	_play_s
	ldr	w8, [sp, #68]
	add	w8, w8, w0
	str	w8, [sp, #68]
	b	LBB3_35
LBB3_35:                                ;   in Loop: Header=BB3_31 Depth=2
	ldr	w8, [sp, #68]
	ldr	w9, [sp, #64]
	subs	w8, w8, w9
	cset	w8, ge
	tbnz	w8, #0, LBB3_37
	b	LBB3_36
LBB3_36:                                ;   in Loop: Header=BB3_31 Depth=2
	ldr	w8, [sp, #68]
	ldr	w10, [sp, #64]
	mov	w9, #0
	subs	w9, w9, w10
	subs	w8, w8, w9
	cset	w8, gt
	tbnz	w8, #0, LBB3_38
	b	LBB3_37
LBB3_37:                                ;   in Loop: Header=BB3_29 Depth=1
	b	LBB3_42
LBB3_38:                                ;   in Loop: Header=BB3_31 Depth=2
	ldr	w8, [sp, #68]
	subs	w8, w8, #0
	cset	w8, le
	tbnz	w8, #0, LBB3_40
	b	LBB3_39
LBB3_39:                                ;   in Loop: Header=BB3_31 Depth=2
	ldr	w8, [sp, #68]
	str	w8, [sp, #36]                   ; 4-byte Folded Spill
	b	LBB3_41
LBB3_40:                                ;   in Loop: Header=BB3_31 Depth=2
	ldr	w9, [sp, #68]
	mov	w8, #0
	subs	w8, w8, w9
	str	w8, [sp, #36]                   ; 4-byte Folded Spill
	b	LBB3_41
LBB3_41:                                ;   in Loop: Header=BB3_31 Depth=2
	ldr	w8, [sp, #36]                   ; 4-byte Folded Reload
	str	w8, [sp, #80]
	ldr	w8, [sp, #80]
	mov	w10, #3
	sdiv	w9, w8, w10
	mul	w9, w9, w10
	subs	w9, w8, w9
	sub	x8, x29, #32
	add	x9, x8, w9, sxtw #3
	ldr	x8, [x9]
	add	x8, x8, #1
	str	x8, [x9]
	b	LBB3_31
LBB3_42:                                ;   in Loop: Header=BB3_29 Depth=1
	ldr	w8, [sp, #68]
	ldr	w9, [sp, #64]
	subs	w8, w8, w9
	cset	w8, ne
	tbnz	w8, #0, LBB3_44
	b	LBB3_43
LBB3_43:                                ;   in Loop: Header=BB3_29 Depth=1
	ldr	w8, [sp, #76]
	add	w8, w8, #1
	str	w8, [sp, #76]
	b	LBB3_47
LBB3_44:                                ;   in Loop: Header=BB3_29 Depth=1
	ldr	w8, [sp, #68]
	ldr	w9, [sp, #64]
	adds	w8, w8, w9
	cset	w8, ne
	tbnz	w8, #0, LBB3_46
	b	LBB3_45
LBB3_45:                                ;   in Loop: Header=BB3_29 Depth=1
	ldr	w8, [sp, #72]
	add	w8, w8, #1
	str	w8, [sp, #72]
	b	LBB3_46
LBB3_46:                                ;   in Loop: Header=BB3_29 Depth=1
	b	LBB3_47
LBB3_47:                                ;   in Loop: Header=BB3_29 Depth=1
	ldur	w8, [x29, #-72]
	add	w8, w8, #1
	stur	w8, [x29, #-72]
	ldur	d0, [x29, #-48]
	scvtf	d1, d0
	ldur	d0, [x29, #-64]
	fadd	d0, d0, d1
	stur	d0, [x29, #-64]
	stur	xzr, [x29, #-48]
	b	LBB3_29
LBB3_48:
	ldur	d0, [x29, #-64]
	ldur	s2, [x29, #-72]
                                        ; implicit-def: $d1
	fmov	s1, s2
	sshll.2d	v1, v1, #0
                                        ; kill: def $d1 killed $d1 killed $q1
	scvtf	d1, d1
	fdiv	d0, d0, d1
	stur	d0, [x29, #-56]
	ldr	w8, [sp, #76]
                                        ; implicit-def: $x11
	mov	x11, x8
	ldr	w9, [sp, #72]
                                        ; implicit-def: $x8
	mov	x8, x9
	ldur	w9, [x29, #-72]
	ldr	w10, [sp, #76]
	ldr	w12, [sp, #72]
	add	w10, w10, w12
	subs	w10, w9, w10
	mov	x9, sp
	str	x11, [x9]
	str	x8, [x9, #8]
                                        ; implicit-def: $x8
	mov	x8, x10
	str	x8, [x9, #16]
	adrp	x0, l_.str.13@PAGE
	add	x0, x0, l_.str.13@PAGEOFF
	bl	_libmin_printf
	ldr	w8, [sp, #64]
                                        ; implicit-def: $x10
	mov	x10, x8
	ldr	w9, [sp, #64]
                                        ; implicit-def: $x8
	mov	x8, x9
	mov	x9, sp
	str	x10, [x9]
	str	x8, [x9, #8]
	mov	x8, #16960
	movk	x8, #15, lsl #16
	str	x8, [x9, #16]
	adrp	x0, l_.str.14@PAGE
	add	x0, x0, l_.str.14@PAGEOFF
	bl	_libmin_printf
	ldur	d0, [x29, #-56]
	mov	x8, sp
	str	d0, [x8]
	adrp	x0, l_.str.15@PAGE
	add	x0, x0, l_.str.15@PAGEOFF
	bl	_libmin_printf
	ldur	d0, [x29, #-32]
	scvtf	d1, d0
	adrp	x8, lCPI3_0@PAGE
	ldr	d0, [x8, lCPI3_0@PAGEOFF]
	fmul	d1, d0, d1
	ldur	d2, [x29, #-64]
	fdiv	d2, d1, d2
	ldur	d1, [x29, #-24]
	scvtf	d1, d1
	fmul	d1, d0, d1
	ldur	d3, [x29, #-64]
	fdiv	d1, d1, d3
	ldur	d3, [x29, #-16]
	scvtf	d3, d3
	fmul	d0, d0, d3
	ldur	d3, [x29, #-64]
	fdiv	d0, d0, d3
	mov	x8, sp
	str	d2, [x8]
	str	d1, [x8, #8]
	str	d0, [x8, #16]
	adrp	x0, l_.str.16@PAGE
	add	x0, x0, l_.str.16@PAGEOFF
	bl	_libmin_printf
	bl	_libmin_success
	ldur	x9, [x29, #-8]
	adrp	x8, ___stack_chk_guard@GOTPAGE
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
	ldr	x8, [x8]
	subs	x8, x8, x9
	cset	w8, eq
	tbnz	w8, #0, LBB3_50
	b	LBB3_49
LBB3_49:
	bl	___stack_chk_fail
LBB3_50:
	mov	w0, #0
	ldp	x29, x30, [sp, #160]            ; 16-byte Folded Reload
	add	sp, sp, #176
	ret
	.cfi_endproc
	.p2align	2
lJTI3_0:
	.long	LBB3_16-Ltmp0
	.long	LBB3_17-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_15-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_15-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_11-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_5-Ltmp0
	.long	LBB3_8-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_14-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_15-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_11-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_5-Ltmp0
	.long	LBB3_8-Ltmp0
	.long	LBB3_18-Ltmp0
	.long	LBB3_14-Ltmp0
                                        ; -- End function
	.section	__DATA,__data
	.globl	_argc                           ; @argc
	.p2align	2
_argc:
	.long	6                               ; 0x6

	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"parrondo"

l_.str.1:                               ; @.str.1
	.asciz	"-2"

l_.str.2:                               ; @.str.2
	.asciz	"-t"

l_.str.3:                               ; @.str.3
	.asciz	"10"

l_.str.4:                               ; @.str.4
	.asciz	"-S"

l_.str.5:                               ; @.str.5
	.asciz	"1"

	.section	__DATA,__data
	.globl	_argv                           ; @argv
	.p2align	3
_argv:
	.quad	l_.str
	.quad	l_.str.1
	.quad	l_.str.2
	.quad	l_.str.3
	.quad	l_.str.4
	.quad	l_.str.5

	.section	__TEXT,__cstring,cstring_literals
l_.str.6:                               ; @.str.6
	.asciz	"%s\n"

l_.str.7:                               ; @.str.7
	.asciz	"parrondo [ -s number -t number -m number -1 -2 -h -v]"

l_.str.8:                               ; @.str.8
	.asciz	"1.1"

l_.str.9:                               ; @.str.9
	.asciz	"parrondo [ -s number -t number -m number -1 -2 ]\n\nPrint information on simulations of Parrondo's paradoxical game.\n\n-s: Use next argument as RNG seed. (otherwise use system time as seed.)\n-t: Use next argument as number of trials. Default 10000.\n-m: Use number as max fortune (win), -number as min fortune(loss). Default 50. \n-v: Print version number and exit. \n-h: Print this helpful information. \n-1: Simulate simple game alone.\n-2: Simulate complex game alone.\n\n"

l_.str.10:                              ; @.str.10
	.asciz	"parrondo: unkown option %s\n"

l_.str.11:                              ; @.str.11
	.asciz	"Using seed = %d\n"

l_.str.12:                              ; @.str.12
	.asciz	"Simulating %d trials ...\n"

l_.str.13:                              ; @.str.13
	.asciz	"%d wins, %d losses, %d draws\n"

l_.str.14:                              ; @.str.14
	.asciz	"(Win/loss = %d/-%d, draw = no win/loss in %ld plays.)\n"

l_.str.15:                              ; @.str.15
	.asciz	"Average trial length = %lf\n"

l_.str.16:                              ; @.str.16
	.asciz	"Site occupancy: 0 mod 3: %lf%%, 1 mod 3: %lf%%, 2 mod 3: %lf%%\n"

.subsections_via_symbols