	.file	"161395.c"
	.intel_syntax noprefix
	.text
	.globl	splitter
	.bss
	.align 8
	.type	splitter, @object
	.size	splitter, 8
splitter:
	.zero	8
	.globl	epsilon
	.align 8
	.type	epsilon, @object
	.size	epsilon, 8
epsilon:
	.zero	8
	.globl	resulterrbound
	.align 8
	.type	resulterrbound, @object
	.size	resulterrbound, 8
resulterrbound:
	.zero	8
	.globl	ccwerrboundA
	.align 8
	.type	ccwerrboundA, @object
	.size	ccwerrboundA, 8
ccwerrboundA:
	.zero	8
	.globl	ccwerrboundB
	.align 8
	.type	ccwerrboundB, @object
	.size	ccwerrboundB, 8
ccwerrboundB:
	.zero	8
	.globl	ccwerrboundC
	.align 8
	.type	ccwerrboundC, @object
	.size	ccwerrboundC, 8
ccwerrboundC:
	.zero	8
	.globl	iccerrboundA
	.align 8
	.type	iccerrboundA, @object
	.size	iccerrboundA, 8
iccerrboundA:
	.zero	8
	.globl	iccerrboundB
	.align 8
	.type	iccerrboundB, @object
	.size	iccerrboundB, 8
iccerrboundB:
	.zero	8
	.globl	iccerrboundC
	.align 8
	.type	iccerrboundC, @object
	.size	iccerrboundC, 8
iccerrboundC:
	.zero	8
	.globl	o3derrboundA
	.align 8
	.type	o3derrboundA, @object
	.size	o3derrboundA, 8
o3derrboundA:
	.zero	8
	.globl	o3derrboundB
	.align 8
	.type	o3derrboundB, @object
	.size	o3derrboundB, 8
o3derrboundB:
	.zero	8
	.globl	o3derrboundC
	.align 8
	.type	o3derrboundC, @object
	.size	o3derrboundC, 8
o3derrboundC:
	.zero	8
	.globl	randomseed
	.align 8
	.type	randomseed, @object
	.size	randomseed, 8
randomseed:
	.zero	8
	.globl	plus1mod3
	.data
	.align 8
	.type	plus1mod3, @object
	.size	plus1mod3, 12
plus1mod3:
	.long	1
	.long	2
	.long	0
	.globl	minus1mod3
	.align 8
	.type	minus1mod3, @object
	.size	minus1mod3, 12
minus1mod3:
	.long	2
	.long	0
	.long	1
	.text
	.globl	triunsuitable
	.type	triunsuitable, @function
triunsuitable:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	movsd	QWORD PTR -112[rbp], xmm0
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, QWORD PTR -32[rbp]
	jbe	.L14
	movsd	xmm0, QWORD PTR -24[rbp]
	jmp	.L4
.L14:
	movsd	xmm0, QWORD PTR -32[rbp]
.L4:
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L15
	movsd	xmm0, QWORD PTR -16[rbp]
	jmp	.L7
.L15:
	movsd	xmm0, QWORD PTR -8[rbp]
.L7:
	movsd	QWORD PTR -8[rbp], xmm0
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC0[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC1[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm0, xmm1
	jbe	.L16
	mov	eax, 1
	jmp	.L10
.L16:
	mov	eax, 0
.L10:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	triunsuitable, .-triunsuitable
	.globl	triexit
	.type	triexit, @function
triexit:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	exit@PLT
	.cfi_endproc
.LFE7:
	.size	triexit, .-triexit
	.section	.rodata
.LC2:
	.string	"Error:  Out of memory."
	.text
	.globl	trimalloc
	.type	trimalloc, @function
trimalloc:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	eax, eax
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L19
	lea	rdi, .LC2[rip]
	call	puts@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L19:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	trimalloc, .-trimalloc
	.globl	trifree
	.type	trifree, @function
trifree:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	trifree, .-trifree
	.section	.rodata
	.align 8
.LC3:
	.string	"triangle [-prq__a__uAcDjevngBPNEIOXzo_YS__iFlsCQVh] input_file"
	.align 8
.LC4:
	.string	"    -p  Triangulates a Planar Straight Line Graph (.poly file)."
	.align 8
.LC5:
	.string	"    -r  Refines a previously generated mesh."
	.align 8
.LC6:
	.string	"    -q  Quality mesh generation.  A minimum angle may be specified."
	.align 8
.LC7:
	.string	"    -a  Applies a maximum triangle area constraint."
	.align 8
.LC8:
	.string	"    -u  Applies a user-defined triangle constraint."
	.align 8
.LC9:
	.string	"    -A  Applies attributes to identify triangles in certain regions."
	.align 8
.LC10:
	.string	"    -c  Encloses the convex hull with segments."
	.align 8
.LC11:
	.string	"    -D  Conforming Delaunay:  all triangles are truly Delaunay."
	.align 8
.LC12:
	.string	"    -j  Jettison unused vertices from output .node file."
	.align 8
.LC13:
	.string	"    -e  Generates an edge list."
	.align 8
.LC14:
	.string	"    -v  Generates a Voronoi diagram."
	.align 8
.LC15:
	.string	"    -n  Generates a list of triangle neighbors."
	.align 8
.LC16:
	.string	"    -g  Generates an .off file for Geomview."
	.align 8
.LC17:
	.string	"    -B  Suppresses output of boundary information."
	.align 8
.LC18:
	.string	"    -P  Suppresses output of .poly file."
	.align 8
.LC19:
	.string	"    -N  Suppresses output of .node file."
	.align 8
.LC20:
	.string	"    -E  Suppresses output of .ele file."
	.align 8
.LC21:
	.string	"    -I  Suppresses mesh iteration numbers."
	.align 8
.LC22:
	.string	"    -O  Ignores holes in .poly file."
	.align 8
.LC23:
	.string	"    -X  Suppresses use of exact arithmetic."
	.align 8
.LC24:
	.string	"    -z  Numbers all items starting from zero (rather than one)."
	.align 8
.LC25:
	.string	"    -o2 Generates second-order subparametric elements."
	.align 8
.LC26:
	.string	"    -Y  Suppresses boundary segment splitting."
	.align 8
.LC27:
	.string	"    -S  Specifies maximum number of added Steiner points."
	.align 8
.LC28:
	.string	"    -i  Uses incremental method, rather than divide-and-conquer."
	.align 8
.LC29:
	.string	"    -F  Uses Fortune's sweepline algorithm, rather than d-and-c."
	.align 8
.LC30:
	.string	"    -l  Uses vertical cuts only, rather than alternating cuts."
	.align 8
.LC31:
	.string	"    -s  Force segments into mesh by splitting (instead of using CDT)."
	.align 8
.LC32:
	.string	"    -C  Check consistency of final mesh."
	.align 8
.LC33:
	.string	"    -Q  Quiet:  No terminal output except errors."
	.align 8
.LC34:
	.string	"    -V  Verbose:  Detailed information on what I'm doing."
	.align 8
.LC35:
	.string	"    -h  Help:  Detailed instructions for Triangle."
	.text
	.globl	syntax
	.type	syntax, @function
syntax:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC3[rip]
	call	puts@PLT
	lea	rdi, .LC4[rip]
	call	puts@PLT
	lea	rdi, .LC5[rip]
	call	puts@PLT
	lea	rdi, .LC6[rip]
	call	puts@PLT
	lea	rdi, .LC7[rip]
	call	puts@PLT
	lea	rdi, .LC8[rip]
	call	puts@PLT
	lea	rdi, .LC9[rip]
	call	puts@PLT
	lea	rdi, .LC10[rip]
	call	puts@PLT
	lea	rdi, .LC11[rip]
	call	puts@PLT
	lea	rdi, .LC12[rip]
	call	puts@PLT
	lea	rdi, .LC13[rip]
	call	puts@PLT
	lea	rdi, .LC14[rip]
	call	puts@PLT
	lea	rdi, .LC15[rip]
	call	puts@PLT
	lea	rdi, .LC16[rip]
	call	puts@PLT
	lea	rdi, .LC17[rip]
	call	puts@PLT
	lea	rdi, .LC18[rip]
	call	puts@PLT
	lea	rdi, .LC19[rip]
	call	puts@PLT
	lea	rdi, .LC20[rip]
	call	puts@PLT
	lea	rdi, .LC21[rip]
	call	puts@PLT
	lea	rdi, .LC22[rip]
	call	puts@PLT
	lea	rdi, .LC23[rip]
	call	puts@PLT
	lea	rdi, .LC24[rip]
	call	puts@PLT
	lea	rdi, .LC25[rip]
	call	puts@PLT
	lea	rdi, .LC26[rip]
	call	puts@PLT
	lea	rdi, .LC27[rip]
	call	puts@PLT
	lea	rdi, .LC28[rip]
	call	puts@PLT
	lea	rdi, .LC29[rip]
	call	puts@PLT
	lea	rdi, .LC30[rip]
	call	puts@PLT
	lea	rdi, .LC31[rip]
	call	puts@PLT
	lea	rdi, .LC32[rip]
	call	puts@PLT
	lea	rdi, .LC33[rip]
	call	puts@PLT
	lea	rdi, .LC34[rip]
	call	puts@PLT
	lea	rdi, .LC35[rip]
	call	puts@PLT
	mov	edi, 0
	mov	eax, 0
	call	triexit
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	syntax, .-syntax
	.section	.rodata
.LC36:
	.string	"Triangle"
	.align 8
.LC37:
	.string	"A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator."
.LC38:
	.string	"Version 1.6\n"
	.align 8
.LC39:
	.string	"Copyright 1993, 1995, 1997, 1998, 2002, 2005 Jonathan Richard Shewchuk"
	.align 8
.LC40:
	.string	"2360 Woolsey #H / Berkeley, California 94705-1927"
	.align 8
.LC41:
	.string	"Bugs/comments to jrs@cs.berkeley.edu"
	.align 8
.LC42:
	.string	"Created as part of the Quake project (tools for earthquake simulation)."
	.align 8
.LC43:
	.string	"Supported in part by NSF Grant CMS-9318163 and an NSERC 1967 Scholarship."
	.align 8
.LC44:
	.string	"There is no warranty whatsoever.  Use at your own risk."
	.align 8
.LC45:
	.string	"This executable is compiled for double precision arithmetic.\n\n"
	.align 8
.LC46:
	.string	"Triangle generates exact Delaunay triangulations, constrained Delaunay"
	.align 8
.LC47:
	.string	"triangulations, conforming Delaunay triangulations, Voronoi diagrams, and"
	.align 8
.LC48:
	.string	"high-quality triangular meshes.  The latter can be generated with no small"
	.align 8
.LC49:
	.string	"or large angles, and are thus suitable for finite element analysis.  If no"
	.align 8
.LC50:
	.string	"command line switch is specified, your .node input file is read, and the"
	.align 8
.LC51:
	.string	"Delaunay triangulation is returned in .node and .ele output files.  The"
.LC52:
	.string	"command syntax is:\n"
	.align 8
.LC53:
	.string	"triangle [-prq__a__uAcDjevngBPNEIOXzo_YS__iFlsCQVh] input_file\n"
	.align 8
.LC54:
	.string	"Underscores indicate that numbers may optionally follow certain switches."
	.align 8
.LC55:
	.string	"Do not leave any space between a switch and its numeric parameter."
	.align 8
.LC56:
	.string	"input_file must be a file with extension .node, or extension .poly if the"
	.align 8
.LC57:
	.string	"-p switch is used.  If -r is used, you must supply .node and .ele files,"
	.align 8
.LC58:
	.string	"and possibly a .poly file and an .area file as well.  The formats of these"
.LC59:
	.string	"files are described below.\n"
.LC60:
	.string	"Command Line Switches:\n"
	.align 8
.LC61:
	.string	"    -p  Reads a Planar Straight Line Graph (.poly file), which can specify"
	.align 8
.LC62:
	.string	"        vertices, segments, holes, regional attributes, and regional area"
	.align 8
.LC63:
	.string	"        constraints.  Generates a constrained Delaunay triangulation (CDT)"
	.align 8
.LC64:
	.string	"        fitting the input; or, if -s, -q, -a, or -u is used, a conforming"
	.align 8
.LC65:
	.string	"        constrained Delaunay triangulation (CCDT).  If you want a truly"
	.align 8
.LC66:
	.string	"        Delaunay (not just constrained Delaunay) triangulation, use -D as"
	.align 8
.LC67:
	.string	"        well.  When -p is not used, Triangle reads a .node file by default."
	.align 8
.LC68:
	.string	"    -r  Refines a previously generated mesh.  The mesh is read from a .node"
	.align 8
.LC69:
	.string	"        file and an .ele file.  If -p is also used, a .poly file is read"
	.align 8
.LC70:
	.string	"        and used to constrain segments in the mesh.  If -a is also used"
	.align 8
.LC71:
	.string	"        (with no number following), an .area file is read and used to"
	.align 8
.LC72:
	.string	"        impose area constraints on the mesh.  Further details on refinement"
.LC73:
	.string	"        appear below."
	.align 8
.LC74:
	.string	"    -q  Quality mesh generation by Delaunay refinement (a hybrid of Paul"
	.align 8
.LC75:
	.string	"        Chew's and Jim Ruppert's algorithms).  Adds vertices to the mesh to"
	.align 8
.LC76:
	.string	"        ensure that all angles are between 20 and 140 degrees.  An"
	.align 8
.LC77:
	.string	"        alternative bound on the minimum angle, replacing 20 degrees, may"
	.align 8
.LC78:
	.string	"        be specified after the `q'.  The specified angle may include a"
	.align 8
.LC79:
	.string	"        decimal point, but not exponential notation.  Note that a bound of"
	.align 8
.LC80:
	.string	"        theta degrees on the smallest angle also implies a bound of"
	.align 8
.LC81:
	.string	"        (180 - 2 theta) on the largest angle.  If the minimum angle is 28.6"
	.align 8
.LC82:
	.string	"        degrees or smaller, Triangle is mathematically guaranteed to"
	.align 8
.LC83:
	.string	"        terminate (assuming infinite precision arithmetic--Triangle may"
	.align 8
.LC84:
	.string	"        fail to terminate if you run out of precision).  In practice,"
	.align 8
.LC85:
	.string	"        Triangle often succeeds for minimum angles up to 34 degrees.  For"
	.align 8
.LC86:
	.string	"        some meshes, however, you might need to reduce the minimum angle to"
	.align 8
.LC87:
	.string	"        avoid problems associated with insufficient floating-point"
.LC88:
	.string	"        precision."
	.align 8
.LC89:
	.string	"    -a  Imposes a maximum triangle area.  If a number follows the `a', no"
	.align 8
.LC90:
	.string	"        triangle is generated whose area is larger than that number.  If no"
	.align 8
.LC91:
	.string	"        number is specified, an .area file (if -r is used) or .poly file"
	.align 8
.LC92:
	.string	"        (if -r is not used) specifies a set of maximum area constraints."
	.align 8
.LC93:
	.string	"        An .area file contains a separate area constraint for each"
	.align 8
.LC94:
	.string	"        triangle, and is useful for refining a finite element mesh based on"
	.align 8
.LC95:
	.string	"        a posteriori error estimates.  A .poly file can optionally contain"
	.align 8
.LC96:
	.string	"        an area constraint for each segment-bounded region, thereby"
	.align 8
.LC97:
	.string	"        controlling triangle densities in a first triangulation of a PSLG."
	.align 8
.LC98:
	.string	"        You can impose both a fixed area constraint and a varying area"
	.align 8
.LC99:
	.string	"        constraint by invoking the -a switch twice, once with and once"
	.align 8
.LC100:
	.string	"        without a number following.  Each area specified may include a"
.LC101:
	.string	"        decimal point."
	.align 8
.LC102:
	.string	"    -u  Imposes a user-defined constraint on triangle size.  There are two"
	.align 8
.LC103:
	.string	"        ways to use this feature.  One is to edit the triunsuitable()"
	.align 8
.LC104:
	.string	"        procedure in triangle.c to encode any constraint you like, then"
	.align 8
.LC105:
	.string	"        recompile Triangle.  The other is to compile triangle.c with the"
	.align 8
.LC106:
	.string	"        EXTERNAL_TEST symbol set (compiler switch -DEXTERNAL_TEST), then"
	.align 8
.LC107:
	.string	"        link Triangle with a separate object file that implements"
	.align 8
.LC108:
	.string	"        triunsuitable().  In either case, the -u switch causes the user-"
	.align 8
.LC109:
	.string	"        defined test to be applied to every triangle."
	.align 8
.LC110:
	.string	"    -A  Assigns an additional floating-point attribute to each triangle"
	.align 8
.LC111:
	.string	"        that identifies what segment-bounded region each triangle belongs"
	.align 8
.LC112:
	.string	"        to.  Attributes are assigned to regions by the .poly file.  If a"
	.align 8
.LC113:
	.string	"        region is not explicitly marked by the .poly file, triangles in"
	.align 8
.LC114:
	.string	"        that region are assigned an attribute of zero.  The -A switch has"
	.align 8
.LC115:
	.string	"        an effect only when the -p switch is used and the -r switch is not."
	.align 8
.LC116:
	.string	"    -c  Creates segments on the convex hull of the triangulation.  If you"
	.align 8
.LC117:
	.string	"        are triangulating a vertex set, this switch causes a .poly file to"
	.align 8
.LC118:
	.string	"        be written, containing all edges of the convex hull.  If you are"
	.align 8
.LC119:
	.string	"        triangulating a PSLG, this switch specifies that the whole convex"
	.align 8
.LC120:
	.string	"        hull of the PSLG should be triangulated, regardless of what"
	.align 8
.LC121:
	.string	"        segments the PSLG has.  If you do not use this switch when"
	.align 8
.LC122:
	.string	"        triangulating a PSLG, Triangle assumes that you have identified the"
	.align 8
.LC123:
	.string	"        region to be triangulated by surrounding it with segments of the"
	.align 8
.LC124:
	.string	"        input PSLG.  Beware:  if you are not careful, this switch can cause"
	.align 8
.LC125:
	.string	"        the introduction of an extremely thin angle between a PSLG segment"
	.align 8
.LC126:
	.string	"        and a convex hull segment, which can cause overrefinement (and"
	.align 8
.LC127:
	.string	"        possibly failure if Triangle runs out of precision).  If you are"
	.align 8
.LC128:
	.string	"        refining a mesh, the -c switch works differently:  it causes a"
	.align 8
.LC129:
	.string	"        .poly file to be written containing the boundary edges of the mesh"
	.align 8
.LC130:
	.string	"        (useful if no .poly file was read)."
	.align 8
.LC131:
	.string	"    -D  Conforming Delaunay triangulation:  use this switch if you want to"
	.align 8
.LC132:
	.string	"        ensure that all the triangles in the mesh are Delaunay, and not"
	.align 8
.LC133:
	.string	"        merely constrained Delaunay; or if you want to ensure that all the"
	.align 8
.LC134:
	.string	"        Voronoi vertices lie within the triangulation.  (Some finite volume"
	.align 8
.LC135:
	.string	"        methods have this requirement.)  This switch invokes Ruppert's"
	.align 8
.LC136:
	.string	"        original algorithm, which splits every subsegment whose diametral"
	.align 8
.LC137:
	.string	"        circle is encroached.  It usually increases the number of vertices"
.LC138:
	.string	"        and triangles."
	.align 8
.LC139:
	.string	"    -j  Jettisons vertices that are not part of the final triangulation"
	.align 8
.LC140:
	.string	"        from the output .node file.  By default, Triangle copies all"
	.align 8
.LC141:
	.string	"        vertices in the input .node file to the output .node file, in the"
	.align 8
.LC142:
	.string	"        same order, so their indices do not change.  The -j switch prevents"
	.align 8
.LC143:
	.string	"        duplicated input vertices, or vertices `eaten' by holes, from"
	.align 8
.LC144:
	.string	"        appearing in the output .node file.  Thus, if two input vertices"
	.align 8
.LC145:
	.string	"        have exactly the same coordinates, only the first appears in the"
	.align 8
.LC146:
	.string	"        output.  If any vertices are jettisoned, the vertex numbering in"
	.align 8
.LC147:
	.string	"        the output .node file differs from that of the input .node file."
	.align 8
.LC148:
	.string	"    -e  Outputs (to an .edge file) a list of edges of the triangulation."
	.align 8
.LC149:
	.string	"    -v  Outputs the Voronoi diagram associated with the triangulation."
	.align 8
.LC150:
	.string	"        Does not attempt to detect degeneracies, so some Voronoi vertices"
	.align 8
.LC151:
	.string	"        may be duplicated.  See the discussion of Voronoi diagrams below."
	.align 8
.LC152:
	.string	"    -n  Outputs (to a .neigh file) a list of triangles neighboring each"
.LC153:
	.string	"        triangle."
	.align 8
.LC154:
	.string	"    -g  Outputs the mesh to an Object File Format (.off) file, suitable for"
	.align 8
.LC155:
	.string	"        viewing with the Geometry Center's Geomview package."
	.align 8
.LC156:
	.string	"    -B  No boundary markers in the output .node, .poly, and .edge output"
	.align 8
.LC157:
	.string	"        files.  See the detailed discussion of boundary markers below."
	.align 8
.LC158:
	.string	"    -P  No output .poly file.  Saves disk space, but you lose the ability"
	.align 8
.LC159:
	.string	"        to maintain constraining segments on later refinements of the mesh."
.LC160:
	.string	"    -N  No output .node file."
.LC161:
	.string	"    -E  No output .ele file."
	.align 8
.LC162:
	.string	"    -I  No iteration numbers.  Suppresses the output of .node and .poly"
	.align 8
.LC163:
	.string	"        files, so your input files won't be overwritten.  (If your input is"
	.align 8
.LC164:
	.string	"        a .poly file only, a .node file is written.)  Cannot be used with"
	.align 8
.LC165:
	.string	"        the -r switch, because that would overwrite your input .ele file."
	.align 8
.LC166:
	.string	"        Shouldn't be used with the -q, -a, -u, or -s switch if you are"
	.align 8
.LC167:
	.string	"        using a .node file for input, because no .node file is written, so"
	.align 8
.LC168:
	.string	"        there is no record of any added Steiner points."
	.align 8
.LC169:
	.string	"    -O  No holes.  Ignores the holes in the .poly file."
	.align 8
.LC170:
	.string	"    -X  No exact arithmetic.  Normally, Triangle uses exact floating-point"
	.align 8
.LC171:
	.string	"        arithmetic for certain tests if it thinks the inexact tests are not"
	.align 8
.LC172:
	.string	"        accurate enough.  Exact arithmetic ensures the robustness of the"
	.align 8
.LC173:
	.string	"        triangulation algorithms, despite floating-point roundoff error."
	.align 8
.LC174:
	.string	"        Disabling exact arithmetic with the -X switch causes a small"
	.align 8
.LC175:
	.string	"        improvement in speed and creates the possibility that Triangle will"
	.align 8
.LC176:
	.string	"        fail to produce a valid mesh.  Not recommended."
	.align 8
.LC177:
	.string	"    -z  Numbers all items starting from zero (rather than one).  Note that"
	.align 8
.LC178:
	.string	"        this switch is normally overridden by the value used to number the"
	.align 8
.LC179:
	.string	"        first vertex of the input .node or .poly file.  However, this"
	.align 8
.LC180:
	.string	"        switch is useful when calling Triangle from another program."
	.align 8
.LC181:
	.string	"    -o2 Generates second-order subparametric elements with six nodes each."
	.align 8
.LC182:
	.string	"    -Y  No new vertices on the boundary.  This switch is useful when the"
	.align 8
.LC183:
	.string	"        mesh boundary must be preserved so that it conforms to some"
	.align 8
.LC184:
	.string	"        adjacent mesh.  Be forewarned that you will probably sacrifice much"
	.align 8
.LC185:
	.string	"        of the quality of the mesh; Triangle will try, but the resulting"
	.align 8
.LC186:
	.string	"        mesh may contain poorly shaped triangles.  Works well if all the"
	.align 8
.LC187:
	.string	"        boundary vertices are closely spaced.  Specify this switch twice"
	.align 8
.LC188:
	.string	"        (`-YY') to prevent all segment splitting, including internal"
.LC189:
	.string	"        boundaries."
	.align 8
.LC190:
	.string	"    -S  Specifies the maximum number of Steiner points (vertices that are"
	.align 8
.LC191:
	.string	"        not in the input, but are added to meet the constraints on minimum"
	.align 8
.LC192:
	.string	"        angle and maximum area).  The default is to allow an unlimited"
	.align 8
.LC193:
	.string	"        number.  If you specify this switch with no number after it,"
	.align 8
.LC194:
	.string	"        the limit is set to zero.  Triangle always adds vertices at segment"
	.align 8
.LC195:
	.string	"        intersections, even if it needs to use more vertices than the limit"
	.align 8
.LC196:
	.string	"        you set.  When Triangle inserts segments by splitting (-s), it"
	.align 8
.LC197:
	.string	"        always adds enough vertices to ensure that all the segments of the"
	.align 8
.LC198:
	.string	"        PLSG are recovered, ignoring the limit if necessary."
	.align 8
.LC199:
	.string	"    -i  Uses an incremental rather than a divide-and-conquer algorithm to"
	.align 8
.LC200:
	.string	"        construct a Delaunay triangulation.  Try it if the divide-and-"
	.align 8
.LC201:
	.string	"        conquer algorithm fails."
	.align 8
.LC202:
	.string	"    -F  Uses Steven Fortune's sweepline algorithm to construct a Delaunay"
	.align 8
.LC203:
	.string	"        triangulation.  Warning:  does not use exact arithmetic for all"
	.align 8
.LC204:
	.string	"        calculations.  An exact result is not guaranteed."
	.align 8
.LC205:
	.string	"    -l  Uses only vertical cuts in the divide-and-conquer algorithm.  By"
	.align 8
.LC206:
	.string	"        default, Triangle alternates between vertical and horizontal cuts,"
	.align 8
.LC207:
	.string	"        which usually improve the speed except with vertex sets that are"
	.align 8
.LC208:
	.string	"        small or short and wide.  This switch is primarily of theoretical"
.LC209:
	.string	"        interest."
	.align 8
.LC210:
	.string	"    -s  Specifies that segments should be forced into the triangulation by"
	.align 8
.LC211:
	.string	"        recursively splitting them at their midpoints, rather than by"
	.align 8
.LC212:
	.string	"        generating a constrained Delaunay triangulation.  Segment splitting"
	.align 8
.LC213:
	.string	"        is true to Ruppert's original algorithm, but can create needlessly"
	.align 8
.LC214:
	.string	"        small triangles.  This switch is primarily of theoretical interest."
	.align 8
.LC215:
	.string	"    -C  Check the consistency of the final mesh.  Uses exact arithmetic for"
	.align 8
.LC216:
	.string	"        checking, even if the -X switch is used.  Useful if you suspect"
.LC217:
	.string	"        Triangle is buggy."
	.align 8
.LC218:
	.string	"    -Q  Quiet:  Suppresses all explanation of what Triangle is doing,"
	.align 8
.LC219:
	.string	"        unless an error occurs."
	.align 8
.LC220:
	.string	"    -V  Verbose:  Gives detailed information about what Triangle is doing."
	.align 8
.LC221:
	.string	"        Add more `V's for increasing amount of detail.  `-V' is most"
	.align 8
.LC222:
	.string	"        useful; itgives information on algorithmic progress and much more"
	.align 8
.LC223:
	.string	"        detailed statistics.  `-VV' gives vertex-by-vertex details, and"
	.align 8
.LC224:
	.string	"        prints so much that Triangle runs much more slowly.  `-VVVV' gives"
	.align 8
.LC225:
	.string	"        information only a debugger could love."
	.align 8
.LC226:
	.string	"    -h  Help:  Displays these instructions."
.LC227:
	.string	"Definitions:"
	.align 8
.LC228:
	.string	"  A Delaunay triangulation of a vertex set is a triangulation whose"
	.align 8
.LC229:
	.string	"  vertices are the vertex set, that covers the convex hull of the vertex"
	.align 8
.LC230:
	.string	"  set.  A Delaunay triangulation has the property that no vertex lies"
	.align 8
.LC231:
	.string	"  inside the circumscribing circle (circle that passes through all three"
	.align 8
.LC232:
	.string	"  vertices) of any triangle in the triangulation.\n"
	.align 8
.LC233:
	.string	"  A Voronoi diagram of a vertex set is a subdivision of the plane into"
	.align 8
.LC234:
	.string	"  polygonal cells (some of which may be unbounded, meaning infinitely"
	.align 8
.LC235:
	.string	"  large), where each cell is the set of points in the plane that are closer"
	.align 8
.LC236:
	.string	"  to some input vertex than to any other input vertex.  The Voronoi diagram"
	.align 8
.LC237:
	.string	"  is a geometric dual of the Delaunay triangulation.\n"
	.align 8
.LC238:
	.string	"  A Planar Straight Line Graph (PSLG) is a set of vertices and segments."
	.align 8
.LC239:
	.string	"  Segments are simply edges, whose endpoints are all vertices in the PSLG."
	.align 8
.LC240:
	.string	"  Segments may intersect each other only at their endpoints.  The file"
	.align 8
.LC241:
	.string	"  format for PSLGs (.poly files) is described below.\n"
	.align 8
.LC242:
	.string	"  A constrained Delaunay triangulation (CDT) of a PSLG is similar to a"
	.align 8
.LC243:
	.string	"  Delaunay triangulation, but each PSLG segment is present as a single edge"
	.align 8
.LC244:
	.string	"  of the CDT.  (A constrained Delaunay triangulation is not truly a"
	.align 8
.LC245:
	.string	"  Delaunay triangulation, because some of its triangles might not be"
	.align 8
.LC246:
	.string	"  Delaunay.)  By definition, a CDT does not have any vertices other than"
	.align 8
.LC247:
	.string	"  those specified in the input PSLG.  Depending on context, a CDT might"
	.align 8
.LC248:
	.string	"  cover the convex hull of the PSLG, or it might cover only a segment-"
	.align 8
.LC249:
	.string	"  bounded region (e.g. a polygon).\n"
	.align 8
.LC250:
	.string	"  A conforming Delaunay triangulation of a PSLG is a triangulation in which"
	.align 8
.LC251:
	.string	"  each triangle is truly Delaunay, and each PSLG segment is represented by"
	.align 8
.LC252:
	.string	"  a linear contiguous sequence of edges of the triangulation.  New vertices"
	.align 8
.LC253:
	.string	"  (not part of the PSLG) may appear, and each input segment may have been"
	.align 8
.LC254:
	.string	"  subdivided into shorter edges (subsegments) by these additional vertices."
	.align 8
.LC255:
	.string	"  The new vertices are frequently necessary to maintain the Delaunay"
	.align 8
.LC256:
	.string	"  property while ensuring that every segment is represented.\n"
	.align 8
.LC257:
	.string	"  A conforming constrained Delaunay triangulation (CCDT) of a PSLG is a"
	.align 8
.LC258:
	.string	"  triangulation of a PSLG whose triangles are constrained Delaunay.  New"
	.align 8
.LC259:
	.string	"  vertices may appear, and input segments may be subdivided into"
	.align 8
.LC260:
	.string	"  subsegments, but not to guarantee that segments are respected; rather, to"
	.align 8
.LC261:
	.string	"  improve the quality of the triangles.  The high-quality meshes produced"
	.align 8
.LC262:
	.string	"  by the -q switch are usually CCDTs, but can be made conforming Delaunay"
.LC263:
	.string	"  with the -D switch.\n"
.LC264:
	.string	"File Formats:\n"
	.align 8
.LC265:
	.string	"  All files may contain comments prefixed by the character '#'.  Vertices,"
	.align 8
.LC266:
	.string	"  triangles, edges, holes, and maximum area constraints must be numbered"
	.align 8
.LC267:
	.string	"  consecutively, starting from either 1 or 0.  Whichever you choose, all"
	.align 8
.LC268:
	.string	"  input files must be consistent; if the vertices are numbered from 1, so"
	.align 8
.LC269:
	.string	"  must be all other objects.  Triangle automatically detects your choice"
	.align 8
.LC270:
	.string	"  while reading the .node (or .poly) file.  (When calling Triangle from"
	.align 8
.LC271:
	.string	"  another program, use the -z switch if you wish to number objects from"
	.align 8
.LC272:
	.string	"  zero.)  Examples of these file formats are given below.\n"
.LC273:
	.string	"  .node files:"
	.align 8
.LC274:
	.string	"    First line:  <# of vertices> <dimension (must be 2)> <# of attributes>"
	.align 8
.LC275:
	.string	"                                           <# of boundary markers (0 or 1)>"
	.align 8
.LC276:
	.string	"    Remaining lines:  <vertex #> <x> <y> [attributes] [boundary marker]"
	.align 8
.LC277:
	.string	"    The attributes, which are typically floating-point values of physical"
	.align 8
.LC278:
	.string	"    quantities (such as mass or conductivity) associated with the nodes of"
	.align 8
.LC279:
	.string	"    a finite element mesh, are copied unchanged to the output mesh.  If -q,"
	.align 8
.LC280:
	.string	"    -a, -u, -D, or -s is selected, each new Steiner point added to the mesh"
	.align 8
.LC281:
	.string	"    has attributes assigned to it by linear interpolation.\n"
	.align 8
.LC282:
	.string	"    If the fourth entry of the first line is `1', the last column of the"
	.align 8
.LC283:
	.string	"    remainder of the file is assumed to contain boundary markers.  Boundary"
	.align 8
.LC284:
	.string	"    markers are used to identify boundary vertices and vertices resting on"
	.align 8
.LC285:
	.string	"    PSLG segments; a complete description appears in a section below.  The"
	.align 8
.LC286:
	.string	"    .node file produced by Triangle contains boundary markers in the last"
	.align 8
.LC287:
	.string	"    column unless they are suppressed by the -B switch.\n"
.LC288:
	.string	"  .ele files:"
	.align 8
.LC289:
	.string	"    First line:  <# of triangles> <nodes per triangle> <# of attributes>"
	.align 8
.LC290:
	.string	"    Remaining lines:  <triangle #> <node> <node> <node> ... [attributes]"
	.align 8
.LC291:
	.string	"    Nodes are indices into the corresponding .node file.  The first three"
	.align 8
.LC292:
	.string	"    nodes are the corner vertices, and are listed in counterclockwise order"
	.align 8
.LC293:
	.string	"    around each triangle.  (The remaining nodes, if any, depend on the type"
.LC294:
	.string	"    of finite element used.)\n"
	.align 8
.LC295:
	.string	"    The attributes are just like those of .node files.  Because there is no"
	.align 8
.LC296:
	.string	"    simple mapping from input to output triangles, Triangle attempts to"
	.align 8
.LC297:
	.string	"    interpolate attributes, and may cause a lot of diffusion of attributes"
	.align 8
.LC298:
	.string	"    among nearby triangles as the triangulation is refined.  Attributes do"
	.align 8
.LC299:
	.string	"    not diffuse across segments, so attributes used to identify"
	.align 8
.LC300:
	.string	"    segment-bounded regions remain intact.\n"
	.align 8
.LC301:
	.string	"    In .ele files produced by Triangle, each triangular element has three"
	.align 8
.LC302:
	.string	"    nodes (vertices) unless the -o2 switch is used, in which case"
	.align 8
.LC303:
	.string	"    subparametric quadratic elements with six nodes each are generated."
	.align 8
.LC304:
	.string	"    The first three nodes are the corners in counterclockwise order, and"
	.align 8
.LC305:
	.string	"    the fourth, fifth, and sixth nodes lie on the midpoints of the edges"
	.align 8
.LC306:
	.string	"    opposite the first, second, and third vertices, respectively."
.LC307:
	.string	"  .poly files:"
	.align 8
.LC308:
	.string	"    Following lines:  <vertex #> <x> <y> [attributes] [boundary marker]"
	.align 8
.LC309:
	.string	"    One line:  <# of segments> <# of boundary markers (0 or 1)>"
	.align 8
.LC310:
	.string	"    Following lines:  <segment #> <endpoint> <endpoint> [boundary marker]"
.LC311:
	.string	"    One line:  <# of holes>"
	.align 8
.LC312:
	.string	"    Following lines:  <hole #> <x> <y>"
	.align 8
.LC313:
	.string	"    Optional line:  <# of regional attributes and/or area constraints>"
	.align 8
.LC314:
	.string	"    Optional following lines:  <region #> <x> <y> <attribute> <max area>"
	.align 8
.LC315:
	.string	"    A .poly file represents a PSLG, as well as some additional information."
	.align 8
.LC316:
	.string	"    The first section lists all the vertices, and is identical to the"
	.align 8
.LC317:
	.string	"    format of .node files.  <# of vertices> may be set to zero to indicate"
	.align 8
.LC318:
	.string	"    that the vertices are listed in a separate .node file; .poly files"
	.align 8
.LC319:
	.string	"    produced by Triangle always have this format.  A vertex set represented"
	.align 8
.LC320:
	.string	"    this way has the advantage that it may easily be triangulated with or"
	.align 8
.LC321:
	.string	"    without segments (depending on whether the -p switch is invoked)."
	.align 8
.LC322:
	.string	"    The second section lists the segments.  Segments are edges whose"
	.align 8
.LC323:
	.string	"    presence in the triangulation is enforced.  (Depending on the choice of"
	.align 8
.LC324:
	.string	"    switches, segment might be subdivided into smaller edges).  Each"
	.align 8
.LC325:
	.string	"    segment is specified by listing the indices of its two endpoints.  This"
	.align 8
.LC326:
	.string	"    means that you must include its endpoints in the vertex list.  Each"
	.align 8
.LC327:
	.string	"    segment, like each point, may have a boundary marker.\n"
	.align 8
.LC328:
	.string	"    If -q, -a, -u, and -s are not selected, Triangle produces a constrained"
	.align 8
.LC329:
	.string	"    Delaunay triangulation (CDT), in which each segment appears as a single"
	.align 8
.LC330:
	.string	"    edge in the triangulation.  If -q, -a, -u, or -s is selected, Triangle"
	.align 8
.LC331:
	.string	"    produces a conforming constrained Delaunay triangulation (CCDT), in"
	.align 8
.LC332:
	.string	"    which segments may be subdivided into smaller edges.  If -D is"
	.align 8
.LC333:
	.string	"    selected, Triangle produces a conforming Delaunay triangulation, so"
	.align 8
.LC334:
	.string	"    that every triangle is Delaunay, and not just constrained Delaunay."
	.align 8
.LC335:
	.string	"    The third section lists holes (and concavities, if -c is selected) in"
	.align 8
.LC336:
	.string	"    the triangulation.  Holes are specified by identifying a point inside"
	.align 8
.LC337:
	.string	"    each hole.  After the triangulation is formed, Triangle creates holes"
	.align 8
.LC338:
	.string	"    by eating triangles, spreading out from each hole point until its"
	.align 8
.LC339:
	.string	"    progress is blocked by segments in the PSLG.  You must be careful to"
	.align 8
.LC340:
	.string	"    enclose each hole in segments, or your whole triangulation might be"
	.align 8
.LC341:
	.string	"    eaten away.  If the two triangles abutting a segment are eaten, the"
	.align 8
.LC342:
	.string	"    segment itself is also eaten.  Do not place a hole directly on a"
	.align 8
.LC343:
	.string	"    segment; if you do, Triangle chooses one side of the segment"
.LC344:
	.string	"    arbitrarily.\n"
	.align 8
.LC345:
	.string	"    The optional fourth section lists regional attributes (to be assigned"
	.align 8
.LC346:
	.string	"    to all triangles in a region) and regional constraints on the maximum"
	.align 8
.LC347:
	.string	"    triangle area.  Triangle reads this section only if the -A switch is"
	.align 8
.LC348:
	.string	"    used or the -a switch is used without a number following it, and the -r"
	.align 8
.LC349:
	.string	"    switch is not used.  Regional attributes and area constraints are"
	.align 8
.LC350:
	.string	"    propagated in the same manner as holes:  you specify a point for each"
	.align 8
.LC351:
	.string	"    attribute and/or constraint, and the attribute and/or constraint"
	.align 8
.LC352:
	.string	"    affects the whole region (bounded by segments) containing the point."
	.align 8
.LC353:
	.string	"    If two values are written on a line after the x and y coordinate, the"
	.align 8
.LC354:
	.string	"    first such value is assumed to be a regional attribute (but is only"
	.align 8
.LC355:
	.string	"    applied if the -A switch is selected), and the second value is assumed"
	.align 8
.LC356:
	.string	"    to be a regional area constraint (but is only applied if the -a switch"
	.align 8
.LC357:
	.string	"    is selected).  You may specify just one value after the coordinates,"
	.align 8
.LC358:
	.string	"    which can serve as both an attribute and an area constraint, depending"
	.align 8
.LC359:
	.string	"    on the choice of switches.  If you are using the -A and -a switches"
	.align 8
.LC360:
	.string	"    simultaneously and wish to assign an attribute to some region without"
	.align 8
.LC361:
	.string	"    imposing an area constraint, use a negative maximum area.\n"
	.align 8
.LC362:
	.string	"    When a triangulation is created from a .poly file, you must either"
	.align 8
.LC363:
	.string	"    enclose the entire region to be triangulated in PSLG segments, or"
	.align 8
.LC364:
	.string	"    use the -c switch, which automatically creates extra segments that"
	.align 8
.LC365:
	.string	"    enclose the convex hull of the PSLG.  If you do not use the -c switch,"
	.align 8
.LC366:
	.string	"    Triangle eats all triangles that are not enclosed by segments; if you"
	.align 8
.LC367:
	.string	"    are not careful, your whole triangulation may be eaten away.  If you do"
	.align 8
.LC368:
	.string	"    use the -c switch, you can still produce concavities by the appropriate"
	.align 8
.LC369:
	.string	"    placement of holes just inside the boundary of the convex hull."
	.align 8
.LC370:
	.string	"    An ideal PSLG has no intersecting segments, nor any vertices that lie"
	.align 8
.LC371:
	.string	"    upon segments (except, of course, the endpoints of each segment).  You"
	.align 8
.LC372:
	.string	"    aren't required to make your .poly files ideal, but you should be aware"
	.align 8
.LC373:
	.string	"    of what can go wrong.  Segment intersections are relatively safe--"
	.align 8
.LC374:
	.string	"    Triangle calculates the intersection points for you and adds them to"
	.align 8
.LC375:
	.string	"    the triangulation--as long as your machine's floating-point precision"
	.align 8
.LC376:
	.string	"    doesn't become a problem.  You are tempting the fates if you have three"
	.align 8
.LC377:
	.string	"    segments that cross at the same location, and expect Triangle to figure"
	.align 8
.LC378:
	.string	"    out where the intersection point is.  Thanks to floating-point roundoff"
	.align 8
.LC379:
	.string	"    error, Triangle will probably decide that the three segments intersect"
	.align 8
.LC380:
	.string	"    at three different points, and you will find a minuscule triangle in"
	.align 8
.LC381:
	.string	"    your output--unless Triangle tries to refine the tiny triangle, uses"
	.align 8
.LC382:
	.string	"    up the last bit of machine precision, and fails to terminate at all."
	.align 8
.LC383:
	.string	"    You're better off putting the intersection point in the input files,"
	.align 8
.LC384:
	.string	"    and manually breaking up each segment into two.  Similarly, if you"
	.align 8
.LC385:
	.string	"    place a vertex at the middle of a segment, and hope that Triangle will"
	.align 8
.LC386:
	.string	"    break up the segment at that vertex, you might get lucky.  On the other"
	.align 8
.LC387:
	.string	"    hand, Triangle might decide that the vertex doesn't lie precisely on"
	.align 8
.LC388:
	.string	"    the segment, and you'll have a needle-sharp triangle in your output--or"
	.align 8
.LC389:
	.string	"    a lot of tiny triangles if you're generating a quality mesh."
	.align 8
.LC390:
	.string	"    When Triangle reads a .poly file, it also writes a .poly file, which"
	.align 8
.LC391:
	.string	"    includes all the subsegments--the edges that are parts of input"
	.align 8
.LC392:
	.string	"    segments.  If the -c switch is used, the output .poly file also"
	.align 8
.LC393:
	.string	"    includes all of the edges on the convex hull.  Hence, the output .poly"
	.align 8
.LC394:
	.string	"    file is useful for finding edges associated with input segments and for"
	.align 8
.LC395:
	.string	"    setting boundary conditions in finite element simulations.  Moreover,"
	.align 8
.LC396:
	.string	"    you will need the output .poly file if you plan to refine the output"
	.align 8
.LC397:
	.string	"    mesh, and don't want segments to be missing in later triangulations."
.LC398:
	.string	"  .area files:"
	.align 8
.LC399:
	.string	"    First line:  <# of triangles>"
	.align 8
.LC400:
	.string	"    Following lines:  <triangle #> <maximum area>"
	.align 8
.LC401:
	.string	"    An .area file associates with each triangle a maximum area that is used"
	.align 8
.LC402:
	.string	"    for mesh refinement.  As with other file formats, every triangle must"
	.align 8
.LC403:
	.string	"    be represented, and the triangles must be numbered consecutively.  A"
	.align 8
.LC404:
	.string	"    triangle may be left unconstrained by assigning it a negative maximum"
.LC405:
	.string	"    area.\n"
.LC406:
	.string	"  .edge files:"
	.align 8
.LC407:
	.string	"    First line:  <# of edges> <# of boundary markers (0 or 1)>"
	.align 8
.LC408:
	.string	"    Following lines:  <edge #> <endpoint> <endpoint> [boundary marker]"
	.align 8
.LC409:
	.string	"    Endpoints are indices into the corresponding .node file.  Triangle can"
	.align 8
.LC410:
	.string	"    produce .edge files (use the -e switch), but cannot read them.  The"
	.align 8
.LC411:
	.string	"    optional column of boundary markers is suppressed by the -B switch."
	.align 8
.LC412:
	.string	"    In Voronoi diagrams, one also finds a special kind of edge that is an"
	.align 8
.LC413:
	.string	"    infinite ray with only one endpoint.  For these edges, a different"
.LC414:
	.string	"    format is used:\n"
	.align 8
.LC415:
	.string	"        <edge #> <endpoint> -1 <direction x> <direction y>\n"
	.align 8
.LC416:
	.string	"    The `direction' is a floating-point vector that indicates the direction"
.LC417:
	.string	"    of the infinite ray.\n"
.LC418:
	.string	"  .neigh files:"
	.align 8
.LC419:
	.string	"    First line:  <# of triangles> <# of neighbors per triangle (always 3)>"
	.align 8
.LC420:
	.string	"    Following lines:  <triangle #> <neighbor> <neighbor> <neighbor>"
	.align 8
.LC421:
	.string	"    Neighbors are indices into the corresponding .ele file.  An index of -1"
	.align 8
.LC422:
	.string	"    indicates no neighbor (because the triangle is on an exterior"
	.align 8
.LC423:
	.string	"    boundary).  The first neighbor of triangle i is opposite the first"
	.align 8
.LC424:
	.string	"    corner of triangle i, and so on.\n"
	.align 8
.LC425:
	.string	"    Triangle can produce .neigh files (use the -n switch), but cannot read"
.LC426:
	.string	"    them.\n"
.LC427:
	.string	"Boundary Markers:\n"
	.align 8
.LC428:
	.string	"  Boundary markers are tags used mainly to identify which output vertices"
	.align 8
.LC429:
	.string	"  and edges are associated with which PSLG segment, and to identify which"
	.align 8
.LC430:
	.string	"  vertices and edges occur on a boundary of the triangulation.  A common"
	.align 8
.LC431:
	.string	"  use is to determine where boundary conditions should be applied to a"
	.align 8
.LC432:
	.string	"  finite element mesh.  You can prevent boundary markers from being written"
	.align 8
.LC433:
	.string	"  into files produced by Triangle by using the -B switch.\n"
	.align 8
.LC434:
	.string	"  The boundary marker associated with each segment in an output .poly file"
	.align 8
.LC435:
	.string	"  and each edge in an output .edge file is chosen as follows:"
	.align 8
.LC436:
	.string	"    - If an output edge is part or all of a PSLG segment with a nonzero"
	.align 8
.LC437:
	.string	"      boundary marker, then the edge is assigned the same marker."
	.align 8
.LC438:
	.string	"    - Otherwise, if the edge lies on a boundary of the triangulation"
	.align 8
.LC439:
	.string	"      (even the boundary of a hole), then the edge is assigned the marker"
.LC440:
	.string	"      one (1)."
	.align 8
.LC441:
	.string	"    - Otherwise, the edge is assigned the marker zero (0)."
	.align 8
.LC442:
	.string	"  The boundary marker associated with each vertex in an output .node file"
.LC443:
	.string	"  is chosen as follows:"
	.align 8
.LC444:
	.string	"    - If a vertex is assigned a nonzero boundary marker in the input file,"
	.align 8
.LC445:
	.string	"      then it is assigned the same marker in the output .node file."
	.align 8
.LC446:
	.string	"    - Otherwise, if the vertex lies on a PSLG segment (even if it is an"
	.align 8
.LC447:
	.string	"      endpoint of the segment) with a nonzero boundary marker, then the"
	.align 8
.LC448:
	.string	"      vertex is assigned the same marker.  If the vertex lies on several"
	.align 8
.LC449:
	.string	"      such segments, one of the markers is chosen arbitrarily."
	.align 8
.LC450:
	.string	"    - Otherwise, if the vertex occurs on a boundary of the triangulation,"
	.align 8
.LC451:
	.string	"      then the vertex is assigned the marker one (1)."
	.align 8
.LC452:
	.string	"    - Otherwise, the vertex is assigned the marker zero (0)."
	.align 8
.LC453:
	.string	"  If you want Triangle to determine for you which vertices and edges are on"
	.align 8
.LC454:
	.string	"  the boundary, assign them the boundary marker zero (or use no markers at"
	.align 8
.LC455:
	.string	"  all) in your input files.  In the output files, all boundary vertices,"
	.align 8
.LC456:
	.string	"  edges, and segments will be assigned the value one.\n"
	.align 8
.LC457:
	.string	"Triangulation Iteration Numbers:\n"
	.align 8
.LC458:
	.string	"  Because Triangle can read and refine its own triangulations, input"
	.align 8
.LC459:
	.string	"  and output files have iteration numbers.  For instance, Triangle might"
	.align 8
.LC460:
	.string	"  read the files mesh.3.node, mesh.3.ele, and mesh.3.poly, refine the"
	.align 8
.LC461:
	.string	"  triangulation, and output the files mesh.4.node, mesh.4.ele, and"
	.align 8
.LC462:
	.string	"  mesh.4.poly.  Files with no iteration number are treated as if"
	.align 8
.LC463:
	.string	"  their iteration number is zero; hence, Triangle might read the file"
	.align 8
.LC464:
	.string	"  points.node, triangulate it, and produce the files points.1.node and"
.LC465:
	.string	"  points.1.ele.\n"
	.align 8
.LC466:
	.string	"  Iteration numbers allow you to create a sequence of successively finer"
	.align 8
.LC467:
	.string	"  meshes suitable for multigrid methods.  They also allow you to produce a"
	.align 8
.LC468:
	.string	"  sequence of meshes using error estimate-driven mesh refinement."
	.align 8
.LC469:
	.string	"  If you're not using refinement or quality meshing, and you don't like"
	.align 8
.LC470:
	.string	"  iteration numbers, use the -I switch to disable them.  This switch also"
	.align 8
.LC471:
	.string	"  disables output of .node and .poly files to prevent your input files from"
	.align 8
.LC472:
	.string	"  being overwritten.  (If the input is a .poly file that contains its own"
	.align 8
.LC473:
	.string	"  points, a .node file is written.  This can be quite convenient for"
	.align 8
.LC474:
	.string	"  computing CDTs or quality meshes.)\n"
	.align 8
.LC475:
	.string	"Examples of How to Use Triangle:\n"
	.align 8
.LC476:
	.string	"  `triangle dots' reads vertices from dots.node, and writes their Delaunay"
	.align 8
.LC477:
	.string	"  triangulation to dots.1.node and dots.1.ele.  (dots.1.node is identical"
	.align 8
.LC478:
	.string	"  to dots.node.)  `triangle -I dots' writes the triangulation to dots.ele"
	.align 8
.LC479:
	.string	"  instead.  (No additional .node file is needed, so none is written.)"
	.align 8
.LC480:
	.string	"  `triangle -pe object.1' reads a PSLG from object.1.poly (and possibly"
	.align 8
.LC481:
	.string	"  object.1.node, if the vertices are omitted from object.1.poly) and writes"
	.align 8
.LC482:
	.string	"  its constrained Delaunay triangulation to object.2.node and object.2.ele."
	.align 8
.LC483:
	.string	"  The segments are copied to object.2.poly, and all edges are written to"
.LC484:
	.string	"  object.2.edge.\n"
	.align 8
.LC485:
	.string	"  `triangle -pq31.5a.1 object' reads a PSLG from object.poly (and possibly"
	.align 8
.LC486:
	.string	"  object.node), generates a mesh whose angles are all between 31.5 and 117"
	.align 8
.LC487:
	.string	"  degrees and whose triangles all have areas of 0.1 or less, and writes the"
	.align 8
.LC488:
	.string	"  mesh to object.1.node and object.1.ele.  Each segment may be broken up"
	.align 8
.LC489:
	.string	"  into multiple subsegments; these are written to object.1.poly."
	.align 8
.LC490:
	.string	"  Here is a sample file `box.poly' describing a square with a square hole:"
	.align 8
.LC491:
	.string	"    # A box with eight vertices in 2D, no attributes, one boundary marker."
.LC492:
	.string	"    8 2 0 1"
	.align 8
.LC493:
	.string	"     # Outer box has these vertices:"
.LC494:
	.string	"     1   0 0   0"
.LC495:
	.string	"     2   0 3   0"
.LC496:
	.string	"     3   3 0   0"
	.align 8
.LC497:
	.string	"     4   3 3   33     # A special marker for this vertex."
	.align 8
.LC498:
	.string	"     # Inner square has these vertices:"
.LC499:
	.string	"     5   1 1   0"
.LC500:
	.string	"     6   1 2   0"
.LC501:
	.string	"     7   2 1   0"
.LC502:
	.string	"     8   2 2   0"
	.align 8
.LC503:
	.string	"    # Five segments with boundary markers."
.LC504:
	.string	"    5 1"
	.align 8
.LC505:
	.string	"     1   1 2   5      # Left side of outer box."
	.align 8
.LC506:
	.string	"     # Square hole has these segments:"
.LC507:
	.string	"     2   5 7   0"
.LC508:
	.string	"     3   7 8   0"
.LC509:
	.string	"     4   8 6   10"
.LC510:
	.string	"     5   6 5   0"
	.align 8
.LC511:
	.string	"    # One hole in the middle of the inner square."
.LC512:
	.string	"    1"
.LC513:
	.string	"     1   1.5 1.5"
	.align 8
.LC514:
	.string	"  Note that some segments are missing from the outer square, so you must"
	.align 8
.LC515:
	.string	"  use the `-c' switch.  After `triangle -pqc box.poly', here is the output"
	.align 8
.LC516:
	.string	"  file `box.1.node', with twelve vertices.  The last four vertices were"
	.align 8
.LC517:
	.string	"  added to meet the angle constraint.  Vertices 1, 2, and 9 have markers"
	.align 8
.LC518:
	.string	"  from segment 1.  Vertices 6 and 8 have markers from segment 4.  All the"
	.align 8
.LC519:
	.string	"  other vertices but 4 have been marked to indicate that they lie on a"
.LC520:
	.string	"  boundary.\n"
.LC521:
	.string	"    12  2  0  1"
.LC522:
	.string	"       1    0   0      5"
.LC523:
	.string	"       2    0   3      5"
.LC524:
	.string	"       3    3   0      1"
.LC525:
	.string	"       4    3   3     33"
.LC526:
	.string	"       5    1   1      1"
.LC527:
	.string	"       6    1   2     10"
.LC528:
	.string	"       7    2   1      1"
.LC529:
	.string	"       8    2   2     10"
.LC530:
	.string	"       9    0   1.5    5"
.LC531:
	.string	"      10    1.5   0    1"
.LC532:
	.string	"      11    3   1.5    1"
.LC533:
	.string	"      12    1.5   3    1"
	.align 8
.LC534:
	.string	"    # Generated by triangle -pqc box.poly"
	.align 8
.LC535:
	.string	"  Here is the output file `box.1.ele', with twelve triangles."
.LC536:
	.string	"    12  3  0"
.LC537:
	.string	"       1     5   6   9"
.LC538:
	.string	"       2    10   3   7"
.LC539:
	.string	"       3     6   8  12"
.LC540:
	.string	"       4     9   1   5"
.LC541:
	.string	"       5     6   2   9"
.LC542:
	.string	"       6     7   3  11"
.LC543:
	.string	"       7    11   4   8"
.LC544:
	.string	"       8     7   5  10"
.LC545:
	.string	"       9    12   2   6"
.LC546:
	.string	"      10     8   7  11"
.LC547:
	.string	"      11     5   1  10"
.LC548:
	.string	"      12     8   4  12"
	.align 8
.LC549:
	.string	"    # Generated by triangle -pqc box.poly\n"
	.align 8
.LC550:
	.string	"  Here is the output file `box.1.poly'.  Note that segments have been added"
	.align 8
.LC551:
	.string	"  to represent the convex hull, and some segments have been subdivided by"
	.align 8
.LC552:
	.string	"  newly added vertices.  Note also that <# of vertices> is set to zero to"
	.align 8
.LC553:
	.string	"  indicate that the vertices should be read from the .node file."
.LC554:
	.string	"    0  2  0  1"
.LC555:
	.string	"    12  1"
.LC556:
	.string	"       1     1   9     5"
.LC557:
	.string	"       2     5   7     1"
.LC558:
	.string	"       3     8   7     1"
.LC559:
	.string	"       4     6   8    10"
.LC560:
	.string	"       5     5   6     1"
.LC561:
	.string	"       6     3  10     1"
.LC562:
	.string	"       7     4  11     1"
.LC563:
	.string	"       8     2  12     1"
.LC564:
	.string	"       9     9   2     5"
.LC565:
	.string	"      10    10   1     1"
.LC566:
	.string	"      11    11   3     1"
.LC567:
	.string	"      12    12   4     1"
.LC568:
	.string	"       1   1.5 1.5"
	.align 8
.LC569:
	.string	"Refinement and Area Constraints:"
	.align 8
.LC570:
	.string	"  The -r switch causes a mesh (.node and .ele files) to be read and"
	.align 8
.LC571:
	.string	"  refined.  If the -p switch is also used, a .poly file is read and used to"
	.align 8
.LC572:
	.string	"  specify edges that are constrained and cannot be eliminated (although"
	.align 8
.LC573:
	.string	"  they can be subdivided into smaller edges) by the refinement process."
	.align 8
.LC574:
	.string	"  When you refine a mesh, you generally want to impose tighter constraints."
	.align 8
.LC575:
	.string	"  One way to accomplish this is to use -q with a larger angle, or -a"
	.align 8
.LC576:
	.string	"  followed by a smaller area than you used to generate the mesh you are"
	.align 8
.LC577:
	.string	"  refining.  Another way to do this is to create an .area file, which"
	.align 8
.LC578:
	.string	"  specifies a maximum area for each triangle, and use the -a switch"
	.align 8
.LC579:
	.string	"  (without a number following).  Each triangle's area constraint is applied"
	.align 8
.LC580:
	.string	"  to that triangle.  Area constraints tend to diffuse as the mesh is"
	.align 8
.LC581:
	.string	"  refined, so if there are large variations in area constraint between"
	.align 8
.LC582:
	.string	"  adjacent triangles, you may not get the results you want.  In that case,"
	.align 8
.LC583:
	.string	"  consider instead using the -u switch and writing a C procedure that"
	.align 8
.LC584:
	.string	"  determines which triangles are too large.\n"
	.align 8
.LC585:
	.string	"  If you are refining a mesh composed of linear (three-node) elements, the"
	.align 8
.LC586:
	.string	"  output mesh contains all the nodes present in the input mesh, in the same"
	.align 8
.LC587:
	.string	"  order, with new nodes added at the end of the .node file.  However, the"
	.align 8
.LC588:
	.string	"  refinement is not hierarchical: there is no guarantee that each output"
	.align 8
.LC589:
	.string	"  element is contained in a single input element.  Often, an output element"
	.align 8
.LC590:
	.string	"  can overlap two or three input elements, and some input edges are not"
	.align 8
.LC591:
	.string	"  present in the output mesh.  Hence, a sequence of refined meshes forms a"
	.align 8
.LC592:
	.string	"  hierarchy of nodes, but not a hierarchy of elements.  If you refine a"
	.align 8
.LC593:
	.string	"  mesh of higher-order elements, the hierarchical property applies only to"
	.align 8
.LC594:
	.string	"  the nodes at the corners of an element; the midpoint nodes on each edge"
	.align 8
.LC595:
	.string	"  are discarded before the mesh is refined.\n"
	.align 8
.LC596:
	.string	"  Maximum area constraints in .poly files operate differently from those in"
	.align 8
.LC597:
	.string	"  .area files.  A maximum area in a .poly file applies to the whole"
	.align 8
.LC598:
	.string	"  (segment-bounded) region in which a point falls, whereas a maximum area"
	.align 8
.LC599:
	.string	"  in an .area file applies to only one triangle.  Area constraints in .poly"
	.align 8
.LC600:
	.string	"  files are used only when a mesh is first generated, whereas area"
	.align 8
.LC601:
	.string	"  constraints in .area files are used only to refine an existing mesh, and"
	.align 8
.LC602:
	.string	"  are typically based on a posteriori error estimates resulting from a"
	.align 8
.LC603:
	.string	"  finite element simulation on that mesh.\n"
	.align 8
.LC604:
	.string	"  `triangle -rq25 object.1' reads object.1.node and object.1.ele, then"
	.align 8
.LC605:
	.string	"  refines the triangulation to enforce a 25 degree minimum angle, and then"
	.align 8
.LC606:
	.string	"  writes the refined triangulation to object.2.node and object.2.ele."
	.align 8
.LC607:
	.string	"  `triangle -rpaa6.2 z.3' reads z.3.node, z.3.ele, z.3.poly, and z.3.area."
	.align 8
.LC608:
	.string	"  After reconstructing the mesh and its subsegments, Triangle refines the"
	.align 8
.LC609:
	.string	"  mesh so that no triangle has area greater than 6.2, and furthermore the"
	.align 8
.LC610:
	.string	"  triangles satisfy the maximum area constraints in z.3.area.  No angle"
	.align 8
.LC611:
	.string	"  bound is imposed at all.  The output is written to z.4.node, z.4.ele, and"
.LC612:
	.string	"  z.4.poly.\n"
	.align 8
.LC613:
	.string	"  The sequence `triangle -qa1 x', `triangle -rqa.3 x.1', `triangle -rqa.1"
	.align 8
.LC614:
	.string	"  x.2' creates a sequence of successively finer meshes x.1, x.2, and x.3,"
.LC615:
	.string	"  suitable for multigrid.\n"
	.align 8
.LC616:
	.string	"Convex Hulls and Mesh Boundaries:\n"
	.align 8
.LC617:
	.string	"  If the input is a vertex set (not a PSLG), Triangle produces its convex"
	.align 8
.LC618:
	.string	"  hull as a by-product in the output .poly file if you use the -c switch."
	.align 8
.LC619:
	.string	"  There are faster algorithms for finding a two-dimensional convex hull"
	.align 8
.LC620:
	.string	"  than triangulation, of course, but this one comes for free.\n"
	.align 8
.LC621:
	.string	"  If the input is an unconstrained mesh (you are using the -r switch but"
	.align 8
.LC622:
	.string	"  not the -p switch), Triangle produces a list of its boundary edges"
	.align 8
.LC623:
	.string	"  (including hole boundaries) as a by-product when you use the -c switch."
	.align 8
.LC624:
	.string	"  If you also use the -p switch, the output .poly file contains all the"
	.align 8
.LC625:
	.string	"  segments from the input .poly file as well.\n"
.LC626:
	.string	"Voronoi Diagrams:\n"
	.align 8
.LC627:
	.string	"  The -v switch produces a Voronoi diagram, in files suffixed .v.node and"
	.align 8
.LC628:
	.string	"  .v.edge.  For example, `triangle -v points' reads points.node, produces"
	.align 8
.LC629:
	.string	"  its Delaunay triangulation in points.1.node and points.1.ele, and"
	.align 8
.LC630:
	.string	"  produces its Voronoi diagram in points.1.v.node and points.1.v.edge.  The"
	.align 8
.LC631:
	.string	"  .v.node file contains a list of all Voronoi vertices, and the .v.edge"
	.align 8
.LC632:
	.string	"  file contains a list of all Voronoi edges, some of which may be infinite"
	.align 8
.LC633:
	.string	"  rays.  (The choice of filenames makes it easy to run the set of Voronoi"
	.align 8
.LC634:
	.string	"  vertices through Triangle, if so desired.)\n"
	.align 8
.LC635:
	.string	"  This implementation does not use exact arithmetic to compute the Voronoi"
	.align 8
.LC636:
	.string	"  vertices, and does not check whether neighboring vertices are identical."
	.align 8
.LC637:
	.string	"  Be forewarned that if the Delaunay triangulation is degenerate or"
	.align 8
.LC638:
	.string	"  near-degenerate, the Voronoi diagram may have duplicate vertices or"
.LC639:
	.string	"  crossing edges.\n"
	.align 8
.LC640:
	.string	"  The result is a valid Voronoi diagram only if Triangle's output is a true"
	.align 8
.LC641:
	.string	"  Delaunay triangulation.  The Voronoi output is usually meaningless (and"
	.align 8
.LC642:
	.string	"  may contain crossing edges and other pathology) if the output is a CDT or"
	.align 8
.LC643:
	.string	"  CCDT, or if it has holes or concavities.  If the triangulated domain is"
	.align 8
.LC644:
	.string	"  convex and has no holes, you can use -D switch to force Triangle to"
	.align 8
.LC645:
	.string	"  construct a conforming Delaunay triangulation instead of a CCDT, so the"
	.align 8
.LC646:
	.string	"  Voronoi diagram will be valid.\n"
.LC647:
	.string	"Mesh Topology:\n"
	.align 8
.LC648:
	.string	"  You may wish to know which triangles are adjacent to a certain Delaunay"
	.align 8
.LC649:
	.string	"  edge in an .edge file, which Voronoi cells are adjacent to a certain"
	.align 8
.LC650:
	.string	"  Voronoi edge in a .v.edge file, or which Voronoi cells are adjacent to"
	.align 8
.LC651:
	.string	"  each other.  All of this information can be found by cross-referencing"
	.align 8
.LC652:
	.string	"  output files with the recollection that the Delaunay triangulation and"
	.align 8
.LC653:
	.string	"  the Voronoi diagram are planar duals.\n"
	.align 8
.LC654:
	.string	"  Specifically, edge i of an .edge file is the dual of Voronoi edge i of"
	.align 8
.LC655:
	.string	"  the corresponding .v.edge file, and is rotated 90 degrees counterclock-"
	.align 8
.LC656:
	.string	"  wise from the Voronoi edge.  Triangle j of an .ele file is the dual of"
	.align 8
.LC657:
	.string	"  vertex j of the corresponding .v.node file.  Voronoi cell k is the dual"
	.align 8
.LC658:
	.string	"  of vertex k of the corresponding .node file.\n"
	.align 8
.LC659:
	.string	"  Hence, to find the triangles adjacent to a Delaunay edge, look at the"
	.align 8
.LC660:
	.string	"  vertices of the corresponding Voronoi edge.  If the endpoints of a"
	.align 8
.LC661:
	.string	"  Voronoi edge are Voronoi vertices 2 and 6 respectively, then triangles 2"
	.align 8
.LC662:
	.string	"  and 6 adjoin the left and right sides of the corresponding Delaunay edge,"
	.align 8
.LC663:
	.string	"  respectively.  To find the Voronoi cells adjacent to a Voronoi edge, look"
	.align 8
.LC664:
	.string	"  at the endpoints of the corresponding Delaunay edge.  If the endpoints of"
	.align 8
.LC665:
	.string	"  a Delaunay edge are input vertices 7 and 12, then Voronoi cells 7 and 12"
	.align 8
.LC666:
	.string	"  adjoin the right and left sides of the corresponding Voronoi edge,"
	.align 8
.LC667:
	.string	"  respectively.  To find which Voronoi cells are adjacent to each other,"
	.align 8
.LC668:
	.string	"  just read the list of Delaunay edges.\n"
	.align 8
.LC669:
	.string	"  Triangle does not write a list of the edges adjoining each Voronoi cell,"
	.align 8
.LC670:
	.string	"  but you can reconstructed it straightforwardly.  For instance, to find"
	.align 8
.LC671:
	.string	"  all the edges of Voronoi cell 1, search the output .edge file for every"
	.align 8
.LC672:
	.string	"  edge that has input vertex 1 as an endpoint.  The corresponding dual"
	.align 8
.LC673:
	.string	"  edges in the output .v.edge file form the boundary of Voronoi cell 1."
	.align 8
.LC674:
	.string	"  For each Voronoi vertex, the .neigh file gives a list of the three"
	.align 8
.LC675:
	.string	"  Voronoi vertices attached to it.  You might find this more convenient"
.LC676:
	.string	"  than the .v.edge file.\n"
.LC677:
	.string	"Quadratic Elements:\n"
	.align 8
.LC678:
	.string	"  Triangle generates meshes with subparametric quadratic elements if the"
	.align 8
.LC679:
	.string	"  -o2 switch is specified.  Quadratic elements have six nodes per element,"
	.align 8
.LC680:
	.string	"  rather than three.  `Subparametric' means that the edges of the triangles"
	.align 8
.LC681:
	.string	"  are always straight, so that subparametric quadratic elements are"
	.align 8
.LC682:
	.string	"  geometrically identical to linear elements, even though they can be used"
	.align 8
.LC683:
	.string	"  with quadratic interpolating functions.  The three extra nodes of an"
	.align 8
.LC684:
	.string	"  element fall at the midpoints of the three edges, with the fourth, fifth,"
	.align 8
.LC685:
	.string	"  and sixth nodes appearing opposite the first, second, and third corners"
.LC686:
	.string	"  respectively.\n"
.LC687:
	.string	"Domains with Small Angles:\n"
	.align 8
.LC688:
	.string	"  If two input segments adjoin each other at a small angle, clearly the -q"
	.align 8
.LC689:
	.string	"  switch cannot remove the small angle.  Moreover, Triangle may have no"
	.align 8
.LC690:
	.string	"  choice but to generate additional triangles whose smallest angles are"
	.align 8
.LC691:
	.string	"  smaller than the specified bound.  However, these triangles only appear"
	.align 8
.LC692:
	.string	"  between input segments separated by small angles.  Moreover, if you"
	.align 8
.LC693:
	.string	"  request a minimum angle of theta degrees, Triangle will generally produce"
	.align 8
.LC694:
	.string	"  no angle larger than 180 - 2 theta, even if it is forced to compromise on"
.LC695:
	.string	"  the minimum angle.\n"
.LC696:
	.string	"Statistics:\n"
	.align 8
.LC697:
	.string	"  After generating a mesh, Triangle prints a count of entities in the"
	.align 8
.LC698:
	.string	"  output mesh, including the number of vertices, triangles, edges, exterior"
	.align 8
.LC699:
	.string	"  boundary edges (i.e. subsegments on the boundary of the triangulation,"
	.align 8
.LC700:
	.string	"  including hole boundaries), interior boundary edges (i.e. subsegments of"
	.align 8
.LC701:
	.string	"  input segments not on the boundary), and total subsegments.  If you've"
	.align 8
.LC702:
	.string	"  forgotten the statistics for an existing mesh, run Triangle on that mesh"
	.align 8
.LC703:
	.string	"  with the -rNEP switches to read the mesh and print the statistics without"
	.align 8
.LC704:
	.string	"  writing any files.  Use -rpNEP if you've got a .poly file for the mesh."
	.align 8
.LC705:
	.string	"  The -V switch produces extended statistics, including a rough estimate"
	.align 8
.LC706:
	.string	"  of memory use, the number of calls to geometric predicates, and"
	.align 8
.LC707:
	.string	"  histograms of the angles and the aspect ratios of the triangles in the"
.LC708:
	.string	"  mesh.\n"
.LC709:
	.string	"Exact Arithmetic:\n"
	.align 8
.LC710:
	.string	"  Triangle uses adaptive exact arithmetic to perform what computational"
	.align 8
.LC711:
	.string	"  geometers call the `orientation' and `incircle' tests.  If the floating-"
	.align 8
.LC712:
	.string	"  point arithmetic of your machine conforms to the IEEE 754 standard (as"
	.align 8
.LC713:
	.string	"  most workstations do), and does not use extended precision internal"
	.align 8
.LC714:
	.string	"  floating-point registers, then your output is guaranteed to be an"
	.align 8
.LC715:
	.string	"  absolutely true Delaunay or constrained Delaunay triangulation, roundoff"
	.align 8
.LC716:
	.string	"  error notwithstanding.  The word `adaptive' implies that these arithmetic"
	.align 8
.LC717:
	.string	"  routines compute the result only to the precision necessary to guarantee"
	.align 8
.LC718:
	.string	"  correctness, so they are usually nearly as fast as their approximate"
.LC719:
	.string	"  counterparts.\n"
	.align 8
.LC720:
	.string	"  May CPUs, including Intel x86 processors, have extended precision"
	.align 8
.LC721:
	.string	"  floating-point registers.  These must be reconfigured so their precision"
	.align 8
.LC722:
	.string	"  is reduced to memory precision.  Triangle does this if it is compiled"
	.align 8
.LC723:
	.string	"  correctly.  See the makefile for details.\n"
	.align 8
.LC724:
	.string	"  The exact tests can be disabled with the -X switch.  On most inputs, this"
	.align 8
.LC725:
	.string	"  switch reduces the computation time by about eight percent--it's not"
	.align 8
.LC726:
	.string	"  worth the risk.  There are rare difficult inputs (having many collinear"
	.align 8
.LC727:
	.string	"  and cocircular vertices), however, for which the difference in speed"
	.align 8
.LC728:
	.string	"  could be a factor of two.  Be forewarned that these are precisely the"
	.align 8
.LC729:
	.string	"  inputs most likely to cause errors if you use the -X switch.  Hence, the"
	.align 8
.LC730:
	.string	"  -X switch is not recommended.\n"
	.align 8
.LC731:
	.string	"  Unfortunately, the exact tests don't solve every numerical problem."
	.align 8
.LC732:
	.string	"  Exact arithmetic is not used to compute the positions of new vertices,"
	.align 8
.LC733:
	.string	"  because the bit complexity of vertex coordinates would grow without"
	.align 8
.LC734:
	.string	"  bound.  Hence, segment intersections aren't computed exactly; in very"
	.align 8
.LC735:
	.string	"  unusual cases, roundoff error in computing an intersection point might"
	.align 8
.LC736:
	.string	"  actually lead to an inverted triangle and an invalid triangulation."
	.align 8
.LC737:
	.string	"  (This is one reason to specify your own intersection points in your .poly"
	.align 8
.LC738:
	.string	"  files.)  Similarly, exact arithmetic is not used to compute the vertices"
.LC739:
	.string	"  of the Voronoi diagram.\n"
	.align 8
.LC740:
	.string	"  Another pair of problems not solved by the exact arithmetic routines is"
	.align 8
.LC741:
	.string	"  underflow and overflow.  If Triangle is compiled for double precision"
	.align 8
.LC742:
	.string	"  arithmetic, I believe that Triangle's geometric predicates work correctly"
	.align 8
.LC743:
	.string	"  if the exponent of every input coordinate falls in the range [-148, 201]."
	.align 8
.LC744:
	.string	"  Underflow can silently prevent the orientation and incircle tests from"
	.align 8
.LC745:
	.string	"  being performed exactly, while overflow typically causes a floating"
.LC746:
	.string	"  exception.\n"
	.align 8
.LC747:
	.string	"Calling Triangle from Another Program:\n"
	.align 8
.LC748:
	.string	"  Read the file triangle.h for details.\n"
.LC749:
	.string	"Troubleshooting:\n"
	.align 8
.LC750:
	.string	"  Please read this section before mailing me bugs.\n"
	.align 8
.LC751:
	.string	"  `My output mesh has no triangles!'\n"
	.align 8
.LC752:
	.string	"    If you're using a PSLG, you've probably failed to specify a proper set"
	.align 8
.LC753:
	.string	"    of bounding segments, or forgotten to use the -c switch.  Or you may"
	.align 8
.LC754:
	.string	"    have placed a hole badly, thereby eating all your triangles.  To test"
	.align 8
.LC755:
	.string	"    these possibilities, try again with the -c and -O switches."
	.align 8
.LC756:
	.string	"    Alternatively, all your input vertices may be collinear, in which case"
	.align 8
.LC757:
	.string	"    you can hardly expect to triangulate them.\n"
	.align 8
.LC758:
	.string	"  `Triangle doesn't terminate, or just crashes.'\n"
	.align 8
.LC759:
	.string	"    Bad things can happen when triangles get so small that the distance"
	.align 8
.LC760:
	.string	"    between their vertices isn't much larger than the precision of your"
	.align 8
.LC761:
	.string	"    machine's arithmetic.  If you've compiled Triangle for single-precision"
	.align 8
.LC762:
	.string	"    arithmetic, you might do better by recompiling it for double-precision."
	.align 8
.LC763:
	.string	"    Then again, you might just have to settle for more lenient constraints"
	.align 8
.LC764:
	.string	"    on the minimum angle and the maximum area than you had planned."
	.align 8
.LC765:
	.string	"    You can minimize precision problems by ensuring that the origin lies"
	.align 8
.LC766:
	.string	"    inside your vertex set, or even inside the densest part of your"
	.align 8
.LC767:
	.string	"    mesh.  If you're triangulating an object whose x-coordinates all fall"
	.align 8
.LC768:
	.string	"    between 6247133 and 6247134, you're not leaving much floating-point"
	.align 8
.LC769:
	.string	"    precision for Triangle to work with.\n"
	.align 8
.LC770:
	.string	"    Precision problems can occur covertly if the input PSLG contains two"
	.align 8
.LC771:
	.string	"    segments that meet (or intersect) at an extremely small angle, or if"
	.align 8
.LC772:
	.string	"    such an angle is introduced by the -c switch.  If you don't realize"
	.align 8
.LC773:
	.string	"    that a tiny angle is being formed, you might never discover why"
	.align 8
.LC774:
	.string	"    Triangle is crashing.  To check for this possibility, use the -S switch"
	.align 8
.LC775:
	.string	"    (with an appropriate limit on the number of Steiner points, found by"
	.align 8
.LC776:
	.string	"    trial-and-error) to stop Triangle early, and view the output .poly file"
	.align 8
.LC777:
	.string	"    with Show Me (described below).  Look carefully for regions where dense"
	.align 8
.LC778:
	.string	"    clusters of vertices are forming and for small angles between segments."
	.align 8
.LC779:
	.string	"    Zoom in closely, as such segments might look like a single segment from"
.LC780:
	.string	"    a distance.\n"
	.align 8
.LC781:
	.string	"    If some of the input values are too large, Triangle may suffer a"
	.align 8
.LC782:
	.string	"    floating exception due to overflow when attempting to perform an"
	.align 8
.LC783:
	.string	"    orientation or incircle test.  (Read the section on exact arithmetic"
	.align 8
.LC784:
	.string	"    above.)  Again, I recommend compiling Triangle for double (rather"
	.align 8
.LC785:
	.string	"    than single) precision arithmetic.\n"
	.align 8
.LC786:
	.string	"    Unexpected problems can arise if you use quality meshing (-q, -a, or"
	.align 8
.LC787:
	.string	"    -u) with an input that is not segment-bounded--that is, if your input"
	.align 8
.LC788:
	.string	"    is a vertex set, or you're using the -c switch.  If the convex hull of"
	.align 8
.LC789:
	.string	"    your input vertices has collinear vertices on its boundary, an input"
	.align 8
.LC790:
	.string	"    vertex that you think lies on the convex hull might actually lie just"
	.align 8
.LC791:
	.string	"    inside the convex hull.  If so, the vertex and the nearby convex hull"
	.align 8
.LC792:
	.string	"    edge form an extremely thin triangle.  When Triangle tries to refine"
	.align 8
.LC793:
	.string	"    the mesh to enforce angle and area constraints, Triangle might generate"
	.align 8
.LC794:
	.string	"    extremely tiny triangles, or it might fail because of insufficient"
	.align 8
.LC795:
	.string	"    floating-point precision.\n"
	.align 8
.LC796:
	.string	"  `The numbering of the output vertices doesn't match the input vertices.'"
	.align 8
.LC797:
	.string	"    You may have had duplicate input vertices, or you may have eaten some"
	.align 8
.LC798:
	.string	"    of your input vertices with a hole, or by placing them outside the area"
	.align 8
.LC799:
	.string	"    enclosed by segments.  In any case, you can solve the problem by not"
.LC800:
	.string	"    using the -j switch.\n"
	.align 8
.LC801:
	.string	"  `Triangle executes without incident, but when I look at the resulting"
	.align 8
.LC802:
	.string	"  mesh, it has overlapping triangles or other geometric inconsistencies.'"
	.align 8
.LC803:
	.string	"    If you select the -X switch, Triangle occasionally makes mistakes due"
	.align 8
.LC804:
	.string	"    to floating-point roundoff error.  Although these errors are rare,"
	.align 8
.LC805:
	.string	"    don't use the -X switch.  If you still have problems, please report the"
.LC806:
	.string	"    bug.\n"
	.align 8
.LC807:
	.string	"  Voronoi diagram, it has overlapping edges or other geometric"
.LC808:
	.string	"  inconsistencies.'"
	.align 8
.LC809:
	.string	"    If your input is a PSLG (-p), you can only expect a meaningful Voronoi"
	.align 8
.LC810:
	.string	"    diagram if the domain you are triangulating is convex and free of"
	.align 8
.LC811:
	.string	"    holes, and you use the -D switch to construct a conforming Delaunay"
	.align 8
.LC812:
	.string	"    triangulation (instead of a CDT or CCDT).\n"
	.align 8
.LC813:
	.string	"  Strange things can happen if you've taken liberties with your PSLG.  Do"
	.align 8
.LC814:
	.string	"  you have a vertex lying in the middle of a segment?  Triangle sometimes"
	.align 8
.LC815:
	.string	"  copes poorly with that sort of thing.  Do you want to lay out a collinear"
	.align 8
.LC816:
	.string	"  row of evenly spaced, segment-connected vertices?  Have you simply"
	.align 8
.LC817:
	.string	"  defined one long segment connecting the leftmost vertex to the rightmost"
	.align 8
.LC818:
	.string	"  vertex, and a bunch of vertices lying along it?  This method occasionally"
	.align 8
.LC819:
	.string	"  works, especially with horizontal and vertical lines, but often it"
	.align 8
.LC820:
	.string	"  doesn't, and you'll have to connect each adjacent pair of vertices with a"
	.align 8
.LC821:
	.string	"  separate segment.  If you don't like it, tough.\n"
	.align 8
.LC822:
	.string	"  Furthermore, if you have segments that intersect other than at their"
	.align 8
.LC823:
	.string	"  endpoints, try not to let the intersections fall extremely close to PSLG"
.LC824:
	.string	"  vertices or each other.\n"
	.align 8
.LC825:
	.string	"  If you have problems refining a triangulation not produced by Triangle:"
	.align 8
.LC826:
	.string	"  Are you sure the triangulation is geometrically valid?  Is it formatted"
	.align 8
.LC827:
	.string	"  correctly for Triangle?  Are the triangles all listed so the first three"
	.align 8
.LC828:
	.string	"  vertices are their corners in counterclockwise order?  Are all of the"
	.align 8
.LC829:
	.string	"  triangles constrained Delaunay?  Triangle's Delaunay refinement algorithm"
	.align 8
.LC830:
	.string	"  assumes that it starts with a CDT.\n"
.LC831:
	.string	"Show Me:\n"
	.align 8
.LC832:
	.string	"  Triangle comes with a separate program named `Show Me', whose primary"
	.align 8
.LC833:
	.string	"  purpose is to draw meshes on your screen or in PostScript.  Its secondary"
	.align 8
.LC834:
	.string	"  purpose is to check the validity of your input files, and do so more"
	.align 8
.LC835:
	.string	"  thoroughly than Triangle does.  Unlike Triangle, Show Me requires that"
	.align 8
.LC836:
	.string	"  you have the X Windows system.  Sorry, Microsoft Windows users."
.LC837:
	.string	"Triangle on the Web:"
	.align 8
.LC838:
	.string	"  To see an illustrated version of these instructions, check out"
	.align 8
.LC839:
	.string	"    http://www.cs.cmu.edu/~quake/triangle.html"
.LC840:
	.string	"A Brief Plea:"
	.align 8
.LC841:
	.string	"  If you use Triangle, and especially if you use it to accomplish real"
	.align 8
.LC842:
	.string	"  work, I would like very much to hear from you.  A short letter or email"
	.align 8
.LC843:
	.string	"  (to jrs@cs.berkeley.edu) describing how you use Triangle will mean a lot"
	.align 8
.LC844:
	.string	"  to me.  The more people I know are using this program, the more easily I"
	.align 8
.LC845:
	.string	"  can justify spending time on improvements, which in turn will benefit"
	.align 8
.LC846:
	.string	"  you.  Also, I can put you on a list to receive email whenever a new"
	.align 8
.LC847:
	.string	"  version of Triangle is available.\n"
	.align 8
.LC848:
	.string	"  If you use a mesh generated by Triangle in a publication, please include"
	.align 8
.LC849:
	.string	"  an acknowledgment as well.  And please spell Triangle with a capital `T'!"
	.align 8
.LC850:
	.string	"  If you want to include a citation, use `Jonathan Richard Shewchuk,"
	.align 8
.LC851:
	.string	"  ``Triangle: Engineering a 2D Quality Mesh Generator and Delaunay"
	.align 8
.LC852:
	.string	"  Triangulator,'' in Applied Computational Geometry:  Towards Geometric"
	.align 8
.LC853:
	.string	"  Engineering (Ming C. Lin and Dinesh Manocha, editors), volume 1148 of"
	.align 8
.LC854:
	.string	"  Lecture Notes in Computer Science, pages 203-222, Springer-Verlag,"
	.align 8
.LC855:
	.string	"  Berlin, May 1996.  (From the First ACM Workshop on Applied Computational"
.LC856:
	.string	"  Geometry.)'\n"
.LC857:
	.string	"Research credit:\n"
	.align 8
.LC858:
	.string	"  Of course, I can take credit for only a fraction of the ideas that made"
	.align 8
.LC859:
	.string	"  this mesh generator possible.  Triangle owes its existence to the efforts"
	.align 8
.LC860:
	.string	"  of many fine computational geometers and other researchers, including"
	.align 8
.LC861:
	.string	"  Marshall Bern, L. Paul Chew, Kenneth L. Clarkson, Boris Delaunay, Rex A."
	.align 8
.LC862:
	.string	"  Dwyer, David Eppstein, Steven Fortune, Leonidas J. Guibas, Donald E."
	.align 8
.LC863:
	.string	"  Knuth, Charles L. Lawson, Der-Tsai Lee, Gary L. Miller, Ernst P. Mucke,"
	.align 8
.LC864:
	.string	"  Steven E. Pav, Douglas M. Priest, Jim Ruppert, Isaac Saias, Bruce J."
	.align 8
.LC865:
	.string	"  Schachter, Micha Sharir, Peter W. Shor, Daniel D. Sleator, Jorge Stolfi,"
	.align 8
.LC866:
	.string	"  Robert E. Tarjan, Alper Ungor, Christopher J. Van Wyk, Noel J."
	.align 8
.LC867:
	.string	"  Walkington, and Binhai Zhu.  See the comments at the beginning of the"
	.align 8
.LC868:
	.string	"  source code for references.\n"
	.text
	.globl	info
	.type	info, @function
info:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC36[rip]
	call	puts@PLT
	lea	rdi, .LC37[rip]
	call	puts@PLT
	lea	rdi, .LC38[rip]
	call	puts@PLT
	lea	rdi, .LC39[rip]
	call	puts@PLT
	lea	rdi, .LC40[rip]
	call	puts@PLT
	lea	rdi, .LC41[rip]
	call	puts@PLT
	lea	rdi, .LC42[rip]
	call	puts@PLT
	lea	rdi, .LC43[rip]
	call	puts@PLT
	lea	rdi, .LC44[rip]
	call	puts@PLT
	lea	rdi, .LC45[rip]
	call	puts@PLT
	lea	rdi, .LC46[rip]
	call	puts@PLT
	lea	rdi, .LC47[rip]
	call	puts@PLT
	lea	rdi, .LC48[rip]
	call	puts@PLT
	lea	rdi, .LC49[rip]
	call	puts@PLT
	lea	rdi, .LC50[rip]
	call	puts@PLT
	lea	rdi, .LC51[rip]
	call	puts@PLT
	lea	rdi, .LC52[rip]
	call	puts@PLT
	lea	rdi, .LC53[rip]
	call	puts@PLT
	lea	rdi, .LC54[rip]
	call	puts@PLT
	lea	rdi, .LC55[rip]
	call	puts@PLT
	lea	rdi, .LC56[rip]
	call	puts@PLT
	lea	rdi, .LC57[rip]
	call	puts@PLT
	lea	rdi, .LC58[rip]
	call	puts@PLT
	lea	rdi, .LC59[rip]
	call	puts@PLT
	lea	rdi, .LC60[rip]
	call	puts@PLT
	lea	rdi, .LC61[rip]
	call	puts@PLT
	lea	rdi, .LC62[rip]
	call	puts@PLT
	lea	rdi, .LC63[rip]
	call	puts@PLT
	lea	rdi, .LC64[rip]
	call	puts@PLT
	lea	rdi, .LC65[rip]
	call	puts@PLT
	lea	rdi, .LC66[rip]
	call	puts@PLT
	lea	rdi, .LC67[rip]
	call	puts@PLT
	lea	rdi, .LC68[rip]
	call	puts@PLT
	lea	rdi, .LC69[rip]
	call	puts@PLT
	lea	rdi, .LC70[rip]
	call	puts@PLT
	lea	rdi, .LC71[rip]
	call	puts@PLT
	lea	rdi, .LC72[rip]
	call	puts@PLT
	lea	rdi, .LC73[rip]
	call	puts@PLT
	lea	rdi, .LC74[rip]
	call	puts@PLT
	lea	rdi, .LC75[rip]
	call	puts@PLT
	lea	rdi, .LC76[rip]
	call	puts@PLT
	lea	rdi, .LC77[rip]
	call	puts@PLT
	lea	rdi, .LC78[rip]
	call	puts@PLT
	lea	rdi, .LC79[rip]
	call	puts@PLT
	lea	rdi, .LC80[rip]
	call	puts@PLT
	lea	rdi, .LC81[rip]
	call	puts@PLT
	lea	rdi, .LC82[rip]
	call	puts@PLT
	lea	rdi, .LC83[rip]
	call	puts@PLT
	lea	rdi, .LC84[rip]
	call	puts@PLT
	lea	rdi, .LC85[rip]
	call	puts@PLT
	lea	rdi, .LC86[rip]
	call	puts@PLT
	lea	rdi, .LC87[rip]
	call	puts@PLT
	lea	rdi, .LC88[rip]
	call	puts@PLT
	lea	rdi, .LC89[rip]
	call	puts@PLT
	lea	rdi, .LC90[rip]
	call	puts@PLT
	lea	rdi, .LC91[rip]
	call	puts@PLT
	lea	rdi, .LC92[rip]
	call	puts@PLT
	lea	rdi, .LC93[rip]
	call	puts@PLT
	lea	rdi, .LC94[rip]
	call	puts@PLT
	lea	rdi, .LC95[rip]
	call	puts@PLT
	lea	rdi, .LC96[rip]
	call	puts@PLT
	lea	rdi, .LC97[rip]
	call	puts@PLT
	lea	rdi, .LC98[rip]
	call	puts@PLT
	lea	rdi, .LC99[rip]
	call	puts@PLT
	lea	rdi, .LC100[rip]
	call	puts@PLT
	lea	rdi, .LC101[rip]
	call	puts@PLT
	lea	rdi, .LC102[rip]
	call	puts@PLT
	lea	rdi, .LC103[rip]
	call	puts@PLT
	lea	rdi, .LC104[rip]
	call	puts@PLT
	lea	rdi, .LC105[rip]
	call	puts@PLT
	lea	rdi, .LC106[rip]
	call	puts@PLT
	lea	rdi, .LC107[rip]
	call	puts@PLT
	lea	rdi, .LC108[rip]
	call	puts@PLT
	lea	rdi, .LC109[rip]
	call	puts@PLT
	lea	rdi, .LC110[rip]
	call	puts@PLT
	lea	rdi, .LC111[rip]
	call	puts@PLT
	lea	rdi, .LC112[rip]
	call	puts@PLT
	lea	rdi, .LC113[rip]
	call	puts@PLT
	lea	rdi, .LC114[rip]
	call	puts@PLT
	lea	rdi, .LC115[rip]
	call	puts@PLT
	lea	rdi, .LC116[rip]
	call	puts@PLT
	lea	rdi, .LC117[rip]
	call	puts@PLT
	lea	rdi, .LC118[rip]
	call	puts@PLT
	lea	rdi, .LC119[rip]
	call	puts@PLT
	lea	rdi, .LC120[rip]
	call	puts@PLT
	lea	rdi, .LC121[rip]
	call	puts@PLT
	lea	rdi, .LC122[rip]
	call	puts@PLT
	lea	rdi, .LC123[rip]
	call	puts@PLT
	lea	rdi, .LC124[rip]
	call	puts@PLT
	lea	rdi, .LC125[rip]
	call	puts@PLT
	lea	rdi, .LC126[rip]
	call	puts@PLT
	lea	rdi, .LC127[rip]
	call	puts@PLT
	lea	rdi, .LC128[rip]
	call	puts@PLT
	lea	rdi, .LC129[rip]
	call	puts@PLT
	lea	rdi, .LC130[rip]
	call	puts@PLT
	lea	rdi, .LC131[rip]
	call	puts@PLT
	lea	rdi, .LC132[rip]
	call	puts@PLT
	lea	rdi, .LC133[rip]
	call	puts@PLT
	lea	rdi, .LC134[rip]
	call	puts@PLT
	lea	rdi, .LC135[rip]
	call	puts@PLT
	lea	rdi, .LC136[rip]
	call	puts@PLT
	lea	rdi, .LC137[rip]
	call	puts@PLT
	lea	rdi, .LC138[rip]
	call	puts@PLT
	lea	rdi, .LC139[rip]
	call	puts@PLT
	lea	rdi, .LC140[rip]
	call	puts@PLT
	lea	rdi, .LC141[rip]
	call	puts@PLT
	lea	rdi, .LC142[rip]
	call	puts@PLT
	lea	rdi, .LC143[rip]
	call	puts@PLT
	lea	rdi, .LC144[rip]
	call	puts@PLT
	lea	rdi, .LC145[rip]
	call	puts@PLT
	lea	rdi, .LC146[rip]
	call	puts@PLT
	lea	rdi, .LC147[rip]
	call	puts@PLT
	lea	rdi, .LC148[rip]
	call	puts@PLT
	lea	rdi, .LC149[rip]
	call	puts@PLT
	lea	rdi, .LC150[rip]
	call	puts@PLT
	lea	rdi, .LC151[rip]
	call	puts@PLT
	lea	rdi, .LC152[rip]
	call	puts@PLT
	lea	rdi, .LC153[rip]
	call	puts@PLT
	lea	rdi, .LC154[rip]
	call	puts@PLT
	lea	rdi, .LC155[rip]
	call	puts@PLT
	lea	rdi, .LC156[rip]
	call	puts@PLT
	lea	rdi, .LC157[rip]
	call	puts@PLT
	lea	rdi, .LC158[rip]
	call	puts@PLT
	lea	rdi, .LC159[rip]
	call	puts@PLT
	lea	rdi, .LC160[rip]
	call	puts@PLT
	lea	rdi, .LC161[rip]
	call	puts@PLT
	lea	rdi, .LC162[rip]
	call	puts@PLT
	lea	rdi, .LC163[rip]
	call	puts@PLT
	lea	rdi, .LC164[rip]
	call	puts@PLT
	lea	rdi, .LC165[rip]
	call	puts@PLT
	lea	rdi, .LC166[rip]
	call	puts@PLT
	lea	rdi, .LC167[rip]
	call	puts@PLT
	lea	rdi, .LC168[rip]
	call	puts@PLT
	lea	rdi, .LC169[rip]
	call	puts@PLT
	lea	rdi, .LC170[rip]
	call	puts@PLT
	lea	rdi, .LC171[rip]
	call	puts@PLT
	lea	rdi, .LC172[rip]
	call	puts@PLT
	lea	rdi, .LC173[rip]
	call	puts@PLT
	lea	rdi, .LC174[rip]
	call	puts@PLT
	lea	rdi, .LC175[rip]
	call	puts@PLT
	lea	rdi, .LC176[rip]
	call	puts@PLT
	lea	rdi, .LC177[rip]
	call	puts@PLT
	lea	rdi, .LC178[rip]
	call	puts@PLT
	lea	rdi, .LC179[rip]
	call	puts@PLT
	lea	rdi, .LC180[rip]
	call	puts@PLT
	lea	rdi, .LC181[rip]
	call	puts@PLT
	lea	rdi, .LC182[rip]
	call	puts@PLT
	lea	rdi, .LC183[rip]
	call	puts@PLT
	lea	rdi, .LC184[rip]
	call	puts@PLT
	lea	rdi, .LC185[rip]
	call	puts@PLT
	lea	rdi, .LC186[rip]
	call	puts@PLT
	lea	rdi, .LC187[rip]
	call	puts@PLT
	lea	rdi, .LC188[rip]
	call	puts@PLT
	lea	rdi, .LC189[rip]
	call	puts@PLT
	lea	rdi, .LC190[rip]
	call	puts@PLT
	lea	rdi, .LC191[rip]
	call	puts@PLT
	lea	rdi, .LC192[rip]
	call	puts@PLT
	lea	rdi, .LC193[rip]
	call	puts@PLT
	lea	rdi, .LC194[rip]
	call	puts@PLT
	lea	rdi, .LC195[rip]
	call	puts@PLT
	lea	rdi, .LC196[rip]
	call	puts@PLT
	lea	rdi, .LC197[rip]
	call	puts@PLT
	lea	rdi, .LC198[rip]
	call	puts@PLT
	lea	rdi, .LC199[rip]
	call	puts@PLT
	lea	rdi, .LC200[rip]
	call	puts@PLT
	lea	rdi, .LC201[rip]
	call	puts@PLT
	lea	rdi, .LC202[rip]
	call	puts@PLT
	lea	rdi, .LC203[rip]
	call	puts@PLT
	lea	rdi, .LC204[rip]
	call	puts@PLT
	lea	rdi, .LC205[rip]
	call	puts@PLT
	lea	rdi, .LC206[rip]
	call	puts@PLT
	lea	rdi, .LC207[rip]
	call	puts@PLT
	lea	rdi, .LC208[rip]
	call	puts@PLT
	lea	rdi, .LC209[rip]
	call	puts@PLT
	lea	rdi, .LC210[rip]
	call	puts@PLT
	lea	rdi, .LC211[rip]
	call	puts@PLT
	lea	rdi, .LC212[rip]
	call	puts@PLT
	lea	rdi, .LC213[rip]
	call	puts@PLT
	lea	rdi, .LC214[rip]
	call	puts@PLT
	lea	rdi, .LC215[rip]
	call	puts@PLT
	lea	rdi, .LC216[rip]
	call	puts@PLT
	lea	rdi, .LC217[rip]
	call	puts@PLT
	lea	rdi, .LC218[rip]
	call	puts@PLT
	lea	rdi, .LC219[rip]
	call	puts@PLT
	lea	rdi, .LC220[rip]
	call	puts@PLT
	lea	rdi, .LC221[rip]
	call	puts@PLT
	lea	rdi, .LC222[rip]
	call	puts@PLT
	lea	rdi, .LC223[rip]
	call	puts@PLT
	lea	rdi, .LC224[rip]
	call	puts@PLT
	lea	rdi, .LC225[rip]
	call	puts@PLT
	lea	rdi, .LC226[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC227[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC228[rip]
	call	puts@PLT
	lea	rdi, .LC229[rip]
	call	puts@PLT
	lea	rdi, .LC230[rip]
	call	puts@PLT
	lea	rdi, .LC231[rip]
	call	puts@PLT
	lea	rdi, .LC232[rip]
	call	puts@PLT
	lea	rdi, .LC233[rip]
	call	puts@PLT
	lea	rdi, .LC234[rip]
	call	puts@PLT
	lea	rdi, .LC235[rip]
	call	puts@PLT
	lea	rdi, .LC236[rip]
	call	puts@PLT
	lea	rdi, .LC237[rip]
	call	puts@PLT
	lea	rdi, .LC238[rip]
	call	puts@PLT
	lea	rdi, .LC239[rip]
	call	puts@PLT
	lea	rdi, .LC240[rip]
	call	puts@PLT
	lea	rdi, .LC241[rip]
	call	puts@PLT
	lea	rdi, .LC242[rip]
	call	puts@PLT
	lea	rdi, .LC243[rip]
	call	puts@PLT
	lea	rdi, .LC244[rip]
	call	puts@PLT
	lea	rdi, .LC245[rip]
	call	puts@PLT
	lea	rdi, .LC246[rip]
	call	puts@PLT
	lea	rdi, .LC247[rip]
	call	puts@PLT
	lea	rdi, .LC248[rip]
	call	puts@PLT
	lea	rdi, .LC249[rip]
	call	puts@PLT
	lea	rdi, .LC250[rip]
	call	puts@PLT
	lea	rdi, .LC251[rip]
	call	puts@PLT
	lea	rdi, .LC252[rip]
	call	puts@PLT
	lea	rdi, .LC253[rip]
	call	puts@PLT
	lea	rdi, .LC254[rip]
	call	puts@PLT
	lea	rdi, .LC255[rip]
	call	puts@PLT
	lea	rdi, .LC256[rip]
	call	puts@PLT
	lea	rdi, .LC257[rip]
	call	puts@PLT
	lea	rdi, .LC258[rip]
	call	puts@PLT
	lea	rdi, .LC259[rip]
	call	puts@PLT
	lea	rdi, .LC260[rip]
	call	puts@PLT
	lea	rdi, .LC261[rip]
	call	puts@PLT
	lea	rdi, .LC262[rip]
	call	puts@PLT
	lea	rdi, .LC263[rip]
	call	puts@PLT
	lea	rdi, .LC264[rip]
	call	puts@PLT
	lea	rdi, .LC265[rip]
	call	puts@PLT
	lea	rdi, .LC266[rip]
	call	puts@PLT
	lea	rdi, .LC267[rip]
	call	puts@PLT
	lea	rdi, .LC268[rip]
	call	puts@PLT
	lea	rdi, .LC269[rip]
	call	puts@PLT
	lea	rdi, .LC270[rip]
	call	puts@PLT
	lea	rdi, .LC271[rip]
	call	puts@PLT
	lea	rdi, .LC272[rip]
	call	puts@PLT
	lea	rdi, .LC273[rip]
	call	puts@PLT
	lea	rdi, .LC274[rip]
	call	puts@PLT
	lea	rdi, .LC275[rip]
	call	puts@PLT
	lea	rdi, .LC276[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC277[rip]
	call	puts@PLT
	lea	rdi, .LC278[rip]
	call	puts@PLT
	lea	rdi, .LC279[rip]
	call	puts@PLT
	lea	rdi, .LC280[rip]
	call	puts@PLT
	lea	rdi, .LC281[rip]
	call	puts@PLT
	lea	rdi, .LC282[rip]
	call	puts@PLT
	lea	rdi, .LC283[rip]
	call	puts@PLT
	lea	rdi, .LC284[rip]
	call	puts@PLT
	lea	rdi, .LC285[rip]
	call	puts@PLT
	lea	rdi, .LC286[rip]
	call	puts@PLT
	lea	rdi, .LC287[rip]
	call	puts@PLT
	lea	rdi, .LC288[rip]
	call	puts@PLT
	lea	rdi, .LC289[rip]
	call	puts@PLT
	lea	rdi, .LC290[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC291[rip]
	call	puts@PLT
	lea	rdi, .LC292[rip]
	call	puts@PLT
	lea	rdi, .LC293[rip]
	call	puts@PLT
	lea	rdi, .LC294[rip]
	call	puts@PLT
	lea	rdi, .LC295[rip]
	call	puts@PLT
	lea	rdi, .LC296[rip]
	call	puts@PLT
	lea	rdi, .LC297[rip]
	call	puts@PLT
	lea	rdi, .LC298[rip]
	call	puts@PLT
	lea	rdi, .LC299[rip]
	call	puts@PLT
	lea	rdi, .LC300[rip]
	call	puts@PLT
	lea	rdi, .LC301[rip]
	call	puts@PLT
	lea	rdi, .LC302[rip]
	call	puts@PLT
	lea	rdi, .LC303[rip]
	call	puts@PLT
	lea	rdi, .LC304[rip]
	call	puts@PLT
	lea	rdi, .LC305[rip]
	call	puts@PLT
	lea	rdi, .LC306[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC307[rip]
	call	puts@PLT
	lea	rdi, .LC274[rip]
	call	puts@PLT
	lea	rdi, .LC275[rip]
	call	puts@PLT
	lea	rdi, .LC308[rip]
	call	puts@PLT
	lea	rdi, .LC309[rip]
	call	puts@PLT
	lea	rdi, .LC310[rip]
	call	puts@PLT
	lea	rdi, .LC311[rip]
	call	puts@PLT
	lea	rdi, .LC312[rip]
	call	puts@PLT
	lea	rdi, .LC313[rip]
	call	puts@PLT
	lea	rdi, .LC314[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC315[rip]
	call	puts@PLT
	lea	rdi, .LC316[rip]
	call	puts@PLT
	lea	rdi, .LC317[rip]
	call	puts@PLT
	lea	rdi, .LC318[rip]
	call	puts@PLT
	lea	rdi, .LC319[rip]
	call	puts@PLT
	lea	rdi, .LC320[rip]
	call	puts@PLT
	lea	rdi, .LC321[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC322[rip]
	call	puts@PLT
	lea	rdi, .LC323[rip]
	call	puts@PLT
	lea	rdi, .LC324[rip]
	call	puts@PLT
	lea	rdi, .LC325[rip]
	call	puts@PLT
	lea	rdi, .LC326[rip]
	call	puts@PLT
	lea	rdi, .LC327[rip]
	call	puts@PLT
	lea	rdi, .LC328[rip]
	call	puts@PLT
	lea	rdi, .LC329[rip]
	call	puts@PLT
	lea	rdi, .LC330[rip]
	call	puts@PLT
	lea	rdi, .LC331[rip]
	call	puts@PLT
	lea	rdi, .LC332[rip]
	call	puts@PLT
	lea	rdi, .LC333[rip]
	call	puts@PLT
	lea	rdi, .LC334[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC335[rip]
	call	puts@PLT
	lea	rdi, .LC336[rip]
	call	puts@PLT
	lea	rdi, .LC337[rip]
	call	puts@PLT
	lea	rdi, .LC338[rip]
	call	puts@PLT
	lea	rdi, .LC339[rip]
	call	puts@PLT
	lea	rdi, .LC340[rip]
	call	puts@PLT
	lea	rdi, .LC341[rip]
	call	puts@PLT
	lea	rdi, .LC342[rip]
	call	puts@PLT
	lea	rdi, .LC343[rip]
	call	puts@PLT
	lea	rdi, .LC344[rip]
	call	puts@PLT
	lea	rdi, .LC345[rip]
	call	puts@PLT
	lea	rdi, .LC346[rip]
	call	puts@PLT
	lea	rdi, .LC347[rip]
	call	puts@PLT
	lea	rdi, .LC348[rip]
	call	puts@PLT
	lea	rdi, .LC349[rip]
	call	puts@PLT
	lea	rdi, .LC350[rip]
	call	puts@PLT
	lea	rdi, .LC351[rip]
	call	puts@PLT
	lea	rdi, .LC352[rip]
	call	puts@PLT
	lea	rdi, .LC353[rip]
	call	puts@PLT
	lea	rdi, .LC354[rip]
	call	puts@PLT
	lea	rdi, .LC355[rip]
	call	puts@PLT
	lea	rdi, .LC356[rip]
	call	puts@PLT
	lea	rdi, .LC357[rip]
	call	puts@PLT
	lea	rdi, .LC358[rip]
	call	puts@PLT
	lea	rdi, .LC359[rip]
	call	puts@PLT
	lea	rdi, .LC360[rip]
	call	puts@PLT
	lea	rdi, .LC361[rip]
	call	puts@PLT
	lea	rdi, .LC362[rip]
	call	puts@PLT
	lea	rdi, .LC363[rip]
	call	puts@PLT
	lea	rdi, .LC364[rip]
	call	puts@PLT
	lea	rdi, .LC365[rip]
	call	puts@PLT
	lea	rdi, .LC366[rip]
	call	puts@PLT
	lea	rdi, .LC367[rip]
	call	puts@PLT
	lea	rdi, .LC368[rip]
	call	puts@PLT
	lea	rdi, .LC369[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC370[rip]
	call	puts@PLT
	lea	rdi, .LC371[rip]
	call	puts@PLT
	lea	rdi, .LC372[rip]
	call	puts@PLT
	lea	rdi, .LC373[rip]
	call	puts@PLT
	lea	rdi, .LC374[rip]
	call	puts@PLT
	lea	rdi, .LC375[rip]
	call	puts@PLT
	lea	rdi, .LC376[rip]
	call	puts@PLT
	lea	rdi, .LC377[rip]
	call	puts@PLT
	lea	rdi, .LC378[rip]
	call	puts@PLT
	lea	rdi, .LC379[rip]
	call	puts@PLT
	lea	rdi, .LC380[rip]
	call	puts@PLT
	lea	rdi, .LC381[rip]
	call	puts@PLT
	lea	rdi, .LC382[rip]
	call	puts@PLT
	lea	rdi, .LC383[rip]
	call	puts@PLT
	lea	rdi, .LC384[rip]
	call	puts@PLT
	lea	rdi, .LC385[rip]
	call	puts@PLT
	lea	rdi, .LC386[rip]
	call	puts@PLT
	lea	rdi, .LC387[rip]
	call	puts@PLT
	lea	rdi, .LC388[rip]
	call	puts@PLT
	lea	rdi, .LC389[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC390[rip]
	call	puts@PLT
	lea	rdi, .LC391[rip]
	call	puts@PLT
	lea	rdi, .LC392[rip]
	call	puts@PLT
	lea	rdi, .LC393[rip]
	call	puts@PLT
	lea	rdi, .LC394[rip]
	call	puts@PLT
	lea	rdi, .LC395[rip]
	call	puts@PLT
	lea	rdi, .LC396[rip]
	call	puts@PLT
	lea	rdi, .LC397[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC398[rip]
	call	puts@PLT
	lea	rdi, .LC399[rip]
	call	puts@PLT
	lea	rdi, .LC400[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC401[rip]
	call	puts@PLT
	lea	rdi, .LC402[rip]
	call	puts@PLT
	lea	rdi, .LC403[rip]
	call	puts@PLT
	lea	rdi, .LC404[rip]
	call	puts@PLT
	lea	rdi, .LC405[rip]
	call	puts@PLT
	lea	rdi, .LC406[rip]
	call	puts@PLT
	lea	rdi, .LC407[rip]
	call	puts@PLT
	lea	rdi, .LC408[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC409[rip]
	call	puts@PLT
	lea	rdi, .LC410[rip]
	call	puts@PLT
	lea	rdi, .LC411[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC412[rip]
	call	puts@PLT
	lea	rdi, .LC413[rip]
	call	puts@PLT
	lea	rdi, .LC414[rip]
	call	puts@PLT
	lea	rdi, .LC415[rip]
	call	puts@PLT
	lea	rdi, .LC416[rip]
	call	puts@PLT
	lea	rdi, .LC417[rip]
	call	puts@PLT
	lea	rdi, .LC418[rip]
	call	puts@PLT
	lea	rdi, .LC419[rip]
	call	puts@PLT
	lea	rdi, .LC420[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC421[rip]
	call	puts@PLT
	lea	rdi, .LC422[rip]
	call	puts@PLT
	lea	rdi, .LC423[rip]
	call	puts@PLT
	lea	rdi, .LC424[rip]
	call	puts@PLT
	lea	rdi, .LC425[rip]
	call	puts@PLT
	lea	rdi, .LC426[rip]
	call	puts@PLT
	lea	rdi, .LC427[rip]
	call	puts@PLT
	lea	rdi, .LC428[rip]
	call	puts@PLT
	lea	rdi, .LC429[rip]
	call	puts@PLT
	lea	rdi, .LC430[rip]
	call	puts@PLT
	lea	rdi, .LC431[rip]
	call	puts@PLT
	lea	rdi, .LC432[rip]
	call	puts@PLT
	lea	rdi, .LC433[rip]
	call	puts@PLT
	lea	rdi, .LC434[rip]
	call	puts@PLT
	lea	rdi, .LC435[rip]
	call	puts@PLT
	lea	rdi, .LC436[rip]
	call	puts@PLT
	lea	rdi, .LC437[rip]
	call	puts@PLT
	lea	rdi, .LC438[rip]
	call	puts@PLT
	lea	rdi, .LC439[rip]
	call	puts@PLT
	lea	rdi, .LC440[rip]
	call	puts@PLT
	lea	rdi, .LC441[rip]
	call	puts@PLT
	lea	rdi, .LC442[rip]
	call	puts@PLT
	lea	rdi, .LC443[rip]
	call	puts@PLT
	lea	rdi, .LC444[rip]
	call	puts@PLT
	lea	rdi, .LC445[rip]
	call	puts@PLT
	lea	rdi, .LC446[rip]
	call	puts@PLT
	lea	rdi, .LC447[rip]
	call	puts@PLT
	lea	rdi, .LC448[rip]
	call	puts@PLT
	lea	rdi, .LC449[rip]
	call	puts@PLT
	lea	rdi, .LC450[rip]
	call	puts@PLT
	lea	rdi, .LC451[rip]
	call	puts@PLT
	lea	rdi, .LC452[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC453[rip]
	call	puts@PLT
	lea	rdi, .LC454[rip]
	call	puts@PLT
	lea	rdi, .LC455[rip]
	call	puts@PLT
	lea	rdi, .LC456[rip]
	call	puts@PLT
	lea	rdi, .LC457[rip]
	call	puts@PLT
	lea	rdi, .LC458[rip]
	call	puts@PLT
	lea	rdi, .LC459[rip]
	call	puts@PLT
	lea	rdi, .LC460[rip]
	call	puts@PLT
	lea	rdi, .LC461[rip]
	call	puts@PLT
	lea	rdi, .LC462[rip]
	call	puts@PLT
	lea	rdi, .LC463[rip]
	call	puts@PLT
	lea	rdi, .LC464[rip]
	call	puts@PLT
	lea	rdi, .LC465[rip]
	call	puts@PLT
	lea	rdi, .LC466[rip]
	call	puts@PLT
	lea	rdi, .LC467[rip]
	call	puts@PLT
	lea	rdi, .LC468[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC469[rip]
	call	puts@PLT
	lea	rdi, .LC470[rip]
	call	puts@PLT
	lea	rdi, .LC471[rip]
	call	puts@PLT
	lea	rdi, .LC472[rip]
	call	puts@PLT
	lea	rdi, .LC473[rip]
	call	puts@PLT
	lea	rdi, .LC474[rip]
	call	puts@PLT
	lea	rdi, .LC475[rip]
	call	puts@PLT
	lea	rdi, .LC476[rip]
	call	puts@PLT
	lea	rdi, .LC477[rip]
	call	puts@PLT
	lea	rdi, .LC478[rip]
	call	puts@PLT
	lea	rdi, .LC479[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC480[rip]
	call	puts@PLT
	lea	rdi, .LC481[rip]
	call	puts@PLT
	lea	rdi, .LC482[rip]
	call	puts@PLT
	lea	rdi, .LC483[rip]
	call	puts@PLT
	lea	rdi, .LC484[rip]
	call	puts@PLT
	lea	rdi, .LC485[rip]
	call	puts@PLT
	lea	rdi, .LC486[rip]
	call	puts@PLT
	lea	rdi, .LC487[rip]
	call	puts@PLT
	lea	rdi, .LC488[rip]
	call	puts@PLT
	lea	rdi, .LC489[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC490[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC491[rip]
	call	puts@PLT
	lea	rdi, .LC492[rip]
	call	puts@PLT
	lea	rdi, .LC493[rip]
	call	puts@PLT
	lea	rdi, .LC494[rip]
	call	puts@PLT
	lea	rdi, .LC495[rip]
	call	puts@PLT
	lea	rdi, .LC496[rip]
	call	puts@PLT
	lea	rdi, .LC497[rip]
	call	puts@PLT
	lea	rdi, .LC498[rip]
	call	puts@PLT
	lea	rdi, .LC499[rip]
	call	puts@PLT
	lea	rdi, .LC500[rip]
	call	puts@PLT
	lea	rdi, .LC501[rip]
	call	puts@PLT
	lea	rdi, .LC502[rip]
	call	puts@PLT
	lea	rdi, .LC503[rip]
	call	puts@PLT
	lea	rdi, .LC504[rip]
	call	puts@PLT
	lea	rdi, .LC505[rip]
	call	puts@PLT
	lea	rdi, .LC506[rip]
	call	puts@PLT
	lea	rdi, .LC507[rip]
	call	puts@PLT
	lea	rdi, .LC508[rip]
	call	puts@PLT
	lea	rdi, .LC509[rip]
	call	puts@PLT
	lea	rdi, .LC510[rip]
	call	puts@PLT
	lea	rdi, .LC511[rip]
	call	puts@PLT
	lea	rdi, .LC512[rip]
	call	puts@PLT
	lea	rdi, .LC513[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC514[rip]
	call	puts@PLT
	lea	rdi, .LC515[rip]
	call	puts@PLT
	lea	rdi, .LC516[rip]
	call	puts@PLT
	lea	rdi, .LC517[rip]
	call	puts@PLT
	lea	rdi, .LC518[rip]
	call	puts@PLT
	lea	rdi, .LC519[rip]
	call	puts@PLT
	lea	rdi, .LC520[rip]
	call	puts@PLT
	lea	rdi, .LC521[rip]
	call	puts@PLT
	lea	rdi, .LC522[rip]
	call	puts@PLT
	lea	rdi, .LC523[rip]
	call	puts@PLT
	lea	rdi, .LC524[rip]
	call	puts@PLT
	lea	rdi, .LC525[rip]
	call	puts@PLT
	lea	rdi, .LC526[rip]
	call	puts@PLT
	lea	rdi, .LC527[rip]
	call	puts@PLT
	lea	rdi, .LC528[rip]
	call	puts@PLT
	lea	rdi, .LC529[rip]
	call	puts@PLT
	lea	rdi, .LC530[rip]
	call	puts@PLT
	lea	rdi, .LC531[rip]
	call	puts@PLT
	lea	rdi, .LC532[rip]
	call	puts@PLT
	lea	rdi, .LC533[rip]
	call	puts@PLT
	lea	rdi, .LC534[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC535[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC536[rip]
	call	puts@PLT
	lea	rdi, .LC537[rip]
	call	puts@PLT
	lea	rdi, .LC538[rip]
	call	puts@PLT
	lea	rdi, .LC539[rip]
	call	puts@PLT
	lea	rdi, .LC540[rip]
	call	puts@PLT
	lea	rdi, .LC541[rip]
	call	puts@PLT
	lea	rdi, .LC542[rip]
	call	puts@PLT
	lea	rdi, .LC543[rip]
	call	puts@PLT
	lea	rdi, .LC544[rip]
	call	puts@PLT
	lea	rdi, .LC545[rip]
	call	puts@PLT
	lea	rdi, .LC546[rip]
	call	puts@PLT
	lea	rdi, .LC547[rip]
	call	puts@PLT
	lea	rdi, .LC548[rip]
	call	puts@PLT
	lea	rdi, .LC549[rip]
	call	puts@PLT
	lea	rdi, .LC550[rip]
	call	puts@PLT
	lea	rdi, .LC551[rip]
	call	puts@PLT
	lea	rdi, .LC552[rip]
	call	puts@PLT
	lea	rdi, .LC553[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC554[rip]
	call	puts@PLT
	lea	rdi, .LC555[rip]
	call	puts@PLT
	lea	rdi, .LC556[rip]
	call	puts@PLT
	lea	rdi, .LC557[rip]
	call	puts@PLT
	lea	rdi, .LC558[rip]
	call	puts@PLT
	lea	rdi, .LC559[rip]
	call	puts@PLT
	lea	rdi, .LC560[rip]
	call	puts@PLT
	lea	rdi, .LC561[rip]
	call	puts@PLT
	lea	rdi, .LC562[rip]
	call	puts@PLT
	lea	rdi, .LC563[rip]
	call	puts@PLT
	lea	rdi, .LC564[rip]
	call	puts@PLT
	lea	rdi, .LC565[rip]
	call	puts@PLT
	lea	rdi, .LC566[rip]
	call	puts@PLT
	lea	rdi, .LC567[rip]
	call	puts@PLT
	lea	rdi, .LC512[rip]
	call	puts@PLT
	lea	rdi, .LC568[rip]
	call	puts@PLT
	lea	rdi, .LC534[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC569[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC570[rip]
	call	puts@PLT
	lea	rdi, .LC571[rip]
	call	puts@PLT
	lea	rdi, .LC572[rip]
	call	puts@PLT
	lea	rdi, .LC573[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC574[rip]
	call	puts@PLT
	lea	rdi, .LC575[rip]
	call	puts@PLT
	lea	rdi, .LC576[rip]
	call	puts@PLT
	lea	rdi, .LC577[rip]
	call	puts@PLT
	lea	rdi, .LC578[rip]
	call	puts@PLT
	lea	rdi, .LC579[rip]
	call	puts@PLT
	lea	rdi, .LC580[rip]
	call	puts@PLT
	lea	rdi, .LC581[rip]
	call	puts@PLT
	lea	rdi, .LC582[rip]
	call	puts@PLT
	lea	rdi, .LC583[rip]
	call	puts@PLT
	lea	rdi, .LC584[rip]
	call	puts@PLT
	lea	rdi, .LC585[rip]
	call	puts@PLT
	lea	rdi, .LC586[rip]
	call	puts@PLT
	lea	rdi, .LC587[rip]
	call	puts@PLT
	lea	rdi, .LC588[rip]
	call	puts@PLT
	lea	rdi, .LC589[rip]
	call	puts@PLT
	lea	rdi, .LC590[rip]
	call	puts@PLT
	lea	rdi, .LC591[rip]
	call	puts@PLT
	lea	rdi, .LC592[rip]
	call	puts@PLT
	lea	rdi, .LC593[rip]
	call	puts@PLT
	lea	rdi, .LC594[rip]
	call	puts@PLT
	lea	rdi, .LC595[rip]
	call	puts@PLT
	lea	rdi, .LC596[rip]
	call	puts@PLT
	lea	rdi, .LC597[rip]
	call	puts@PLT
	lea	rdi, .LC598[rip]
	call	puts@PLT
	lea	rdi, .LC599[rip]
	call	puts@PLT
	lea	rdi, .LC600[rip]
	call	puts@PLT
	lea	rdi, .LC601[rip]
	call	puts@PLT
	lea	rdi, .LC602[rip]
	call	puts@PLT
	lea	rdi, .LC603[rip]
	call	puts@PLT
	lea	rdi, .LC604[rip]
	call	puts@PLT
	lea	rdi, .LC605[rip]
	call	puts@PLT
	lea	rdi, .LC606[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC607[rip]
	call	puts@PLT
	lea	rdi, .LC608[rip]
	call	puts@PLT
	lea	rdi, .LC609[rip]
	call	puts@PLT
	lea	rdi, .LC610[rip]
	call	puts@PLT
	lea	rdi, .LC611[rip]
	call	puts@PLT
	lea	rdi, .LC612[rip]
	call	puts@PLT
	lea	rdi, .LC613[rip]
	call	puts@PLT
	lea	rdi, .LC614[rip]
	call	puts@PLT
	lea	rdi, .LC615[rip]
	call	puts@PLT
	lea	rdi, .LC616[rip]
	call	puts@PLT
	lea	rdi, .LC617[rip]
	call	puts@PLT
	lea	rdi, .LC618[rip]
	call	puts@PLT
	lea	rdi, .LC619[rip]
	call	puts@PLT
	lea	rdi, .LC620[rip]
	call	puts@PLT
	lea	rdi, .LC621[rip]
	call	puts@PLT
	lea	rdi, .LC622[rip]
	call	puts@PLT
	lea	rdi, .LC623[rip]
	call	puts@PLT
	lea	rdi, .LC624[rip]
	call	puts@PLT
	lea	rdi, .LC625[rip]
	call	puts@PLT
	lea	rdi, .LC626[rip]
	call	puts@PLT
	lea	rdi, .LC627[rip]
	call	puts@PLT
	lea	rdi, .LC628[rip]
	call	puts@PLT
	lea	rdi, .LC629[rip]
	call	puts@PLT
	lea	rdi, .LC630[rip]
	call	puts@PLT
	lea	rdi, .LC631[rip]
	call	puts@PLT
	lea	rdi, .LC632[rip]
	call	puts@PLT
	lea	rdi, .LC633[rip]
	call	puts@PLT
	lea	rdi, .LC634[rip]
	call	puts@PLT
	lea	rdi, .LC635[rip]
	call	puts@PLT
	lea	rdi, .LC636[rip]
	call	puts@PLT
	lea	rdi, .LC637[rip]
	call	puts@PLT
	lea	rdi, .LC638[rip]
	call	puts@PLT
	lea	rdi, .LC639[rip]
	call	puts@PLT
	lea	rdi, .LC640[rip]
	call	puts@PLT
	lea	rdi, .LC641[rip]
	call	puts@PLT
	lea	rdi, .LC642[rip]
	call	puts@PLT
	lea	rdi, .LC643[rip]
	call	puts@PLT
	lea	rdi, .LC644[rip]
	call	puts@PLT
	lea	rdi, .LC645[rip]
	call	puts@PLT
	lea	rdi, .LC646[rip]
	call	puts@PLT
	lea	rdi, .LC647[rip]
	call	puts@PLT
	lea	rdi, .LC648[rip]
	call	puts@PLT
	lea	rdi, .LC649[rip]
	call	puts@PLT
	lea	rdi, .LC650[rip]
	call	puts@PLT
	lea	rdi, .LC651[rip]
	call	puts@PLT
	lea	rdi, .LC652[rip]
	call	puts@PLT
	lea	rdi, .LC653[rip]
	call	puts@PLT
	lea	rdi, .LC654[rip]
	call	puts@PLT
	lea	rdi, .LC655[rip]
	call	puts@PLT
	lea	rdi, .LC656[rip]
	call	puts@PLT
	lea	rdi, .LC657[rip]
	call	puts@PLT
	lea	rdi, .LC658[rip]
	call	puts@PLT
	lea	rdi, .LC659[rip]
	call	puts@PLT
	lea	rdi, .LC660[rip]
	call	puts@PLT
	lea	rdi, .LC661[rip]
	call	puts@PLT
	lea	rdi, .LC662[rip]
	call	puts@PLT
	lea	rdi, .LC663[rip]
	call	puts@PLT
	lea	rdi, .LC664[rip]
	call	puts@PLT
	lea	rdi, .LC665[rip]
	call	puts@PLT
	lea	rdi, .LC666[rip]
	call	puts@PLT
	lea	rdi, .LC667[rip]
	call	puts@PLT
	lea	rdi, .LC668[rip]
	call	puts@PLT
	lea	rdi, .LC669[rip]
	call	puts@PLT
	lea	rdi, .LC670[rip]
	call	puts@PLT
	lea	rdi, .LC671[rip]
	call	puts@PLT
	lea	rdi, .LC672[rip]
	call	puts@PLT
	lea	rdi, .LC673[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC674[rip]
	call	puts@PLT
	lea	rdi, .LC675[rip]
	call	puts@PLT
	lea	rdi, .LC676[rip]
	call	puts@PLT
	lea	rdi, .LC677[rip]
	call	puts@PLT
	lea	rdi, .LC678[rip]
	call	puts@PLT
	lea	rdi, .LC679[rip]
	call	puts@PLT
	lea	rdi, .LC680[rip]
	call	puts@PLT
	lea	rdi, .LC681[rip]
	call	puts@PLT
	lea	rdi, .LC682[rip]
	call	puts@PLT
	lea	rdi, .LC683[rip]
	call	puts@PLT
	lea	rdi, .LC684[rip]
	call	puts@PLT
	lea	rdi, .LC685[rip]
	call	puts@PLT
	lea	rdi, .LC686[rip]
	call	puts@PLT
	lea	rdi, .LC687[rip]
	call	puts@PLT
	lea	rdi, .LC688[rip]
	call	puts@PLT
	lea	rdi, .LC689[rip]
	call	puts@PLT
	lea	rdi, .LC690[rip]
	call	puts@PLT
	lea	rdi, .LC691[rip]
	call	puts@PLT
	lea	rdi, .LC692[rip]
	call	puts@PLT
	lea	rdi, .LC693[rip]
	call	puts@PLT
	lea	rdi, .LC694[rip]
	call	puts@PLT
	lea	rdi, .LC695[rip]
	call	puts@PLT
	lea	rdi, .LC696[rip]
	call	puts@PLT
	lea	rdi, .LC697[rip]
	call	puts@PLT
	lea	rdi, .LC698[rip]
	call	puts@PLT
	lea	rdi, .LC699[rip]
	call	puts@PLT
	lea	rdi, .LC700[rip]
	call	puts@PLT
	lea	rdi, .LC701[rip]
	call	puts@PLT
	lea	rdi, .LC702[rip]
	call	puts@PLT
	lea	rdi, .LC703[rip]
	call	puts@PLT
	lea	rdi, .LC704[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC705[rip]
	call	puts@PLT
	lea	rdi, .LC706[rip]
	call	puts@PLT
	lea	rdi, .LC707[rip]
	call	puts@PLT
	lea	rdi, .LC708[rip]
	call	puts@PLT
	lea	rdi, .LC709[rip]
	call	puts@PLT
	lea	rdi, .LC710[rip]
	call	puts@PLT
	lea	rdi, .LC711[rip]
	call	puts@PLT
	lea	rdi, .LC712[rip]
	call	puts@PLT
	lea	rdi, .LC713[rip]
	call	puts@PLT
	lea	rdi, .LC714[rip]
	call	puts@PLT
	lea	rdi, .LC715[rip]
	call	puts@PLT
	lea	rdi, .LC716[rip]
	call	puts@PLT
	lea	rdi, .LC717[rip]
	call	puts@PLT
	lea	rdi, .LC718[rip]
	call	puts@PLT
	lea	rdi, .LC719[rip]
	call	puts@PLT
	lea	rdi, .LC720[rip]
	call	puts@PLT
	lea	rdi, .LC721[rip]
	call	puts@PLT
	lea	rdi, .LC722[rip]
	call	puts@PLT
	lea	rdi, .LC723[rip]
	call	puts@PLT
	lea	rdi, .LC724[rip]
	call	puts@PLT
	lea	rdi, .LC725[rip]
	call	puts@PLT
	lea	rdi, .LC726[rip]
	call	puts@PLT
	lea	rdi, .LC727[rip]
	call	puts@PLT
	lea	rdi, .LC728[rip]
	call	puts@PLT
	lea	rdi, .LC729[rip]
	call	puts@PLT
	lea	rdi, .LC730[rip]
	call	puts@PLT
	lea	rdi, .LC731[rip]
	call	puts@PLT
	lea	rdi, .LC732[rip]
	call	puts@PLT
	lea	rdi, .LC733[rip]
	call	puts@PLT
	lea	rdi, .LC734[rip]
	call	puts@PLT
	lea	rdi, .LC735[rip]
	call	puts@PLT
	lea	rdi, .LC736[rip]
	call	puts@PLT
	lea	rdi, .LC737[rip]
	call	puts@PLT
	lea	rdi, .LC738[rip]
	call	puts@PLT
	lea	rdi, .LC739[rip]
	call	puts@PLT
	lea	rdi, .LC740[rip]
	call	puts@PLT
	lea	rdi, .LC741[rip]
	call	puts@PLT
	lea	rdi, .LC742[rip]
	call	puts@PLT
	lea	rdi, .LC743[rip]
	call	puts@PLT
	lea	rdi, .LC744[rip]
	call	puts@PLT
	lea	rdi, .LC745[rip]
	call	puts@PLT
	lea	rdi, .LC746[rip]
	call	puts@PLT
	lea	rdi, .LC747[rip]
	call	puts@PLT
	lea	rdi, .LC748[rip]
	call	puts@PLT
	lea	rdi, .LC749[rip]
	call	puts@PLT
	lea	rdi, .LC750[rip]
	call	puts@PLT
	lea	rdi, .LC751[rip]
	call	puts@PLT
	lea	rdi, .LC752[rip]
	call	puts@PLT
	lea	rdi, .LC753[rip]
	call	puts@PLT
	lea	rdi, .LC754[rip]
	call	puts@PLT
	lea	rdi, .LC755[rip]
	call	puts@PLT
	lea	rdi, .LC756[rip]
	call	puts@PLT
	lea	rdi, .LC757[rip]
	call	puts@PLT
	lea	rdi, .LC758[rip]
	call	puts@PLT
	lea	rdi, .LC759[rip]
	call	puts@PLT
	lea	rdi, .LC760[rip]
	call	puts@PLT
	lea	rdi, .LC761[rip]
	call	puts@PLT
	lea	rdi, .LC762[rip]
	call	puts@PLT
	lea	rdi, .LC763[rip]
	call	puts@PLT
	lea	rdi, .LC764[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC765[rip]
	call	puts@PLT
	lea	rdi, .LC766[rip]
	call	puts@PLT
	lea	rdi, .LC767[rip]
	call	puts@PLT
	lea	rdi, .LC768[rip]
	call	puts@PLT
	lea	rdi, .LC769[rip]
	call	puts@PLT
	lea	rdi, .LC770[rip]
	call	puts@PLT
	lea	rdi, .LC771[rip]
	call	puts@PLT
	lea	rdi, .LC772[rip]
	call	puts@PLT
	lea	rdi, .LC773[rip]
	call	puts@PLT
	lea	rdi, .LC774[rip]
	call	puts@PLT
	lea	rdi, .LC775[rip]
	call	puts@PLT
	lea	rdi, .LC776[rip]
	call	puts@PLT
	lea	rdi, .LC777[rip]
	call	puts@PLT
	lea	rdi, .LC778[rip]
	call	puts@PLT
	lea	rdi, .LC779[rip]
	call	puts@PLT
	lea	rdi, .LC780[rip]
	call	puts@PLT
	lea	rdi, .LC781[rip]
	call	puts@PLT
	lea	rdi, .LC782[rip]
	call	puts@PLT
	lea	rdi, .LC783[rip]
	call	puts@PLT
	lea	rdi, .LC784[rip]
	call	puts@PLT
	lea	rdi, .LC785[rip]
	call	puts@PLT
	lea	rdi, .LC786[rip]
	call	puts@PLT
	lea	rdi, .LC787[rip]
	call	puts@PLT
	lea	rdi, .LC788[rip]
	call	puts@PLT
	lea	rdi, .LC789[rip]
	call	puts@PLT
	lea	rdi, .LC790[rip]
	call	puts@PLT
	lea	rdi, .LC791[rip]
	call	puts@PLT
	lea	rdi, .LC792[rip]
	call	puts@PLT
	lea	rdi, .LC793[rip]
	call	puts@PLT
	lea	rdi, .LC794[rip]
	call	puts@PLT
	lea	rdi, .LC795[rip]
	call	puts@PLT
	lea	rdi, .LC796[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC797[rip]
	call	puts@PLT
	lea	rdi, .LC798[rip]
	call	puts@PLT
	lea	rdi, .LC799[rip]
	call	puts@PLT
	lea	rdi, .LC800[rip]
	call	puts@PLT
	lea	rdi, .LC801[rip]
	call	puts@PLT
	lea	rdi, .LC802[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC803[rip]
	call	puts@PLT
	lea	rdi, .LC804[rip]
	call	puts@PLT
	lea	rdi, .LC805[rip]
	call	puts@PLT
	lea	rdi, .LC806[rip]
	call	puts@PLT
	lea	rdi, .LC801[rip]
	call	puts@PLT
	lea	rdi, .LC807[rip]
	call	puts@PLT
	lea	rdi, .LC808[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC809[rip]
	call	puts@PLT
	lea	rdi, .LC810[rip]
	call	puts@PLT
	lea	rdi, .LC811[rip]
	call	puts@PLT
	lea	rdi, .LC812[rip]
	call	puts@PLT
	lea	rdi, .LC813[rip]
	call	puts@PLT
	lea	rdi, .LC814[rip]
	call	puts@PLT
	lea	rdi, .LC815[rip]
	call	puts@PLT
	lea	rdi, .LC816[rip]
	call	puts@PLT
	lea	rdi, .LC817[rip]
	call	puts@PLT
	lea	rdi, .LC818[rip]
	call	puts@PLT
	lea	rdi, .LC819[rip]
	call	puts@PLT
	lea	rdi, .LC820[rip]
	call	puts@PLT
	lea	rdi, .LC821[rip]
	call	puts@PLT
	lea	rdi, .LC822[rip]
	call	puts@PLT
	lea	rdi, .LC823[rip]
	call	puts@PLT
	lea	rdi, .LC824[rip]
	call	puts@PLT
	lea	rdi, .LC825[rip]
	call	puts@PLT
	lea	rdi, .LC826[rip]
	call	puts@PLT
	lea	rdi, .LC827[rip]
	call	puts@PLT
	lea	rdi, .LC828[rip]
	call	puts@PLT
	lea	rdi, .LC829[rip]
	call	puts@PLT
	lea	rdi, .LC830[rip]
	call	puts@PLT
	lea	rdi, .LC831[rip]
	call	puts@PLT
	lea	rdi, .LC832[rip]
	call	puts@PLT
	lea	rdi, .LC833[rip]
	call	puts@PLT
	lea	rdi, .LC834[rip]
	call	puts@PLT
	lea	rdi, .LC835[rip]
	call	puts@PLT
	lea	rdi, .LC836[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC837[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC838[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC839[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC840[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC841[rip]
	call	puts@PLT
	lea	rdi, .LC842[rip]
	call	puts@PLT
	lea	rdi, .LC843[rip]
	call	puts@PLT
	lea	rdi, .LC844[rip]
	call	puts@PLT
	lea	rdi, .LC845[rip]
	call	puts@PLT
	lea	rdi, .LC846[rip]
	call	puts@PLT
	lea	rdi, .LC847[rip]
	call	puts@PLT
	lea	rdi, .LC848[rip]
	call	puts@PLT
	lea	rdi, .LC849[rip]
	call	puts@PLT
	lea	rdi, .LC850[rip]
	call	puts@PLT
	lea	rdi, .LC851[rip]
	call	puts@PLT
	lea	rdi, .LC852[rip]
	call	puts@PLT
	lea	rdi, .LC853[rip]
	call	puts@PLT
	lea	rdi, .LC854[rip]
	call	puts@PLT
	lea	rdi, .LC855[rip]
	call	puts@PLT
	lea	rdi, .LC856[rip]
	call	puts@PLT
	lea	rdi, .LC857[rip]
	call	puts@PLT
	lea	rdi, .LC858[rip]
	call	puts@PLT
	lea	rdi, .LC859[rip]
	call	puts@PLT
	lea	rdi, .LC860[rip]
	call	puts@PLT
	lea	rdi, .LC861[rip]
	call	puts@PLT
	lea	rdi, .LC862[rip]
	call	puts@PLT
	lea	rdi, .LC863[rip]
	call	puts@PLT
	lea	rdi, .LC864[rip]
	call	puts@PLT
	lea	rdi, .LC865[rip]
	call	puts@PLT
	lea	rdi, .LC866[rip]
	call	puts@PLT
	lea	rdi, .LC867[rip]
	call	puts@PLT
	lea	rdi, .LC868[rip]
	call	puts@PLT
	mov	edi, 0
	mov	eax, 0
	call	triexit
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	info, .-info
	.section	.rodata
	.align 8
.LC869:
	.string	"  Please report this bug to jrs@cs.berkeley.edu"
	.align 8
.LC870:
	.string	"  Include the message above, your input data set, and the exact"
	.align 8
.LC871:
	.string	"    command line you used to run Triangle."
	.text
	.globl	internalerror
	.type	internalerror, @function
internalerror:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC869[rip]
	call	puts@PLT
	lea	rdi, .LC870[rip]
	call	puts@PLT
	lea	rdi, .LC871[rip]
	call	puts@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	internalerror, .-internalerror
	.section	.rodata
	.align 8
.LC875:
	.string	"Error:  Maximum area must be greater than zero."
.LC876:
	.string	".node"
.LC877:
	.string	".poly"
.LC878:
	.string	".ele"
.LC879:
	.string	".area"
	.align 8
.LC884:
	.string	"Error:  You cannot use the -I switch when refining a triangulation."
	.align 8
.LC885:
	.string	"Warning:  weighted triangulations (-w, -W) are incompatible"
	.align 8
.LC886:
	.string	"  with PSLGs (-p) and meshing (-q, -a, -u).  Weights ignored."
	.align 8
.LC887:
	.string	"Warning:  -j and -N switches are somewhat incompatible."
	.align 8
.LC888:
	.string	"  If any vertices are jettisoned, you will need the output"
	.align 8
.LC889:
	.string	"  .node file to reconstruct the new node indices."
	.text
	.globl	parsecommandline
	.type	parsecommandline, @function
parsecommandline:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 2136
	.cfi_offset 3, -24
	mov	DWORD PTR -2116[rbp], edi
	mov	QWORD PTR -2128[rbp], rsi
	mov	QWORD PTR -2136[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 20[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 36[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 40[rax], 1
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 56[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 52[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 52[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 48[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 44[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 72[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 72[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 68[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 68[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 76[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 84[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 84[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 96[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 92[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 100[rax], 1
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 104[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 108[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 128[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 88[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 132[rax], -1
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 124[rax], 1
	mov	rax, QWORD PTR -2136[rbp]
	pxor	xmm0, xmm0
	movsd	QWORD PTR 136[rax], xmm0
	mov	rax, QWORD PTR -2136[rbp]
	movsd	xmm0, QWORD PTR .LC873[rip]
	movsd	QWORD PTR 160[rax], xmm0
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 116[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 116[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 112[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	mov	BYTE PTR 168[rax], 0
	mov	DWORD PTR -2092[rbp], 1
	jmp	.L26
.L83:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L27
	mov	DWORD PTR -2088[rbp], 1
	jmp	.L28
.L81:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 112
	jne	.L29
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR [rax], 1
.L29:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 114
	jne	.L30
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 4[rax], 1
.L30:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 113
	jne	.L31
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 8[rax], 1
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L32
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jle	.L33
.L32:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L34
.L33:
	mov	DWORD PTR -2084[rbp], 0
	jmp	.L35
.L37:
	add	DWORD PTR -2088[rbp], 1
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -2084[rbp]
	cdqe
	mov	BYTE PTR -2080[rbp+rax], dl
	add	DWORD PTR -2084[rbp], 1
.L35:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L36
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jle	.L37
.L36:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L37
	mov	eax, DWORD PTR -2084[rbp]
	cdqe
	mov	BYTE PTR -2080[rbp+rax], 0
	lea	rax, -2080[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	rdx, QWORD PTR -2136[rbp]
	mov	QWORD PTR 136[rdx], rax
	jmp	.L31
.L34:
	mov	rax, QWORD PTR -2136[rbp]
	movsd	xmm0, QWORD PTR .LC874[rip]
	movsd	QWORD PTR 136[rax], xmm0
.L31:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 97
	jne	.L38
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 8[rax], 1
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L39
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jle	.L40
.L39:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L41
.L40:
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 16[rax], 1
	mov	DWORD PTR -2084[rbp], 0
	jmp	.L42
.L44:
	add	DWORD PTR -2088[rbp], 1
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -2084[rbp]
	cdqe
	mov	BYTE PTR -2080[rbp+rax], dl
	add	DWORD PTR -2084[rbp], 1
.L42:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L43
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jle	.L44
.L43:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L44
	mov	eax, DWORD PTR -2084[rbp]
	cdqe
	mov	BYTE PTR -2080[rbp+rax], 0
	lea	rax, -2080[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	rdx, QWORD PTR -2136[rbp]
	mov	QWORD PTR 160[rdx], rax
	mov	rax, QWORD PTR -2136[rbp]
	movsd	xmm1, QWORD PTR 160[rax]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jb	.L38
	lea	rdi, .LC875[rip]
	call	puts@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	jmp	.L38
.L41:
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 12[rax], 1
.L38:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 117
	jne	.L47
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 8[rax], 1
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 20[rax], 1
.L47:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 65
	jne	.L48
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 24[rax], 1
.L48:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 99
	jne	.L49
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 28[rax], 1
.L49:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 119
	jne	.L50
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 32[rax], 1
.L50:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 87
	jne	.L51
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 32[rax], 2
.L51:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 106
	jne	.L52
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 36[rax], 1
.L52:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 122
	jne	.L53
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 40[rax], 0
.L53:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 101
	jne	.L54
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 44[rax], 1
.L54:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 118
	jne	.L55
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 48[rax], 1
.L55:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 110
	jne	.L56
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 52[rax], 1
.L56:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 103
	jne	.L57
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 56[rax], 1
.L57:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 66
	jne	.L58
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 60[rax], 1
.L58:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 80
	jne	.L59
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 64[rax], 1
.L59:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 78
	jne	.L60
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 68[rax], 1
.L60:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 69
	jne	.L61
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 72[rax], 1
.L61:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 73
	jne	.L62
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 76[rax], 1
.L62:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 79
	jne	.L63
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 80[rax], 1
.L63:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 88
	jne	.L64
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 84[rax], 1
.L64:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 111
	jne	.L65
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 50
	jne	.L65
	add	DWORD PTR -2088[rbp], 1
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 124[rax], 2
.L65:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 89
	jne	.L66
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 128[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 128[rax], edx
.L66:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 83
	jne	.L67
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 132[rax], 0
	jmp	.L68
.L69:
	add	DWORD PTR -2088[rbp], 1
	mov	rax, QWORD PTR -2136[rbp]
	mov	edx, DWORD PTR 132[rax]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	lea	edx, [rcx+rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 132[rax], edx
.L68:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L67
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jle	.L69
.L67:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 105
	jne	.L70
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 92[rax], 1
.L70:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 70
	jne	.L71
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 96[rax], 1
.L71:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 108
	jne	.L72
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 100[rax], 0
.L72:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 115
	jne	.L73
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 104[rax], 1
.L73:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 68
	je	.L74
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 76
	jne	.L75
.L74:
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 8[rax], 1
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 88[rax], 1
.L75:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 67
	jne	.L76
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 108[rax], 1
.L76:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 81
	jne	.L77
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 112[rax], 1
.L77:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 86
	jne	.L78
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 116[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 116[rax], edx
.L78:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 104
	je	.L79
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 72
	je	.L79
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 63
	jne	.L80
.L79:
	mov	eax, 0
	call	info
.L80:
	add	DWORD PTR -2088[rbp], 1
.L28:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L81
	jmp	.L82
.L27:
	mov	eax, DWORD PTR -2092[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -2136[rbp]
	lea	rcx, 168[rdx]
	mov	edx, 2047
	mov	rsi, rax
	mov	rdi, rcx
	call	strncpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	mov	BYTE PTR 2215[rax], 0
.L82:
	add	DWORD PTR -2092[rbp], 1
.L26:
	mov	eax, DWORD PTR -2092[rbp]
	cmp	eax, DWORD PTR -2116[rbp]
	jl	.L83
	mov	rax, QWORD PTR -2136[rbp]
	movzx	eax, BYTE PTR 168[rax]
	test	al, al
	jne	.L84
	mov	eax, 0
	call	syntax
.L84:
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 168
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 5
	lea	rdx, 160[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	add	rax, 8
	lea	rsi, .LC876[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L85
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 168
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -5[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	BYTE PTR 168[rax+rdx], 0
.L85:
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 168
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 5
	lea	rdx, 160[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	add	rax, 8
	lea	rsi, .LC877[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L86
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 168
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -5[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	BYTE PTR 168[rax+rdx], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR [rax], 1
.L86:
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 168
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 4
	lea	rdx, 160[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	add	rax, 8
	lea	rsi, .LC878[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L87
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 168
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	BYTE PTR 168[rax+rdx], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 4[rax], 1
.L87:
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 168
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 5
	lea	rdx, 160[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	add	rax, 8
	lea	rsi, .LC879[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L88
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 168
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -5[rax]
	mov	rax, QWORD PTR -2136[rbp]
	mov	BYTE PTR 168[rax+rdx], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 4[rax], 1
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 8[rax], 1
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 12[rax], 1
.L88:
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L89
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L89
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L89
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	je	.L90
.L89:
	mov	edx, 1
	jmp	.L91
.L90:
	mov	edx, 0
.L91:
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 120[rax], edx
	mov	rax, QWORD PTR -2136[rbp]
	movsd	xmm1, QWORD PTR 136[rax]
	movsd	xmm0, QWORD PTR .LC880[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC881[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	cos@PLT
	movq	rax, xmm0
	mov	rdx, QWORD PTR -2136[rbp]
	mov	QWORD PTR 144[rdx], rax
	mov	rax, QWORD PTR -2136[rbp]
	movsd	xmm0, QWORD PTR 144[rax]
	movsd	xmm1, QWORD PTR .LC882[rip]
	ucomisd	xmm0, xmm1
	jp	.L92
	movsd	xmm1, QWORD PTR .LC882[rip]
	ucomisd	xmm0, xmm1
	jne	.L92
	mov	rax, QWORD PTR -2136[rbp]
	pxor	xmm0, xmm0
	movsd	QWORD PTR 152[rax], xmm0
	jmp	.L94
.L92:
	mov	rax, QWORD PTR -2136[rbp]
	movsd	xmm1, QWORD PTR 144[rax]
	movsd	xmm0, QWORD PTR .LC882[rip]
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -2136[rbp]
	movsd	xmm2, QWORD PTR 144[rax]
	movsd	xmm1, QWORD PTR .LC882[rip]
	subsd	xmm1, xmm2
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	sqrt@PLT
	movsd	xmm1, QWORD PTR .LC883[rip]
	mulsd	xmm0, xmm1
	mov	rax, QWORD PTR -2136[rbp]
	movsd	QWORD PTR 152[rax], xmm0
.L94:
	mov	rax, QWORD PTR -2136[rbp]
	movsd	xmm1, QWORD PTR 144[rax]
	mov	rax, QWORD PTR -2136[rbp]
	movsd	xmm0, QWORD PTR 144[rax]
	mulsd	xmm0, xmm1
	mov	rax, QWORD PTR -2136[rbp]
	movsd	QWORD PTR 144[rax], xmm0
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	je	.L95
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 76[rax]
	test	eax, eax
	je	.L95
	lea	rdi, .LC884[rip]
	call	puts@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L95:
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L96
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L96
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 12[rax], 0
.L96:
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L97
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L98
.L97:
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 24[rax], 0
.L98:
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	je	.L99
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L100
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L99
.L100:
	mov	rax, QWORD PTR -2136[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L99
	lea	rdi, .LC885[rip]
	call	puts@PLT
	lea	rdi, .LC886[rip]
	call	puts@PLT
.L99:
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	je	.L101
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 68[rax]
	test	eax, eax
	je	.L101
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L101
	lea	rdi, .LC887[rip]
	call	puts@PLT
	lea	rdi, .LC888[rip]
	call	puts@PLT
	lea	rdi, .LC889[rip]
	mov	eax, 0
	call	printf@PLT
.L101:
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 4264
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 2216
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 6312
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	DWORD PTR -2100[rbp], 0
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	lea	rax, -2080[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	DWORD PTR -2088[rbp], 1
	jmp	.L102
.L104:
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	movzx	eax, BYTE PTR -2080[rbp+rax]
	cmp	al, 46
	jne	.L103
	mov	eax, DWORD PTR -2088[rbp]
	add	eax, 1
	cdqe
	movzx	eax, BYTE PTR -2080[rbp+rax]
	test	al, al
	je	.L103
	mov	eax, DWORD PTR -2088[rbp]
	add	eax, 1
	mov	DWORD PTR -2100[rbp], eax
.L103:
	add	DWORD PTR -2088[rbp], 1
.L102:
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	movzx	eax, BYTE PTR -2080[rbp+rax]
	test	al, al
	jne	.L104
	mov	DWORD PTR -2096[rbp], 0
	cmp	DWORD PTR -2100[rbp], 0
	jle	.L105
	mov	eax, DWORD PTR -2100[rbp]
	mov	DWORD PTR -2088[rbp], eax
.L108:
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	movzx	eax, BYTE PTR -2080[rbp+rax]
	cmp	al, 47
	jle	.L106
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	movzx	eax, BYTE PTR -2080[rbp+rax]
	cmp	al, 57
	jg	.L106
	mov	edx, DWORD PTR -2096[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	movzx	eax, BYTE PTR -2080[rbp+rax]
	movsx	eax, al
	sub	eax, 48
	add	eax, edx
	mov	DWORD PTR -2096[rbp], eax
	jmp	.L107
.L106:
	mov	DWORD PTR -2100[rbp], 0
.L107:
	add	DWORD PTR -2088[rbp], 1
	mov	eax, DWORD PTR -2088[rbp]
	cdqe
	movzx	eax, BYTE PTR -2080[rbp+rax]
	test	al, al
	jne	.L108
.L105:
	mov	rax, QWORD PTR -2136[rbp]
	mov	eax, DWORD PTR 76[rax]
	test	eax, eax
	je	.L109
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 8360
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 10408
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 14504
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 16552
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 18600
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 20648
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 22696
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 8360[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1685024302
	mov	WORD PTR 4[rax], 101
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 10408[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1701602606
	mov	BYTE PTR 4[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 14504[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1734632750
	mov	WORD PTR 4[rax], 101
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 16552[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	movabs	rcx, 28539402400462382
	mov	QWORD PTR [rax], rcx
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 18600[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	movabs	rcx, 28542653539710510
	mov	QWORD PTR [rax], rcx
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 20648[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1768255022
	mov	WORD PTR 4[rax], 26727
	mov	BYTE PTR 6[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 22696[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1717989166
	mov	BYTE PTR 4[rax], 0
	jmp	.L110
.L109:
	cmp	DWORD PTR -2100[rbp], 0
	jne	.L111
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 8360
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 12456
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 10408
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 14504
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 16552
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 18600
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 20648
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 22696
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 8360[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	movabs	rcx, 28539402400444718
	mov	QWORD PTR [rax], rcx
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 12456[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	movabs	rcx, 34177698061234478
	mov	QWORD PTR [rax], rcx
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 10408[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1697526062
	mov	WORD PTR 4[rax], 25964
	mov	BYTE PTR 6[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 14504[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	movabs	rcx, 28542653539692846
	mov	QWORD PTR [rax], rcx
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 16552[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	movabs	rcx, 7237124272037966126
	mov	QWORD PTR [rax], rcx
	mov	WORD PTR 8[rax], 101
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 18600[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	movabs	rcx, 7450190933803282734
	mov	QWORD PTR [rax], rcx
	mov	WORD PTR 8[rax], 101
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 20648[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	movabs	rcx, 7523097586906837294
	mov	QWORD PTR [rax], rcx
	mov	BYTE PTR 8[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 22696[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1865298222
	mov	WORD PTR 4[rax], 26214
	mov	BYTE PTR 6[rax], 0
	jmp	.L110
.L111:
	mov	eax, DWORD PTR -2100[rbp]
	cdqe
	mov	BYTE PTR -2080[rbp+rax], 37
	mov	eax, DWORD PTR -2100[rbp]
	add	eax, 1
	cdqe
	mov	BYTE PTR -2080[rbp+rax], 100
	mov	eax, DWORD PTR -2100[rbp]
	add	eax, 2
	cdqe
	mov	BYTE PTR -2080[rbp+rax], 0
	mov	eax, DWORD PTR -2096[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -2136[rbp]
	lea	rcx, 8360[rax]
	lea	rax, -2080[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 8360[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 12456
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 8360[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 10408
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 8360[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 14504
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 8360[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 16552
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 8360[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 18600
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 8360[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 20648
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rdx, 8360[rax]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, 22696
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 8360[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1685024302
	mov	WORD PTR 4[rax], 101
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 12456[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1819242542
	mov	WORD PTR 4[rax], 121
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 10408[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1701602606
	mov	BYTE PTR 4[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 14504[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1734632750
	mov	WORD PTR 4[rax], 101
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 16552[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	movabs	rcx, 28539402400462382
	mov	QWORD PTR [rax], rcx
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 18600[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	movabs	rcx, 28542653539710510
	mov	QWORD PTR [rax], rcx
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 20648[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1768255022
	mov	WORD PTR 4[rax], 26727
	mov	BYTE PTR 6[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 22696[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1717989166
	mov	BYTE PTR 4[rax], 0
.L110:
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 168[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1685024302
	mov	WORD PTR 4[rax], 101
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 4264[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1819242542
	mov	WORD PTR 4[rax], 121
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 2216[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1701602606
	mov	BYTE PTR 4[rax], 0
	mov	rax, QWORD PTR -2136[rbp]
	lea	rbx, 6312[rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1701994798
	mov	WORD PTR 4[rax], 97
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L112
	call	__stack_chk_fail@PLT
.L112:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	parsecommandline, .-parsecommandline
	.section	.rodata
	.align 8
.LC890:
	.string	"triangle x%lx with orientation %d:\n"
.LC891:
	.string	"    [0] = Outer space"
.LC892:
	.string	"    [0] = x%lx  %d\n"
.LC893:
	.string	"    [1] = Outer space"
.LC894:
	.string	"    [1] = x%lx  %d\n"
.LC895:
	.string	"    [2] = Outer space"
.LC896:
	.string	"    [2] = x%lx  %d\n"
.LC897:
	.string	"    Origin[%d] = NULL\n"
	.align 8
.LC898:
	.string	"    Origin[%d] = x%lx  (%.12g, %.12g)\n"
.LC899:
	.string	"    Dest  [%d] = NULL\n"
	.align 8
.LC900:
	.string	"    Dest  [%d] = x%lx  (%.12g, %.12g)\n"
.LC901:
	.string	"    Apex  [%d] = NULL\n"
	.align 8
.LC902:
	.string	"    Apex  [%d] = x%lx  (%.12g, %.12g)\n"
.LC903:
	.string	"    [6] = x%lx  %d\n"
.LC904:
	.string	"    [7] = x%lx  %d\n"
.LC905:
	.string	"    [8] = x%lx  %d\n"
.LC906:
	.string	"    Area constraint:  %.4g\n"
	.text
	.globl	printtriangle
	.type	printtriangle, @function
printtriangle:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rdx]
	mov	rcx, rdx
	mov	edx, eax
	mov	rsi, rcx
	lea	rdi, .LC890[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L116
	lea	rdi, .LC891[rip]
	call	puts@PLT
	jmp	.L117
.L116:
	mov	eax, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, rdx
	mov	edx, eax
	mov	rsi, rcx
	lea	rdi, .LC892[rip]
	mov	eax, 0
	call	printf@PLT
.L117:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L118
	lea	rdi, .LC893[rip]
	call	puts@PLT
	jmp	.L119
.L118:
	mov	eax, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, rdx
	mov	edx, eax
	mov	rsi, rcx
	lea	rdi, .LC894[rip]
	mov	eax, 0
	call	printf@PLT
.L119:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L120
	lea	rdi, .LC895[rip]
	call	puts@PLT
	jmp	.L121
.L120:
	mov	eax, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, rdx
	mov	edx, eax
	mov	rsi, rcx
	lea	rdi, .LC896[rip]
	mov	eax, 0
	call	printf@PLT
.L121:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L122
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	movsx	rax, edx
	imul	rax, rax, 1431655766
	shr	rax, 32
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	add	ecx, ecx
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 3
	mov	esi, eax
	lea	rdi, .LC897[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L123
.L122:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, QWORD PTR [rax]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	movsx	rax, edx
	imul	rax, rax, 1431655766
	shr	rax, 32
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	add	ecx, ecx
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 3
	movapd	xmm1, xmm0
	movq	xmm0, rdi
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC898[rip]
	mov	eax, 2
	call	printf@PLT
.L123:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L124
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 2[rax]
	movsx	rax, edx
	imul	rax, rax, 1431655766
	shr	rax, 32
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	add	ecx, ecx
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 3
	mov	esi, eax
	lea	rdi, .LC899[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L125
.L124:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, QWORD PTR [rax]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 2[rax]
	movsx	rax, edx
	imul	rax, rax, 1431655766
	shr	rax, 32
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	add	ecx, ecx
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 3
	movapd	xmm1, xmm0
	movq	xmm0, rdi
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC900[rip]
	mov	eax, 2
	call	printf@PLT
.L125:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L126
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 3
	mov	esi, eax
	lea	rdi, .LC901[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L127
.L126:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	ecx, DWORD PTR 8[rcx]
	add	ecx, 3
	movapd	xmm1, xmm0
	movq	xmm0, rdx
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC902[rip]
	mov	eax, 2
	call	printf@PLT
.L127:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 120[rax]
	test	eax, eax
	je	.L128
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L129
	mov	eax, DWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, rdx
	mov	edx, eax
	mov	rsi, rcx
	lea	rdi, .LC903[rip]
	mov	eax, 0
	call	printf@PLT
.L129:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 56
	mov	rax, QWORD PTR [rax]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 56
	mov	rax, QWORD PTR [rax]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L130
	mov	eax, DWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, rdx
	mov	edx, eax
	mov	rsi, rcx
	lea	rdi, .LC904[rip]
	mov	eax, 0
	call	printf@PLT
.L130:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 64
	mov	rax, QWORD PTR [rax]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 64
	mov	rax, QWORD PTR [rax]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L128
	mov	eax, DWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, rdx
	mov	edx, eax
	mov	rsi, rcx
	lea	rdi, .LC905[rip]
	mov	eax, 0
	call	printf@PLT
.L128:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L132
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movq	xmm0, rax
	lea	rdi, .LC906[rip]
	mov	eax, 1
	call	printf@PLT
.L132:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	printtriangle, .-printtriangle
	.section	.rodata
	.align 8
.LC907:
	.string	"subsegment x%lx with orientation %d and mark %d:\n"
.LC908:
	.string	"    [0] = No subsegment"
.LC909:
	.string	"    [1] = No subsegment"
.LC910:
	.string	"    [6] = Outer space"
.LC911:
	.string	"    [7] = Outer space"
	.align 8
.LC912:
	.string	"    Segment origin[%d] = NULL\n"
	.align 8
.LC913:
	.string	"    Segment origin[%d] = x%lx  (%.12g, %.12g)\n"
	.align 8
.LC914:
	.string	"    Segment dest  [%d] = NULL\n"
	.align 8
.LC915:
	.string	"    Segment dest  [%d] = x%lx  (%.12g, %.12g)\n"
	.text
	.globl	printsubseg
	.type	printsubseg, @function
printsubseg:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 64
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rcx]
	mov	rsi, rcx
	mov	ecx, edx
	mov	edx, eax
	lea	rdi, .LC907[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L134
	lea	rdi, .LC908[rip]
	call	puts@PLT
	jmp	.L135
.L134:
	mov	eax, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, rdx
	mov	edx, eax
	mov	rsi, rcx
	lea	rdi, .LC892[rip]
	mov	eax, 0
	call	printf@PLT
.L135:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L136
	lea	rdi, .LC909[rip]
	call	puts@PLT
	jmp	.L137
.L136:
	mov	eax, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, rdx
	mov	edx, eax
	mov	rsi, rcx
	lea	rdi, .LC894[rip]
	mov	eax, 0
	call	printf@PLT
.L137:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 2
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L138
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 2
	mov	esi, eax
	lea	rdi, .LC897[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L139
.L138:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	ecx, DWORD PTR 8[rcx]
	add	ecx, 2
	movapd	xmm1, xmm0
	movq	xmm0, rdx
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC898[rip]
	mov	eax, 2
	call	printf@PLT
.L139:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, 3
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L140
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, 3
	sub	eax, edx
	mov	esi, eax
	lea	rdi, .LC899[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L141
.L140:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	esi, DWORD PTR 8[rcx]
	mov	ecx, 3
	sub	ecx, esi
	movapd	xmm1, xmm0
	movq	xmm0, rdx
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC900[rip]
	mov	eax, 2
	call	printf@PLT
.L141:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	eax, 3
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	xor	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L142
	lea	rdi, .LC910[rip]
	call	puts@PLT
	jmp	.L143
.L142:
	mov	eax, DWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, rdx
	mov	edx, eax
	mov	rsi, rcx
	lea	rdi, .LC903[rip]
	mov	eax, 0
	call	printf@PLT
.L143:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 56
	mov	rax, QWORD PTR [rax]
	and	eax, 3
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 56
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	xor	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L144
	lea	rdi, .LC911[rip]
	call	puts@PLT
	jmp	.L145
.L144:
	mov	eax, DWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, rdx
	mov	edx, eax
	mov	rsi, rcx
	lea	rdi, .LC904[rip]
	mov	eax, 0
	call	printf@PLT
.L145:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 4
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L146
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 4
	mov	esi, eax
	lea	rdi, .LC912[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L147
.L146:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	ecx, DWORD PTR 8[rcx]
	add	ecx, 4
	movapd	xmm1, xmm0
	movq	xmm0, rdx
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC913[rip]
	mov	eax, 2
	call	printf@PLT
.L147:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, 5
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L148
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, 5
	sub	eax, edx
	mov	esi, eax
	lea	rdi, .LC914[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L150
.L148:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	esi, DWORD PTR 8[rcx]
	mov	ecx, 5
	sub	ecx, esi
	movapd	xmm1, xmm0
	movq	xmm0, rdx
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC915[rip]
	mov	eax, 2
	call	printf@PLT
.L150:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	printsubseg, .-printsubseg
	.globl	poolzero
	.type	poolzero, @function
poolzero:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 52[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 60[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 64[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 80[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 84[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	poolzero, .-poolzero
	.globl	poolrestart
	.type	poolrestart, @function
poolrestart:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 64[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 72[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 8
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	div	rcx
	mov	rax, rsi
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 60[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	poolrestart, .-poolrestart
	.globl	poolinit
	.type	poolinit, @function
poolinit:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	DWORD PTR -20[rbp], ecx
	mov	DWORD PTR -24[rbp], r8d
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, 8
	jbe	.L154
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 48[rax], edx
	jmp	.L155
.L154:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 8
.L155:
	mov	eax, DWORD PTR -12[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 48[rax]
	mov	eax, ecx
	cdq
	idiv	esi
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	imul	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 52[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR 56[rax], edx
	cmp	DWORD PTR -20[rbp], 0
	jne	.L156
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR 60[rax], edx
	jmp	.L157
.L156:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 60[rax], edx
.L157:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 60[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 52[rax]
	imul	eax, edx
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	add	eax, edx
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	poolrestart
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	poolinit, .-poolinit
	.globl	pooldeinit
	.type	pooldeinit, @function
pooldeinit:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	jmp	.L159
.L160:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	mov	eax, 0
	call	trifree
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L159:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L160
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	pooldeinit, .-pooldeinit
	.globl	poolalloc
	.type	poolalloc, @function
poolalloc:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L162
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L163
.L162:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 80[rax]
	test	eax, eax
	jne	.L164
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L165
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 56[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 52[rax]
	imul	eax, edx
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 48[rax]
	add	eax, edx
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], 0
.L165:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 8
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 48[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 48[rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	div	rcx
	mov	rax, rsi
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 56[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 80[rax], edx
.L164:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 52[rax]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 72[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 72[rax], rdx
.L163:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	poolalloc, .-poolalloc
	.globl	pooldealloc
	.type	pooldealloc, @function
pooldealloc:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 64[rax], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	pooldealloc, .-pooldealloc
	.globl	traversalinit
	.type	traversalinit, @function
traversalinit:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	add	rax, 8
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	div	rcx
	mov	rax, rsi
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 60[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 84[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	traversalinit, .-traversalinit
	.globl	traverse
	.type	traverse, @function
traverse:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	jne	.L170
	mov	eax, 0
	jmp	.L171
.L170:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 84[rax]
	test	eax, eax
	jne	.L172
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	add	rax, 8
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 0
	div	rcx
	mov	rax, rsi
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 56[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 84[rax], edx
.L172:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 52[rax]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 84[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 84[rax], edx
	mov	rax, QWORD PTR -8[rbp]
.L171:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	traverse, .-traverse
	.globl	dummyinit
	.type	dummyinit, @function
dummyinit:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 82864[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82864[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	div	rcx
	mov	rax, rsi
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 82856[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 82856[rdx]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	add	rax, 24
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	add	rax, 32
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	add	rax, 40
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 120[rax]
	test	eax, eax
	je	.L175
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 136[rax]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, edx
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 82880[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82880[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 136[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 136[rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	div	rcx
	mov	rax, rsi
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 82872[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 82872[rdx]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	add	rax, 16
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	add	rax, 24
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	add	rax, 32
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	add	rax, 40
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	lea	rdx, 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	lea	rdx, 56[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	add	rax, 64
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	lea	rdx, 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	lea	rdx, 56[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	lea	rdx, 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
.L175:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	dummyinit, .-dummyinit
	.globl	initializevertexpool
	.type	initializevertexpool, @function
initializevertexpool:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 82712[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82716[rax]
	add	eax, edx
	cdqe
	sal	rax, 3
	add	rax, 3
	shr	rax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 82740[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82740[rax]
	add	eax, 2
	cdqe
	sal	eax, 2
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L177
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rax, 7
	shr	rax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 82744[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82744[rax]
	add	eax, 1
	cdqe
	sal	eax, 3
	mov	DWORD PTR -4[rbp], eax
.L177:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82680[rax]
	mov	edx, 4092
	cmp	eax, 4092
	cmovge	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdi, 176[rax]
	mov	eax, DWORD PTR -4[rbp]
	mov	r8d, 8
	mov	ecx, edx
	mov	edx, 4092
	mov	esi, eax
	mov	eax, 0
	call	poolinit
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	initializevertexpool, .-initializevertexpool
	.globl	initializetrisubpools
	.type	initializetrisubpools, @function
initializetrisubpools:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 120[rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 6[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 82748[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 124[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 124[rax]
	add	eax, 2
	imul	eax, edx
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82748[rax]
	sub	eax, 3
	add	eax, edx
	cdqe
	sal	eax, 3
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rax, 7
	shr	rax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 82752[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 82752[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82720[rax]
	add	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	add	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 82756[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L179
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82756[rax]
	add	eax, 1
	cdqe
	sal	eax, 3
	mov	DWORD PTR -4[rbp], eax
	jmp	.L180
.L179:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 82720[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	add	eax, edx
	test	eax, eax
	jle	.L180
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	eax, 3
	mov	DWORD PTR -4[rbp], eax
.L180:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	jne	.L181
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 52[rax]
	test	eax, eax
	je	.L182
.L181:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, 51
	ja	.L182
	mov	DWORD PTR -4[rbp], 52
.L182:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82680[rax]
	sub	eax, 1
	add	eax, eax
	mov	edx, 4092
	cmp	eax, 4092
	cmovge	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR -4[rbp]
	mov	r8d, 4
	mov	ecx, edx
	mov	edx, 4092
	mov	rdi, rax
	mov	eax, 0
	call	poolinit
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 120[rax]
	test	eax, eax
	je	.L183
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 88
	mov	r8d, 4
	mov	ecx, 508
	mov	edx, 508
	mov	esi, 68
	mov	rdi, rax
	mov	eax, 0
	call	poolinit
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 140[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 52[rax]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	dummyinit
	jmp	.L185
.L183:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 52[rax]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 0
	mov	rdi, rax
	mov	eax, 0
	call	dummyinit
.L185:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	initializetrisubpools, .-initializetrisubpools
	.globl	triangledealloc
	.type	triangledealloc, @function
triangledealloc:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 24
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	pooldealloc
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	triangledealloc, .-triangledealloc
	.globl	triangletraverse
	.type	triangletraverse, @function
triangletraverse:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
.L190:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traverse
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L188
	mov	eax, 0
	jmp	.L189
.L188:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L190
	mov	rax, QWORD PTR -8[rbp]
.L189:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	triangletraverse, .-triangletraverse
	.globl	subsegdealloc
	.type	subsegdealloc, @function
subsegdealloc:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 16
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 88[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	pooldealloc
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	subsegdealloc, .-subsegdealloc
	.globl	subsegtraverse
	.type	subsegtraverse, @function
subsegtraverse:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
.L195:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 88
	mov	rdi, rax
	mov	eax, 0
	call	traverse
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L193
	mov	eax, 0
	jmp	.L194
.L193:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L195
	mov	rax, QWORD PTR -8[rbp]
.L194:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	subsegtraverse, .-subsegtraverse
	.globl	vertexdealloc
	.type	vertexdealloc, @function
vertexdealloc:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], -32768
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 176[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	pooldealloc
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	vertexdealloc, .-vertexdealloc
	.globl	vertextraverse
	.type	vertextraverse, @function
vertextraverse:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
.L200:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	traverse
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L198
	mov	eax, 0
	jmp	.L199
.L198:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, -32768
	je	.L200
	mov	rax, QWORD PTR -8[rbp]
.L199:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	vertextraverse, .-vertextraverse
	.globl	badsubsegdealloc
	.type	badsubsegdealloc, @function
badsubsegdealloc:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 352[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	pooldealloc
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	badsubsegdealloc, .-badsubsegdealloc
	.globl	badsubsegtraverse
	.type	badsubsegtraverse, @function
badsubsegtraverse:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
.L205:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 352
	mov	rdi, rax
	mov	eax, 0
	call	traverse
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L203
	mov	eax, 0
	jmp	.L204
.L203:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L205
	mov	rax, QWORD PTR -8[rbp]
.L204:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	badsubsegtraverse, .-badsubsegtraverse
	.globl	getvertex
	.type	getvertex, @function
getvertex:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 236[rax]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	cmp	DWORD PTR -52[rbp], eax
	jl	.L207
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 236[rax]
	add	DWORD PTR -28[rbp], eax
	jmp	.L208
.L209:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 232[rax]
	add	DWORD PTR -28[rbp], eax
.L208:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 232[rax]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	cmp	DWORD PTR -52[rbp], eax
	jge	.L209
.L207:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 8
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 224[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 224[rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 0
	div	rcx
	mov	rax, rsi
	sub	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 228[rax]
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, DWORD PTR -28[rbp]
	imul	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	getvertex, .-getvertex
	.globl	triangledeinit
	.type	triangledeinit, @function
triangledeinit:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	pooldeinit
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82864[rax]
	mov	rdi, rax
	mov	eax, 0
	call	trifree
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 120[rax]
	test	eax, eax
	je	.L212
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 88
	mov	rdi, rax
	mov	eax, 0
	call	pooldeinit
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82880[rax]
	mov	rdi, rax
	mov	eax, 0
	call	trifree
.L212:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	pooldeinit
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L215
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 352
	mov	rdi, rax
	mov	eax, 0
	call	pooldeinit
	mov	rax, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR 136[rax]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	ja	.L214
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L214
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L214
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L215
.L214:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 440
	mov	rdi, rax
	mov	eax, 0
	call	pooldeinit
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 528
	mov	rdi, rax
	mov	eax, 0
	call	pooldeinit
.L215:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	triangledeinit, .-triangledeinit
	.globl	maketriangle
	.type	maketriangle, @function
maketriangle:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 82856[rdx]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 24
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 32
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 40
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 120[rax]
	test	eax, eax
	je	.L217
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 56[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
.L217:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L218
.L219:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -4[rbp], 1
.L218:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82720[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L219
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L220
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR .LC873[rip]
	movsd	QWORD PTR [rax], xmm0
.L220:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	maketriangle, .-maketriangle
	.globl	makesubseg
	.type	makesubseg, @function
makesubseg:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 88
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 82872[rdx]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 16
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 24
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 32
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 40
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 48[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 56[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 64
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 8[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	makesubseg, .-makesubseg
	.globl	exactinit
	.type	exactinit, @function
exactinit:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -28[rbp], 1
	movsd	xmm0, QWORD PTR .LC916[rip]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC882[rip]
	movsd	QWORD PTR epsilon[rip], xmm0
	movsd	xmm0, QWORD PTR .LC882[rip]
	movsd	QWORD PTR splitter[rip], xmm0
	movsd	xmm0, QWORD PTR .LC882[rip]
	movsd	QWORD PTR -24[rbp], xmm0
.L226:
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR epsilon[rip], xmm0
	cmp	DWORD PTR -28[rbp], 0
	je	.L223
	movsd	xmm0, QWORD PTR splitter[rip]
	addsd	xmm0, xmm0
	movsd	QWORD PTR splitter[rip], xmm0
.L223:
	cmp	DWORD PTR -28[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -28[rbp], eax
	movsd	xmm1, QWORD PTR epsilon[rip]
	movsd	xmm0, QWORD PTR .LC882[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC882[rip]
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jp	.L227
	movsd	xmm0, QWORD PTR .LC882[rip]
	comisd	xmm0, QWORD PTR -24[rbp]
	je	.L224
.L227:
	movsd	xmm0, QWORD PTR -24[rbp]
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jp	.L226
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, QWORD PTR -8[rbp]
	jne	.L226
.L224:
	movsd	xmm1, QWORD PTR splitter[rip]
	movsd	xmm0, QWORD PTR .LC882[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR splitter[rip], xmm0
	movsd	xmm1, QWORD PTR epsilon[rip]
	movsd	xmm0, QWORD PTR .LC917[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC918[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR resulterrbound[rip], xmm0
	movsd	xmm1, QWORD PTR epsilon[rip]
	movsd	xmm0, QWORD PTR .LC919[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC918[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR ccwerrboundA[rip], xmm0
	movsd	xmm1, QWORD PTR epsilon[rip]
	movsd	xmm0, QWORD PTR .LC920[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC921[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR ccwerrboundB[rip], xmm0
	movsd	xmm1, QWORD PTR epsilon[rip]
	movsd	xmm0, QWORD PTR .LC922[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC923[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR ccwerrboundC[rip], xmm0
	movsd	xmm1, QWORD PTR epsilon[rip]
	movsd	xmm0, QWORD PTR .LC924[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC925[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR iccerrboundA[rip], xmm0
	movsd	xmm1, QWORD PTR epsilon[rip]
	movsd	xmm0, QWORD PTR .LC926[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC927[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR iccerrboundB[rip], xmm0
	movsd	xmm1, QWORD PTR epsilon[rip]
	movsd	xmm0, QWORD PTR .LC928[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC929[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR iccerrboundC[rip], xmm0
	movsd	xmm1, QWORD PTR epsilon[rip]
	movsd	xmm0, QWORD PTR .LC930[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC931[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR o3derrboundA[rip], xmm0
	movsd	xmm1, QWORD PTR epsilon[rip]
	movsd	xmm0, QWORD PTR .LC932[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC918[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR o3derrboundB[rip], xmm0
	movsd	xmm1, QWORD PTR epsilon[rip]
	movsd	xmm0, QWORD PTR .LC933[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC934[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR epsilon[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR o3derrboundC[rip], xmm0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	exactinit, .-exactinit
	.globl	fast_expansion_sum_zeroelim
	.type	fast_expansion_sum_zeroelim, @function
fast_expansion_sum_zeroelim:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -100[rbp], edi
	mov	QWORD PTR -112[rbp], rsi
	mov	DWORD PTR -104[rbp], edx
	mov	QWORD PTR -120[rbp], rcx
	mov	QWORD PTR -128[rbp], r8
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -40[rbp], xmm0
	mov	DWORD PTR -80[rbp], 0
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -84[rbp], eax
	movsd	xmm0, QWORD PTR -40[rbp]
	comisd	xmm0, QWORD PTR -48[rbp]
	seta	al
	xor	eax, 1
	mov	edx, eax
	movsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	comisd	xmm0, xmm1
	seta	al
	xor	eax, edx
	test	al, al
	je	.L229
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	add	DWORD PTR -84[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -48[rbp], xmm0
	jmp	.L230
.L229:
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	add	DWORD PTR -80[rbp], 1
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -40[rbp], xmm0
.L230:
	mov	DWORD PTR -76[rbp], 0
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jge	.L241
	mov	eax, DWORD PTR -80[rbp]
	cmp	eax, DWORD PTR -104[rbp]
	jge	.L241
	movsd	xmm0, QWORD PTR -40[rbp]
	comisd	xmm0, QWORD PTR -48[rbp]
	seta	al
	xor	eax, 1
	mov	edx, eax
	movsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	comisd	xmm0, xmm1
	seta	al
	xor	eax, edx
	test	al, al
	je	.L232
	movsd	xmm0, QWORD PTR -48[rbp]
	addsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	add	DWORD PTR -84[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -48[rbp], xmm0
	jmp	.L233
.L232:
	movsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	add	DWORD PTR -80[rbp], 1
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -40[rbp], xmm0
.L233:
	movsd	xmm0, QWORD PTR -64[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jp	.L250
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -56[rbp]
	je	.L234
.L250:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -76[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR [rax], xmm0
.L234:
	jmp	.L236
.L240:
	movsd	xmm0, QWORD PTR -40[rbp]
	comisd	xmm0, QWORD PTR -48[rbp]
	seta	al
	xor	eax, 1
	mov	edx, eax
	movsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	comisd	xmm0, xmm1
	seta	al
	xor	eax, edx
	test	al, al
	je	.L237
	movsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	add	DWORD PTR -84[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -48[rbp], xmm0
	jmp	.L238
.L237:
	movsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	add	DWORD PTR -80[rbp], 1
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -40[rbp], xmm0
.L238:
	movsd	xmm0, QWORD PTR -64[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jp	.L251
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -56[rbp]
	jne	.L251
	jmp	.L236
.L251:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -76[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR [rax], xmm0
.L236:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jge	.L241
	mov	eax, DWORD PTR -80[rbp]
	cmp	eax, DWORD PTR -104[rbp]
	jl	.L240
	jmp	.L241
.L243:
	movsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	add	DWORD PTR -84[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jp	.L252
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -56[rbp]
	jne	.L252
	jmp	.L241
.L252:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -76[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR [rax], xmm0
.L241:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jl	.L243
	jmp	.L244
.L246:
	movsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	add	DWORD PTR -80[rbp], 1
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jp	.L253
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -56[rbp]
	jne	.L253
	jmp	.L244
.L253:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -76[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR [rax], xmm0
.L244:
	mov	eax, DWORD PTR -80[rbp]
	cmp	eax, DWORD PTR -104[rbp]
	jl	.L246
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -72[rbp]
	jp	.L247
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -72[rbp]
	jne	.L247
	cmp	DWORD PTR -76[rbp], 0
	jne	.L248
.L247:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -76[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR [rax], xmm0
.L248:
	mov	eax, DWORD PTR -76[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	fast_expansion_sum_zeroelim, .-fast_expansion_sum_zeroelim
	.globl	scale_expansion_zeroelim
	.type	scale_expansion_zeroelim, @function
scale_expansion_zeroelim:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 72
	mov	DWORD PTR -164[rbp], edi
	mov	QWORD PTR -176[rbp], rsi
	movsd	QWORD PTR -184[rbp], xmm0
	mov	QWORD PTR -192[rbp], rdx
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -184[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -144[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	subsd	xmm0, QWORD PTR -184[rbp]
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	subsd	xmm0, QWORD PTR -136[rbp]
	movsd	QWORD PTR -128[rbp], xmm0
	movsd	xmm0, QWORD PTR -184[rbp]
	subsd	xmm0, QWORD PTR -128[rbp]
	movsd	QWORD PTR -120[rbp], xmm0
	mov	rax, QWORD PTR -176[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR -184[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -152[rbp], xmm0
	mov	rax, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR splitter[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -144[rbp], xmm0
	mov	rax, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -144[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	subsd	xmm0, QWORD PTR -136[rbp]
	movsd	QWORD PTR -112[rbp], xmm0
	mov	rax, QWORD PTR -176[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -112[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR -152[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -104[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR -96[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, QWORD PTR -120[rbp]
	subsd	xmm0, QWORD PTR -80[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	mov	DWORD PTR -156[rbp], 0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -72[rbp]
	jp	.L266
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -72[rbp]
	je	.L255
.L266:
	mov	eax, DWORD PTR -156[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -156[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR [rax], xmm0
.L255:
	mov	DWORD PTR -160[rbp], 1
	jmp	.L257
.L262:
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -176[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -184[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -64[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -144[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	subsd	xmm0, QWORD PTR -64[rbp]
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	subsd	xmm0, QWORD PTR -136[rbp]
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -112[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -104[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR -96[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, QWORD PTR -120[rbp]
	subsd	xmm0, QWORD PTR -80[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -152[rbp]
	addsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -152[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -152[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -72[rbp]
	jp	.L267
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -72[rbp]
	je	.L258
.L267:
	mov	eax, DWORD PTR -156[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -156[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR [rax], xmm0
.L258:
	movsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -152[rbp], xmm0
	movsd	xmm0, QWORD PTR -152[rbp]
	subsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -72[rbp]
	jp	.L268
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -72[rbp]
	je	.L260
.L268:
	mov	eax, DWORD PTR -156[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -156[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR [rax], xmm0
.L260:
	add	DWORD PTR -160[rbp], 1
.L257:
	mov	eax, DWORD PTR -160[rbp]
	cmp	eax, DWORD PTR -164[rbp]
	jl	.L262
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -152[rbp]
	jp	.L263
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -152[rbp]
	jne	.L263
	cmp	DWORD PTR -156[rbp], 0
	jne	.L264
.L263:
	mov	eax, DWORD PTR -156[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -156[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -152[rbp]
	movsd	QWORD PTR [rax], xmm0
.L264:
	mov	eax, DWORD PTR -156[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	scale_expansion_zeroelim, .-scale_expansion_zeroelim
	.globl	estimate
	.type	estimate, @function
estimate:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -8[rbp], xmm0
	mov	DWORD PTR -12[rbp], 1
	jmp	.L270
.L271:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR -8[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	add	DWORD PTR -12[rbp], 1
.L270:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L271
	movsd	xmm0, QWORD PTR -8[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	estimate, .-estimate
	.globl	counterclockwiseadapt
	.type	counterclockwiseadapt, @function
counterclockwiseadapt:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 704
	mov	QWORD PTR -680[rbp], rdi
	mov	QWORD PTR -688[rbp], rsi
	mov	QWORD PTR -696[rbp], rdx
	movsd	QWORD PTR -704[rbp], xmm0
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -680[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -696[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -656[rbp], xmm0
	mov	rax, QWORD PTR -688[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -696[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -648[rbp], xmm0
	mov	rax, QWORD PTR -680[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -696[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -640[rbp], xmm0
	mov	rax, QWORD PTR -688[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -696[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -632[rbp], xmm0
	movsd	xmm0, QWORD PTR -656[rbp]
	mulsd	xmm0, QWORD PTR -632[rbp]
	movsd	QWORD PTR -624[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -656[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -656[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -600[rbp], xmm0
	movsd	xmm0, QWORD PTR -656[rbp]
	subsd	xmm0, QWORD PTR -600[rbp]
	movsd	QWORD PTR -592[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -632[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -632[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -584[rbp], xmm0
	movsd	xmm0, QWORD PTR -632[rbp]
	subsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -576[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -624[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -568[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -568[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -560[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -576[rbp]
	movsd	xmm0, QWORD PTR -560[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -552[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	mulsd	xmm0, QWORD PTR -576[rbp]
	subsd	xmm0, QWORD PTR -552[rbp]
	movsd	QWORD PTR -544[rbp], xmm0
	movsd	xmm0, QWORD PTR -640[rbp]
	mulsd	xmm0, QWORD PTR -648[rbp]
	movsd	QWORD PTR -536[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -640[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -640[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -600[rbp], xmm0
	movsd	xmm0, QWORD PTR -640[rbp]
	subsd	xmm0, QWORD PTR -600[rbp]
	movsd	QWORD PTR -592[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -648[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -648[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -584[rbp], xmm0
	movsd	xmm0, QWORD PTR -648[rbp]
	subsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -576[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -536[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -568[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -568[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -560[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -576[rbp]
	movsd	xmm0, QWORD PTR -560[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -552[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	mulsd	xmm0, QWORD PTR -576[rbp]
	subsd	xmm0, QWORD PTR -552[rbp]
	movsd	QWORD PTR -528[rbp], xmm0
	movsd	xmm0, QWORD PTR -544[rbp]
	subsd	xmm0, QWORD PTR -528[rbp]
	movsd	QWORD PTR -520[rbp], xmm0
	movsd	xmm0, QWORD PTR -544[rbp]
	subsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	addsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -512[rbp]
	subsd	xmm0, QWORD PTR -528[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -544[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -368[rbp], xmm0
	movsd	xmm0, QWORD PTR -624[rbp]
	addsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -480[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	subsd	xmm0, QWORD PTR -624[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -624[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -472[rbp], xmm0
	movsd	xmm0, QWORD PTR -472[rbp]
	subsd	xmm0, QWORD PTR -536[rbp]
	movsd	QWORD PTR -520[rbp], xmm0
	movsd	xmm0, QWORD PTR -472[rbp]
	subsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	addsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -512[rbp]
	subsd	xmm0, QWORD PTR -536[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -472[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -360[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	addsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -464[rbp], xmm0
	movsd	xmm0, QWORD PTR -464[rbp]
	subsd	xmm0, QWORD PTR -480[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -464[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -352[rbp], xmm0
	movsd	xmm0, QWORD PTR -464[rbp]
	movsd	QWORD PTR -344[rbp], xmm0
	lea	rax, -368[rbp]
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 0
	call	estimate
	movq	rax, xmm0
	mov	QWORD PTR -456[rbp], rax
	movsd	xmm0, QWORD PTR ccwerrboundB[rip]
	movsd	xmm1, QWORD PTR -704[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -448[rbp], xmm0
	movsd	xmm0, QWORD PTR -456[rbp]
	comisd	xmm0, QWORD PTR -448[rbp]
	jnb	.L274
	movsd	xmm0, QWORD PTR -456[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -448[rbp]
	jb	.L296
.L274:
	movsd	xmm0, QWORD PTR -456[rbp]
	jmp	.L289
.L296:
	mov	rax, QWORD PTR -680[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -656[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -656[rbp]
	addsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	mov	rax, QWORD PTR -696[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -512[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -496[rbp], xmm0
	mov	rax, QWORD PTR -680[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -440[rbp], xmm0
	mov	rax, QWORD PTR -688[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -648[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -648[rbp]
	addsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	mov	rax, QWORD PTR -696[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -512[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -496[rbp], xmm0
	mov	rax, QWORD PTR -688[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -432[rbp], xmm0
	mov	rax, QWORD PTR -680[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -640[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -640[rbp]
	addsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	mov	rax, QWORD PTR -696[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -512[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -496[rbp], xmm0
	mov	rax, QWORD PTR -680[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -424[rbp], xmm0
	mov	rax, QWORD PTR -688[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -632[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -632[rbp]
	addsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	mov	rax, QWORD PTR -696[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -512[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -496[rbp], xmm0
	mov	rax, QWORD PTR -688[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -416[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -440[rbp]
	jp	.L278
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -440[rbp]
	jne	.L278
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -424[rbp]
	jp	.L278
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -424[rbp]
	jne	.L278
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -432[rbp]
	jp	.L278
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -432[rbp]
	jne	.L278
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -416[rbp]
	jp	.L278
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -416[rbp]
	jne	.L278
	movsd	xmm0, QWORD PTR -456[rbp]
	jmp	.L289
.L278:
	movsd	xmm0, QWORD PTR ccwerrboundC[rip]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -704[rbp]
	movsd	xmm0, QWORD PTR -456[rbp]
	pxor	xmm2, xmm2
	comisd	xmm0, xmm2
	jb	.L297
	movsd	xmm0, QWORD PTR -456[rbp]
	jmp	.L285
.L297:
	movsd	xmm0, QWORD PTR -456[rbp]
	movq	xmm2, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm2
.L285:
	movsd	xmm2, QWORD PTR resulterrbound[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -448[rbp], xmm0
	movsd	xmm0, QWORD PTR -656[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -416[rbp]
	movsd	xmm0, QWORD PTR -632[rbp]
	mulsd	xmm0, QWORD PTR -440[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -640[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -432[rbp]
	movsd	xmm1, QWORD PTR -648[rbp]
	mulsd	xmm1, QWORD PTR -424[rbp]
	addsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -456[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -456[rbp], xmm0
	movsd	xmm0, QWORD PTR -456[rbp]
	comisd	xmm0, QWORD PTR -448[rbp]
	jnb	.L286
	movsd	xmm0, QWORD PTR -456[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -448[rbp]
	jb	.L298
.L286:
	movsd	xmm0, QWORD PTR -456[rbp]
	jmp	.L289
.L298:
	movsd	xmm0, QWORD PTR -440[rbp]
	mulsd	xmm0, QWORD PTR -632[rbp]
	movsd	QWORD PTR -408[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -440[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -440[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -600[rbp], xmm0
	movsd	xmm0, QWORD PTR -440[rbp]
	subsd	xmm0, QWORD PTR -600[rbp]
	movsd	QWORD PTR -592[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -632[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -632[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -584[rbp], xmm0
	movsd	xmm0, QWORD PTR -632[rbp]
	subsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -576[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -408[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -568[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -568[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -560[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -576[rbp]
	movsd	xmm0, QWORD PTR -560[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -552[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	mulsd	xmm0, QWORD PTR -576[rbp]
	subsd	xmm0, QWORD PTR -552[rbp]
	movsd	QWORD PTR -400[rbp], xmm0
	movsd	xmm0, QWORD PTR -424[rbp]
	mulsd	xmm0, QWORD PTR -648[rbp]
	movsd	QWORD PTR -392[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -424[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -424[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -600[rbp], xmm0
	movsd	xmm0, QWORD PTR -424[rbp]
	subsd	xmm0, QWORD PTR -600[rbp]
	movsd	QWORD PTR -592[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -648[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -648[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -584[rbp], xmm0
	movsd	xmm0, QWORD PTR -648[rbp]
	subsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -576[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -392[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -568[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -568[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -560[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -576[rbp]
	movsd	xmm0, QWORD PTR -560[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -552[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	mulsd	xmm0, QWORD PTR -576[rbp]
	subsd	xmm0, QWORD PTR -552[rbp]
	movsd	QWORD PTR -384[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	subsd	xmm0, QWORD PTR -384[rbp]
	movsd	QWORD PTR -520[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	subsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	addsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -512[rbp]
	subsd	xmm0, QWORD PTR -384[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -336[rbp], xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	addsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -480[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	subsd	xmm0, QWORD PTR -408[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -472[rbp], xmm0
	movsd	xmm0, QWORD PTR -472[rbp]
	subsd	xmm0, QWORD PTR -392[rbp]
	movsd	QWORD PTR -520[rbp], xmm0
	movsd	xmm0, QWORD PTR -472[rbp]
	subsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	addsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -512[rbp]
	subsd	xmm0, QWORD PTR -392[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -472[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -328[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	addsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -376[rbp], xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	subsd	xmm0, QWORD PTR -480[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -320[rbp], xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	movsd	QWORD PTR -312[rbp], xmm0
	lea	rcx, -304[rbp]
	lea	rdx, -336[rbp]
	lea	rax, -368[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -668[rbp], eax
	movsd	xmm0, QWORD PTR -656[rbp]
	mulsd	xmm0, QWORD PTR -416[rbp]
	movsd	QWORD PTR -408[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -656[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -656[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -600[rbp], xmm0
	movsd	xmm0, QWORD PTR -656[rbp]
	subsd	xmm0, QWORD PTR -600[rbp]
	movsd	QWORD PTR -592[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -416[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -416[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -584[rbp], xmm0
	movsd	xmm0, QWORD PTR -416[rbp]
	subsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -576[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -408[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -568[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -568[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -560[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -576[rbp]
	movsd	xmm0, QWORD PTR -560[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -552[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	mulsd	xmm0, QWORD PTR -576[rbp]
	subsd	xmm0, QWORD PTR -552[rbp]
	movsd	QWORD PTR -400[rbp], xmm0
	movsd	xmm0, QWORD PTR -640[rbp]
	mulsd	xmm0, QWORD PTR -432[rbp]
	movsd	QWORD PTR -392[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -640[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -640[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -600[rbp], xmm0
	movsd	xmm0, QWORD PTR -640[rbp]
	subsd	xmm0, QWORD PTR -600[rbp]
	movsd	QWORD PTR -592[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -432[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -432[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -584[rbp], xmm0
	movsd	xmm0, QWORD PTR -432[rbp]
	subsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -576[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -392[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -568[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -568[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -560[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -576[rbp]
	movsd	xmm0, QWORD PTR -560[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -552[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	mulsd	xmm0, QWORD PTR -576[rbp]
	subsd	xmm0, QWORD PTR -552[rbp]
	movsd	QWORD PTR -384[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	subsd	xmm0, QWORD PTR -384[rbp]
	movsd	QWORD PTR -520[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	subsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	addsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -512[rbp]
	subsd	xmm0, QWORD PTR -384[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -336[rbp], xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	addsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -480[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	subsd	xmm0, QWORD PTR -408[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -472[rbp], xmm0
	movsd	xmm0, QWORD PTR -472[rbp]
	subsd	xmm0, QWORD PTR -392[rbp]
	movsd	QWORD PTR -520[rbp], xmm0
	movsd	xmm0, QWORD PTR -472[rbp]
	subsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	addsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -512[rbp]
	subsd	xmm0, QWORD PTR -392[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -472[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -328[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	addsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -376[rbp], xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	subsd	xmm0, QWORD PTR -480[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -320[rbp], xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	movsd	QWORD PTR -312[rbp], xmm0
	lea	rcx, -240[rbp]
	lea	rdx, -336[rbp]
	lea	rsi, -304[rbp]
	mov	eax, DWORD PTR -668[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -664[rbp], eax
	movsd	xmm0, QWORD PTR -440[rbp]
	mulsd	xmm0, QWORD PTR -416[rbp]
	movsd	QWORD PTR -408[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -440[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -440[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -600[rbp], xmm0
	movsd	xmm0, QWORD PTR -440[rbp]
	subsd	xmm0, QWORD PTR -600[rbp]
	movsd	QWORD PTR -592[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -416[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -416[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -584[rbp], xmm0
	movsd	xmm0, QWORD PTR -416[rbp]
	subsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -576[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -408[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -568[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -568[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -560[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -576[rbp]
	movsd	xmm0, QWORD PTR -560[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -552[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	mulsd	xmm0, QWORD PTR -576[rbp]
	subsd	xmm0, QWORD PTR -552[rbp]
	movsd	QWORD PTR -400[rbp], xmm0
	movsd	xmm0, QWORD PTR -424[rbp]
	mulsd	xmm0, QWORD PTR -432[rbp]
	movsd	QWORD PTR -392[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -424[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -424[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -600[rbp], xmm0
	movsd	xmm0, QWORD PTR -424[rbp]
	subsd	xmm0, QWORD PTR -600[rbp]
	movsd	QWORD PTR -592[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -432[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -432[rbp]
	movsd	QWORD PTR -608[rbp], xmm0
	movsd	xmm0, QWORD PTR -616[rbp]
	subsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -584[rbp], xmm0
	movsd	xmm0, QWORD PTR -432[rbp]
	subsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -576[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -392[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -568[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR -568[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -560[rbp], xmm0
	movsd	xmm0, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -576[rbp]
	movsd	xmm0, QWORD PTR -560[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -552[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	mulsd	xmm0, QWORD PTR -576[rbp]
	subsd	xmm0, QWORD PTR -552[rbp]
	movsd	QWORD PTR -384[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	subsd	xmm0, QWORD PTR -384[rbp]
	movsd	QWORD PTR -520[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	subsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	addsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -512[rbp]
	subsd	xmm0, QWORD PTR -384[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -336[rbp], xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	addsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -480[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	subsd	xmm0, QWORD PTR -408[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -472[rbp], xmm0
	movsd	xmm0, QWORD PTR -472[rbp]
	subsd	xmm0, QWORD PTR -392[rbp]
	movsd	QWORD PTR -520[rbp], xmm0
	movsd	xmm0, QWORD PTR -472[rbp]
	subsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	addsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -512[rbp]
	subsd	xmm0, QWORD PTR -392[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -472[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -328[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	addsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -376[rbp], xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	subsd	xmm0, QWORD PTR -480[rbp]
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	subsd	xmm0, QWORD PTR -512[rbp]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR -480[rbp]
	subsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR -488[rbp]
	addsd	xmm0, QWORD PTR -496[rbp]
	movsd	QWORD PTR -320[rbp], xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	movsd	QWORD PTR -312[rbp], xmm0
	lea	rcx, -144[rbp]
	lea	rdx, -336[rbp]
	lea	rsi, -240[rbp]
	mov	eax, DWORD PTR -664[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -660[rbp], eax
	mov	eax, DWORD PTR -660[rbp]
	sub	eax, 1
	cdqe
	movsd	xmm0, QWORD PTR -144[rbp+rax*8]
.L289:
	movq	rax, xmm0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L290
	call	__stack_chk_fail@PLT
.L290:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	counterclockwiseadapt, .-counterclockwiseadapt
	.globl	counterclockwise
	.type	counterclockwise, @function
counterclockwise:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	QWORD PTR -88[rbp], r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82792[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 82792[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 84[rax]
	test	eax, eax
	je	.L300
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L301
.L300:
	movsd	xmm0, QWORD PTR -32[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L318
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -24[rbp]
	jb	.L319
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L301
.L319:
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	jmp	.L306
.L318:
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -32[rbp]
	jbe	.L320
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L321
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L301
.L321:
	movsd	xmm0, QWORD PTR -32[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	jmp	.L306
.L320:
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L301
.L306:
	movsd	xmm0, QWORD PTR ccwerrboundA[rip]
	movsd	xmm1, QWORD PTR -40[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, QWORD PTR -8[rbp]
	jnb	.L311
	movsd	xmm0, QWORD PTR -16[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -8[rbp]
	jb	.L322
.L311:
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L301
.L322:
	mov	rsi, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 1
	call	counterclockwiseadapt
	movq	rax, xmm0
.L301:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	counterclockwise, .-counterclockwise
	.globl	incircleadapt
	.type	incircleadapt, @function
incircleadapt:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	r11, -24576[rsp]
.LPSRL0:
	sub	rsp, 4096
	or	DWORD PTR [rsp], 0
	cmp	rsp, r11
	jne	.LPSRL0
	sub	rsp, 1888
	mov	QWORD PTR -26424[rbp], rdi
	mov	QWORD PTR -26432[rbp], rsi
	mov	QWORD PTR -26440[rbp], rdx
	mov	QWORD PTR -26448[rbp], rcx
	movsd	QWORD PTR -26456[rbp], xmm0
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -26424[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -26448[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26152[rbp], xmm0
	mov	rax, QWORD PTR -26432[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -26448[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26144[rbp], xmm0
	mov	rax, QWORD PTR -26440[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -26448[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26136[rbp], xmm0
	mov	rax, QWORD PTR -26424[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -26448[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26128[rbp], xmm0
	mov	rax, QWORD PTR -26432[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -26448[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26120[rbp], xmm0
	mov	rax, QWORD PTR -26440[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -26448[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26112[rbp], xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	mulsd	xmm0, QWORD PTR -26112[rbp]
	movsd	QWORD PTR -26104[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26144[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26144[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26112[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26112[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -26112[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26104[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -26024[rbp], xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	mulsd	xmm0, QWORD PTR -26120[rbp]
	movsd	QWORD PTR -26016[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26136[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26136[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26120[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26120[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -26120[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26016[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -26008[rbp], xmm0
	movsd	xmm0, QWORD PTR -26024[rbp]
	subsd	xmm0, QWORD PTR -26008[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26024[rbp]
	subsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, QWORD PTR -26008[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -26024[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25584[rbp], xmm0
	movsd	xmm0, QWORD PTR -26104[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -26104[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -26104[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -26016[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, QWORD PTR -26016[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25576[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25944[rbp], xmm0
	movsd	xmm0, QWORD PTR -25944[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25944[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25568[rbp], xmm0
	movsd	xmm0, QWORD PTR -25944[rbp]
	movsd	QWORD PTR -25560[rbp], xmm0
	lea	rdx, -25232[rbp]
	mov	rcx, QWORD PTR -26152[rbp]
	lea	rax, -25584[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26360[rbp], eax
	lea	rdx, -23056[rbp]
	mov	rsi, QWORD PTR -26152[rbp]
	lea	rcx, -25232[rbp]
	mov	eax, DWORD PTR -26360[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26356[rbp], eax
	lea	rdx, -25168[rbp]
	mov	rcx, QWORD PTR -26128[rbp]
	lea	rax, -25584[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26352[rbp], eax
	lea	rdx, -22928[rbp]
	mov	rsi, QWORD PTR -26128[rbp]
	lea	rcx, -25168[rbp]
	mov	eax, DWORD PTR -26352[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26348[rbp], eax
	lea	rdi, -21136[rbp]
	lea	rcx, -22928[rbp]
	mov	edx, DWORD PTR -26348[rbp]
	lea	rsi, -23056[rbp]
	mov	eax, DWORD PTR -26356[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26344[rbp], eax
	movsd	xmm0, QWORD PTR -26136[rbp]
	mulsd	xmm0, QWORD PTR -26128[rbp]
	movsd	QWORD PTR -25936[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26136[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26136[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26128[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26128[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -26128[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25936[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25928[rbp], xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	mulsd	xmm0, QWORD PTR -26112[rbp]
	movsd	QWORD PTR -25920[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26152[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26152[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26112[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26112[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -26112[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25920[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25912[rbp], xmm0
	movsd	xmm0, QWORD PTR -25928[rbp]
	subsd	xmm0, QWORD PTR -25912[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -25928[rbp]
	subsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, QWORD PTR -25912[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25928[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25552[rbp], xmm0
	movsd	xmm0, QWORD PTR -25936[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25936[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25936[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25920[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, QWORD PTR -25920[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25544[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25904[rbp], xmm0
	movsd	xmm0, QWORD PTR -25904[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25904[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25536[rbp], xmm0
	movsd	xmm0, QWORD PTR -25904[rbp]
	movsd	QWORD PTR -25528[rbp], xmm0
	lea	rdx, -25104[rbp]
	mov	rcx, QWORD PTR -26144[rbp]
	lea	rax, -25552[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26340[rbp], eax
	lea	rdx, -22800[rbp]
	mov	rsi, QWORD PTR -26144[rbp]
	lea	rcx, -25104[rbp]
	mov	eax, DWORD PTR -26340[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26336[rbp], eax
	lea	rdx, -25040[rbp]
	mov	rcx, QWORD PTR -26120[rbp]
	lea	rax, -25552[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26332[rbp], eax
	lea	rdx, -22672[rbp]
	mov	rsi, QWORD PTR -26120[rbp]
	lea	rcx, -25040[rbp]
	mov	eax, DWORD PTR -26332[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26328[rbp], eax
	lea	rdi, -20880[rbp]
	lea	rcx, -22672[rbp]
	mov	edx, DWORD PTR -26328[rbp]
	lea	rsi, -22800[rbp]
	mov	eax, DWORD PTR -26336[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26324[rbp], eax
	movsd	xmm0, QWORD PTR -26152[rbp]
	mulsd	xmm0, QWORD PTR -26120[rbp]
	movsd	QWORD PTR -25896[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26152[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26152[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26120[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26120[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -26120[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25896[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25888[rbp], xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	mulsd	xmm0, QWORD PTR -26128[rbp]
	movsd	QWORD PTR -25880[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26144[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26144[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26128[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26128[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -26128[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25880[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25872[rbp], xmm0
	movsd	xmm0, QWORD PTR -25888[rbp]
	subsd	xmm0, QWORD PTR -25872[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -25888[rbp]
	subsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, QWORD PTR -25872[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25888[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25520[rbp], xmm0
	movsd	xmm0, QWORD PTR -25896[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25896[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25896[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25880[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, QWORD PTR -25880[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25512[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25864[rbp], xmm0
	movsd	xmm0, QWORD PTR -25864[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25864[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25504[rbp], xmm0
	movsd	xmm0, QWORD PTR -25864[rbp]
	movsd	QWORD PTR -25496[rbp], xmm0
	lea	rdx, -24976[rbp]
	mov	rcx, QWORD PTR -26136[rbp]
	lea	rax, -25520[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26320[rbp], eax
	lea	rdx, -22544[rbp]
	mov	rsi, QWORD PTR -26136[rbp]
	lea	rcx, -24976[rbp]
	mov	eax, DWORD PTR -26320[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26316[rbp], eax
	lea	rdx, -24912[rbp]
	mov	rcx, QWORD PTR -26112[rbp]
	lea	rax, -25520[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26312[rbp], eax
	lea	rdx, -22416[rbp]
	mov	rsi, QWORD PTR -26112[rbp]
	lea	rcx, -24912[rbp]
	mov	eax, DWORD PTR -26312[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26308[rbp], eax
	lea	rdi, -20624[rbp]
	lea	rcx, -22416[rbp]
	mov	edx, DWORD PTR -26308[rbp]
	lea	rsi, -22544[rbp]
	mov	eax, DWORD PTR -26316[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26304[rbp], eax
	lea	rdi, -19472[rbp]
	lea	rcx, -20880[rbp]
	mov	edx, DWORD PTR -26324[rbp]
	lea	rsi, -21136[rbp]
	mov	eax, DWORD PTR -26344[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26300[rbp], eax
	lea	rdi, -18448[rbp]
	lea	rcx, -20624[rbp]
	mov	edx, DWORD PTR -26304[rbp]
	lea	rsi, -19472[rbp]
	mov	eax, DWORD PTR -26300[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	lea	rdx, -18448[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	rsi, rdx
	mov	edi, eax
	mov	eax, 0
	call	estimate
	movq	rax, xmm0
	mov	QWORD PTR -25856[rbp], rax
	movsd	xmm0, QWORD PTR iccerrboundB[rip]
	movsd	xmm1, QWORD PTR -26456[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -25848[rbp], xmm0
	movsd	xmm0, QWORD PTR -25856[rbp]
	comisd	xmm0, QWORD PTR -25848[rbp]
	jnb	.L324
	movsd	xmm0, QWORD PTR -25856[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -25848[rbp]
	jb	.L431
.L324:
	movsd	xmm0, QWORD PTR -25856[rbp]
	jmp	.L404
.L431:
	mov	rax, QWORD PTR -26424[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -26152[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	mov	rax, QWORD PTR -26448[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -25976[rbp], xmm0
	mov	rax, QWORD PTR -26424[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25840[rbp], xmm0
	mov	rax, QWORD PTR -26424[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -26128[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26128[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	mov	rax, QWORD PTR -26448[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -25976[rbp], xmm0
	mov	rax, QWORD PTR -26424[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25832[rbp], xmm0
	mov	rax, QWORD PTR -26432[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -26144[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	mov	rax, QWORD PTR -26448[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -25976[rbp], xmm0
	mov	rax, QWORD PTR -26432[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25824[rbp], xmm0
	mov	rax, QWORD PTR -26432[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -26120[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26120[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	mov	rax, QWORD PTR -26448[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -25976[rbp], xmm0
	mov	rax, QWORD PTR -26432[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25816[rbp], xmm0
	mov	rax, QWORD PTR -26440[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -26136[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	mov	rax, QWORD PTR -26448[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -25976[rbp], xmm0
	mov	rax, QWORD PTR -26440[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25808[rbp], xmm0
	mov	rax, QWORD PTR -26440[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -26112[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26112[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	mov	rax, QWORD PTR -26448[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -25976[rbp], xmm0
	mov	rax, QWORD PTR -26440[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25800[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25840[rbp]
	jp	.L328
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25840[rbp]
	jne	.L328
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25824[rbp]
	jp	.L328
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25824[rbp]
	jne	.L328
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25808[rbp]
	jp	.L328
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25808[rbp]
	jne	.L328
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25832[rbp]
	jp	.L328
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25832[rbp]
	jne	.L328
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25816[rbp]
	jp	.L328
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25816[rbp]
	jne	.L328
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25800[rbp]
	jp	.L328
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25800[rbp]
	jne	.L328
	movsd	xmm0, QWORD PTR -25856[rbp]
	jmp	.L404
.L328:
	movsd	xmm0, QWORD PTR iccerrboundC[rip]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26456[rbp]
	movsd	xmm0, QWORD PTR -25856[rbp]
	pxor	xmm2, xmm2
	comisd	xmm0, xmm2
	jb	.L432
	movsd	xmm0, QWORD PTR -25856[rbp]
	jmp	.L337
.L432:
	movsd	xmm0, QWORD PTR -25856[rbp]
	movq	xmm2, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm2
.L337:
	movsd	xmm2, QWORD PTR resulterrbound[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -25848[rbp], xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -26128[rbp]
	mulsd	xmm0, xmm0
	movapd	xmm2, xmm1
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -25800[rbp]
	movsd	xmm0, QWORD PTR -26112[rbp]
	mulsd	xmm0, QWORD PTR -25824[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -26120[rbp]
	movapd	xmm3, xmm1
	mulsd	xmm3, QWORD PTR -25808[rbp]
	movsd	xmm1, QWORD PTR -26136[rbp]
	mulsd	xmm1, QWORD PTR -25816[rbp]
	addsd	xmm1, xmm3
	subsd	xmm0, xmm1
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -25840[rbp]
	movsd	xmm0, QWORD PTR -26128[rbp]
	mulsd	xmm0, QWORD PTR -25832[rbp]
	addsd	xmm0, xmm1
	movapd	xmm3, xmm0
	addsd	xmm3, xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	mulsd	xmm0, QWORD PTR -26112[rbp]
	movsd	xmm1, QWORD PTR -26120[rbp]
	mulsd	xmm1, QWORD PTR -26136[rbp]
	subsd	xmm0, xmm1
	mulsd	xmm0, xmm3
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -26120[rbp]
	mulsd	xmm0, xmm0
	movapd	xmm3, xmm1
	addsd	xmm3, xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -25832[rbp]
	movsd	xmm0, QWORD PTR -26128[rbp]
	mulsd	xmm0, QWORD PTR -25808[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -26112[rbp]
	movapd	xmm4, xmm1
	mulsd	xmm4, QWORD PTR -25840[rbp]
	movsd	xmm1, QWORD PTR -26152[rbp]
	mulsd	xmm1, QWORD PTR -25800[rbp]
	addsd	xmm1, xmm4
	subsd	xmm0, xmm1
	mulsd	xmm3, xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -25824[rbp]
	movsd	xmm0, QWORD PTR -26120[rbp]
	mulsd	xmm0, QWORD PTR -25816[rbp]
	addsd	xmm0, xmm1
	movapd	xmm4, xmm0
	addsd	xmm4, xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	mulsd	xmm0, QWORD PTR -26128[rbp]
	movsd	xmm1, QWORD PTR -26112[rbp]
	mulsd	xmm1, QWORD PTR -26152[rbp]
	subsd	xmm0, xmm1
	mulsd	xmm0, xmm4
	addsd	xmm0, xmm3
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -26112[rbp]
	mulsd	xmm0, xmm0
	movapd	xmm3, xmm1
	addsd	xmm3, xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -25816[rbp]
	movsd	xmm0, QWORD PTR -26120[rbp]
	mulsd	xmm0, QWORD PTR -25840[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -26128[rbp]
	movapd	xmm4, xmm1
	mulsd	xmm4, QWORD PTR -25824[rbp]
	movsd	xmm1, QWORD PTR -26144[rbp]
	mulsd	xmm1, QWORD PTR -25832[rbp]
	addsd	xmm1, xmm4
	subsd	xmm0, xmm1
	mulsd	xmm3, xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -25808[rbp]
	movsd	xmm0, QWORD PTR -26112[rbp]
	mulsd	xmm0, QWORD PTR -25800[rbp]
	addsd	xmm0, xmm1
	movapd	xmm4, xmm0
	addsd	xmm4, xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	mulsd	xmm0, QWORD PTR -26120[rbp]
	movsd	xmm1, QWORD PTR -26128[rbp]
	mulsd	xmm1, QWORD PTR -26144[rbp]
	subsd	xmm0, xmm1
	mulsd	xmm0, xmm4
	addsd	xmm0, xmm3
	addsd	xmm0, xmm2
	movsd	xmm1, QWORD PTR -25856[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -25856[rbp], xmm0
	movsd	xmm0, QWORD PTR -25856[rbp]
	comisd	xmm0, QWORD PTR -25848[rbp]
	jnb	.L338
	movsd	xmm0, QWORD PTR -25856[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -25848[rbp]
	jb	.L433
.L338:
	movsd	xmm0, QWORD PTR -25856[rbp]
	jmp	.L404
.L433:
	lea	rax, -18448[rbp]
	mov	QWORD PTR -26168[rbp], rax
	lea	rax, -9232[rbp]
	mov	QWORD PTR -26160[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25824[rbp]
	jp	.L341
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25824[rbp]
	jne	.L341
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25816[rbp]
	jp	.L341
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25816[rbp]
	jne	.L341
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25808[rbp]
	jp	.L341
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25808[rbp]
	jne	.L341
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25800[rbp]
	jp	.L341
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25800[rbp]
	je	.L342
.L341:
	movsd	xmm0, QWORD PTR -26152[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -25792[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26152[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26152[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -25792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	addsd	xmm0, xmm0
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26072[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25784[rbp], xmm0
	movsd	xmm0, QWORD PTR -26128[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -25776[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26128[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26128[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26128[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -25776[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	addsd	xmm0, xmm0
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26072[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25768[rbp], xmm0
	movsd	xmm0, QWORD PTR -25784[rbp]
	addsd	xmm0, QWORD PTR -25768[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25784[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25768[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25784[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25488[rbp], xmm0
	movsd	xmm0, QWORD PTR -25792[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25792[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25792[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	addsd	xmm0, QWORD PTR -25776[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25952[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25776[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25480[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25760[rbp], xmm0
	movsd	xmm0, QWORD PTR -25760[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25760[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25472[rbp], xmm0
	movsd	xmm0, QWORD PTR -25760[rbp]
	movsd	QWORD PTR -25464[rbp], xmm0
.L342:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25808[rbp]
	jp	.L344
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25808[rbp]
	jne	.L344
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25800[rbp]
	jp	.L344
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25800[rbp]
	jne	.L344
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25840[rbp]
	jp	.L344
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25840[rbp]
	jne	.L344
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25832[rbp]
	jp	.L344
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25832[rbp]
	je	.L345
.L344:
	movsd	xmm0, QWORD PTR -26144[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -25752[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26144[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26144[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -25752[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	addsd	xmm0, xmm0
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26072[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25744[rbp], xmm0
	movsd	xmm0, QWORD PTR -26120[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -25736[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26120[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26120[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26120[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -25736[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	addsd	xmm0, xmm0
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26072[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25728[rbp], xmm0
	movsd	xmm0, QWORD PTR -25744[rbp]
	addsd	xmm0, QWORD PTR -25728[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25744[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25728[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25744[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25456[rbp], xmm0
	movsd	xmm0, QWORD PTR -25752[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25752[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25752[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	addsd	xmm0, QWORD PTR -25736[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25952[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25736[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25448[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25720[rbp], xmm0
	movsd	xmm0, QWORD PTR -25720[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25720[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25440[rbp], xmm0
	movsd	xmm0, QWORD PTR -25720[rbp]
	movsd	QWORD PTR -25432[rbp], xmm0
.L345:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25840[rbp]
	jp	.L347
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25840[rbp]
	jne	.L347
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25832[rbp]
	jp	.L347
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25832[rbp]
	jne	.L347
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25824[rbp]
	jp	.L347
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25824[rbp]
	jne	.L347
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25816[rbp]
	jp	.L347
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25816[rbp]
	je	.L348
.L347:
	movsd	xmm0, QWORD PTR -26136[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -25712[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26136[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26136[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -25712[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	addsd	xmm0, xmm0
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26072[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25704[rbp], xmm0
	movsd	xmm0, QWORD PTR -26112[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -25696[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26112[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26112[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26112[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -25696[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	addsd	xmm0, xmm0
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26072[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25688[rbp], xmm0
	movsd	xmm0, QWORD PTR -25704[rbp]
	addsd	xmm0, QWORD PTR -25688[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25704[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25688[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25704[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25424[rbp], xmm0
	movsd	xmm0, QWORD PTR -25712[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25712[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25712[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	addsd	xmm0, QWORD PTR -25696[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25952[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25696[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25416[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25680[rbp], xmm0
	movsd	xmm0, QWORD PTR -25680[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25680[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25408[rbp], xmm0
	movsd	xmm0, QWORD PTR -25680[rbp]
	movsd	QWORD PTR -25400[rbp], xmm0
.L348:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25840[rbp]
	jp	.L413
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25840[rbp]
	je	.L350
.L413:
	lea	rdx, -24016[rbp]
	mov	rcx, QWORD PTR -25840[rbp]
	lea	rax, -25584[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26408[rbp], eax
	movsd	xmm0, QWORD PTR -26152[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -22288[rbp]
	lea	rcx, -24016[rbp]
	mov	eax, DWORD PTR -26408[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -24720[rbp]
	mov	rcx, QWORD PTR -25840[rbp]
	lea	rax, -25424[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26292[rbp], eax
	lea	rdx, -22160[rbp]
	mov	rsi, QWORD PTR -26120[rbp]
	lea	rcx, -24720[rbp]
	mov	eax, DWORD PTR -26292[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26288[rbp], eax
	lea	rdx, -24784[rbp]
	mov	rcx, QWORD PTR -25840[rbp]
	lea	rax, -25456[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26284[rbp], eax
	movsd	xmm0, QWORD PTR -26112[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movq	rsi, xmm0
	lea	rdx, -22032[rbp]
	lea	rcx, -24784[rbp]
	mov	eax, DWORD PTR -26284[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26280[rbp], eax
	lea	rdi, -20368[rbp]
	lea	rcx, -22160[rbp]
	mov	edx, DWORD PTR -26288[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdi, -19856[rbp]
	lea	rcx, -20368[rbp]
	mov	edx, DWORD PTR -26276[rbp]
	lea	rsi, -22032[rbp]
	mov	eax, DWORD PTR -26280[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26272[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -19856[rbp]
	mov	edx, DWORD PTR -26272[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L350:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25832[rbp]
	jp	.L414
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25832[rbp]
	je	.L352
.L414:
	lea	rdx, -23952[rbp]
	mov	rcx, QWORD PTR -25832[rbp]
	lea	rax, -25584[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26404[rbp], eax
	movsd	xmm0, QWORD PTR -26128[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -22288[rbp]
	lea	rcx, -23952[rbp]
	mov	eax, DWORD PTR -26404[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -24656[rbp]
	mov	rcx, QWORD PTR -25832[rbp]
	lea	rax, -25456[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26268[rbp], eax
	lea	rdx, -22160[rbp]
	mov	rsi, QWORD PTR -26136[rbp]
	lea	rcx, -24656[rbp]
	mov	eax, DWORD PTR -26268[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26288[rbp], eax
	lea	rdx, -24592[rbp]
	mov	rcx, QWORD PTR -25832[rbp]
	lea	rax, -25424[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26264[rbp], eax
	movsd	xmm0, QWORD PTR -26144[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movq	rsi, xmm0
	lea	rdx, -22032[rbp]
	lea	rcx, -24592[rbp]
	mov	eax, DWORD PTR -26264[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26280[rbp], eax
	lea	rdi, -20368[rbp]
	lea	rcx, -22160[rbp]
	mov	edx, DWORD PTR -26288[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdi, -19856[rbp]
	lea	rcx, -20368[rbp]
	mov	edx, DWORD PTR -26276[rbp]
	lea	rsi, -22032[rbp]
	mov	eax, DWORD PTR -26280[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26272[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -19856[rbp]
	mov	edx, DWORD PTR -26272[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L352:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25824[rbp]
	jp	.L415
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25824[rbp]
	je	.L354
.L415:
	lea	rdx, -23888[rbp]
	mov	rcx, QWORD PTR -25824[rbp]
	lea	rax, -25552[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26400[rbp], eax
	movsd	xmm0, QWORD PTR -26144[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -22288[rbp]
	lea	rcx, -23888[rbp]
	mov	eax, DWORD PTR -26400[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -24528[rbp]
	mov	rcx, QWORD PTR -25824[rbp]
	lea	rax, -25488[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26260[rbp], eax
	lea	rdx, -22160[rbp]
	mov	rsi, QWORD PTR -26112[rbp]
	lea	rcx, -24528[rbp]
	mov	eax, DWORD PTR -26260[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26288[rbp], eax
	lea	rdx, -24464[rbp]
	mov	rcx, QWORD PTR -25824[rbp]
	lea	rax, -25424[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26256[rbp], eax
	movsd	xmm0, QWORD PTR -26128[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movq	rsi, xmm0
	lea	rdx, -22032[rbp]
	lea	rcx, -24464[rbp]
	mov	eax, DWORD PTR -26256[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26280[rbp], eax
	lea	rdi, -20368[rbp]
	lea	rcx, -22160[rbp]
	mov	edx, DWORD PTR -26288[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdi, -19856[rbp]
	lea	rcx, -20368[rbp]
	mov	edx, DWORD PTR -26276[rbp]
	lea	rsi, -22032[rbp]
	mov	eax, DWORD PTR -26280[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26272[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -19856[rbp]
	mov	edx, DWORD PTR -26272[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L354:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25816[rbp]
	jp	.L416
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25816[rbp]
	je	.L356
.L416:
	lea	rdx, -23824[rbp]
	mov	rcx, QWORD PTR -25816[rbp]
	lea	rax, -25552[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26396[rbp], eax
	movsd	xmm0, QWORD PTR -26120[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -22288[rbp]
	lea	rcx, -23824[rbp]
	mov	eax, DWORD PTR -26396[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -24336[rbp]
	mov	rcx, QWORD PTR -25816[rbp]
	lea	rax, -25424[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26252[rbp], eax
	lea	rdx, -22160[rbp]
	mov	rsi, QWORD PTR -26152[rbp]
	lea	rcx, -24336[rbp]
	mov	eax, DWORD PTR -26252[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26288[rbp], eax
	lea	rdx, -24400[rbp]
	mov	rcx, QWORD PTR -25816[rbp]
	lea	rax, -25488[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26248[rbp], eax
	movsd	xmm0, QWORD PTR -26136[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movq	rsi, xmm0
	lea	rdx, -22032[rbp]
	lea	rcx, -24400[rbp]
	mov	eax, DWORD PTR -26248[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26280[rbp], eax
	lea	rdi, -20368[rbp]
	lea	rcx, -22160[rbp]
	mov	edx, DWORD PTR -26288[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdi, -19856[rbp]
	lea	rcx, -20368[rbp]
	mov	edx, DWORD PTR -26276[rbp]
	lea	rsi, -22032[rbp]
	mov	eax, DWORD PTR -26280[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26272[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -19856[rbp]
	mov	edx, DWORD PTR -26272[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L356:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25808[rbp]
	jp	.L417
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25808[rbp]
	je	.L358
.L417:
	lea	rdx, -23760[rbp]
	mov	rcx, QWORD PTR -25808[rbp]
	lea	rax, -25520[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26392[rbp], eax
	movsd	xmm0, QWORD PTR -26136[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -22288[rbp]
	lea	rcx, -23760[rbp]
	mov	eax, DWORD PTR -26392[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -24208[rbp]
	mov	rcx, QWORD PTR -25808[rbp]
	lea	rax, -25456[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26244[rbp], eax
	lea	rdx, -22160[rbp]
	mov	rsi, QWORD PTR -26128[rbp]
	lea	rcx, -24208[rbp]
	mov	eax, DWORD PTR -26244[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26288[rbp], eax
	lea	rdx, -24272[rbp]
	mov	rcx, QWORD PTR -25808[rbp]
	lea	rax, -25488[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26240[rbp], eax
	movsd	xmm0, QWORD PTR -26120[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movq	rsi, xmm0
	lea	rdx, -22032[rbp]
	lea	rcx, -24272[rbp]
	mov	eax, DWORD PTR -26240[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26280[rbp], eax
	lea	rdi, -20368[rbp]
	lea	rcx, -22160[rbp]
	mov	edx, DWORD PTR -26288[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdi, -19856[rbp]
	lea	rcx, -20368[rbp]
	mov	edx, DWORD PTR -26276[rbp]
	lea	rsi, -22032[rbp]
	mov	eax, DWORD PTR -26280[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26272[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -19856[rbp]
	mov	edx, DWORD PTR -26272[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L358:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25800[rbp]
	jp	.L418
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25800[rbp]
	je	.L360
.L418:
	lea	rdx, -23696[rbp]
	mov	rcx, QWORD PTR -25800[rbp]
	lea	rax, -25520[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26388[rbp], eax
	movsd	xmm0, QWORD PTR -26112[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -22288[rbp]
	lea	rcx, -23696[rbp]
	mov	eax, DWORD PTR -26388[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -24144[rbp]
	mov	rcx, QWORD PTR -25800[rbp]
	lea	rax, -25488[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26236[rbp], eax
	lea	rdx, -22160[rbp]
	mov	rsi, QWORD PTR -26144[rbp]
	lea	rcx, -24144[rbp]
	mov	eax, DWORD PTR -26236[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26288[rbp], eax
	lea	rdx, -24080[rbp]
	mov	rcx, QWORD PTR -25800[rbp]
	lea	rax, -25456[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26232[rbp], eax
	movsd	xmm0, QWORD PTR -26152[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movq	rsi, xmm0
	lea	rdx, -22032[rbp]
	lea	rcx, -24080[rbp]
	mov	eax, DWORD PTR -26232[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26280[rbp], eax
	lea	rdi, -20368[rbp]
	lea	rcx, -22160[rbp]
	mov	edx, DWORD PTR -26288[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdi, -19856[rbp]
	lea	rcx, -20368[rbp]
	mov	edx, DWORD PTR -26276[rbp]
	lea	rsi, -22032[rbp]
	mov	eax, DWORD PTR -26280[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26272[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -19856[rbp]
	mov	edx, DWORD PTR -26272[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L360:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25840[rbp]
	jp	.L362
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25840[rbp]
	jne	.L362
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25832[rbp]
	jp	.L362
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25832[rbp]
	je	.L363
.L362:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25824[rbp]
	jp	.L365
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25824[rbp]
	jne	.L365
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25816[rbp]
	jp	.L365
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25816[rbp]
	jne	.L365
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25808[rbp]
	jp	.L365
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25808[rbp]
	jne	.L365
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25800[rbp]
	jp	.L365
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25800[rbp]
	je	.L434
.L365:
	movsd	xmm0, QWORD PTR -25824[rbp]
	mulsd	xmm0, QWORD PTR -26112[rbp]
	movsd	QWORD PTR -25664[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25824[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25824[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -25824[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26112[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26112[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -26112[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25656[rbp], xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	mulsd	xmm0, QWORD PTR -25800[rbp]
	movsd	QWORD PTR -25648[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26144[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26144[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25800[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25800[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25800[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25640[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	addsd	xmm0, QWORD PTR -25640[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25656[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25640[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25392[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25664[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	addsd	xmm0, QWORD PTR -25648[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25952[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25384[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25632[rbp], xmm0
	movsd	xmm0, QWORD PTR -25632[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25632[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25376[rbp], xmm0
	movsd	xmm0, QWORD PTR -25632[rbp]
	movsd	QWORD PTR -25368[rbp], xmm0
	movsd	xmm0, QWORD PTR -26120[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -25624[rbp], xmm0
	movsd	xmm0, QWORD PTR -25808[rbp]
	mulsd	xmm0, QWORD PTR -25624[rbp]
	movsd	QWORD PTR -25664[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25808[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25808[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -25808[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25624[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25624[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25624[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25656[rbp], xmm0
	movsd	xmm0, QWORD PTR -25816[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -25624[rbp], xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	mulsd	xmm0, QWORD PTR -25624[rbp]
	movsd	QWORD PTR -25648[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26136[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26136[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25624[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25624[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25624[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25640[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	addsd	xmm0, QWORD PTR -25640[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25656[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25640[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25360[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25664[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	addsd	xmm0, QWORD PTR -25648[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25952[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25352[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25616[rbp], xmm0
	movsd	xmm0, QWORD PTR -25616[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25616[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25344[rbp], xmm0
	movsd	xmm0, QWORD PTR -25616[rbp]
	movsd	QWORD PTR -25336[rbp], xmm0
	lea	rcx, -23184[rbp]
	lea	rdx, -25360[rbp]
	lea	rax, -25392[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26380[rbp], eax
	movsd	xmm0, QWORD PTR -25824[rbp]
	mulsd	xmm0, QWORD PTR -25800[rbp]
	movsd	QWORD PTR -25664[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25824[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25824[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -25824[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25800[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25800[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25800[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25656[rbp], xmm0
	movsd	xmm0, QWORD PTR -25808[rbp]
	mulsd	xmm0, QWORD PTR -25816[rbp]
	movsd	QWORD PTR -25648[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25808[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25808[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -25808[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25816[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25816[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25816[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25640[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -25640[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, QWORD PTR -25640[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25296[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25664[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25648[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, QWORD PTR -25648[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25288[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25608[rbp], xmm0
	movsd	xmm0, QWORD PTR -25608[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25608[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25280[rbp], xmm0
	movsd	xmm0, QWORD PTR -25608[rbp]
	movsd	QWORD PTR -25272[rbp], xmm0
	mov	DWORD PTR -26368[rbp], 4
	jmp	.L368
.L434:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -23184[rbp], xmm0
	mov	DWORD PTR -26380[rbp], 1
	pxor	xmm0, xmm0
	movsd	QWORD PTR -25296[rbp], xmm0
	mov	DWORD PTR -26368[rbp], 1
.L368:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25840[rbp]
	jp	.L419
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25840[rbp]
	je	.L369
.L419:
	lea	rdx, -22288[rbp]
	mov	rsi, QWORD PTR -25840[rbp]
	lea	rcx, -24016[rbp]
	mov	eax, DWORD PTR -26408[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -21904[rbp]
	mov	rsi, QWORD PTR -25840[rbp]
	lea	rcx, -23184[rbp]
	mov	eax, DWORD PTR -26380[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26228[rbp], eax
	movsd	xmm0, QWORD PTR -26152[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -20368[rbp]
	lea	rcx, -21904[rbp]
	mov	eax, DWORD PTR -26228[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdi, -19856[rbp]
	lea	rcx, -20368[rbp]
	mov	edx, DWORD PTR -26276[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26272[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -19856[rbp]
	mov	edx, DWORD PTR -26272[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25816[rbp]
	jp	.L420
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25816[rbp]
	je	.L371
.L420:
	lea	rdx, -24848[rbp]
	mov	rcx, QWORD PTR -25840[rbp]
	lea	rax, -25424[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26224[rbp], eax
	lea	rdx, -22288[rbp]
	mov	rsi, QWORD PTR -25816[rbp]
	lea	rcx, -24848[rbp]
	mov	eax, DWORD PTR -26224[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -22288[rbp]
	mov	edx, DWORD PTR -26296[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L371:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25800[rbp]
	jp	.L421
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25800[rbp]
	je	.L373
.L421:
	movsd	xmm0, QWORD PTR -25840[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movq	rcx, xmm0
	lea	rdx, -24848[rbp]
	lea	rax, -25456[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26224[rbp], eax
	lea	rdx, -22288[rbp]
	mov	rsi, QWORD PTR -25800[rbp]
	lea	rcx, -24848[rbp]
	mov	eax, DWORD PTR -26224[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -22288[rbp]
	mov	edx, DWORD PTR -26296[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L373:
	lea	rdx, -20368[rbp]
	mov	rsi, QWORD PTR -25840[rbp]
	lea	rcx, -21904[rbp]
	mov	eax, DWORD PTR -26228[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdx, -23632[rbp]
	mov	rsi, QWORD PTR -25840[rbp]
	lea	rcx, -25296[rbp]
	mov	eax, DWORD PTR -26368[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26220[rbp], eax
	movsd	xmm0, QWORD PTR -26152[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -22288[rbp]
	lea	rcx, -23632[rbp]
	mov	eax, DWORD PTR -26220[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -22160[rbp]
	mov	rsi, QWORD PTR -25840[rbp]
	lea	rcx, -23632[rbp]
	mov	eax, DWORD PTR -26220[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26288[rbp], eax
	lea	rdi, -20112[rbp]
	lea	rcx, -22160[rbp]
	mov	edx, DWORD PTR -26288[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26216[rbp], eax
	lea	rdi, -18960[rbp]
	lea	rcx, -20112[rbp]
	mov	edx, DWORD PTR -26216[rbp]
	lea	rsi, -20368[rbp]
	mov	eax, DWORD PTR -26276[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26212[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -18960[rbp]
	mov	edx, DWORD PTR -26212[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L369:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25832[rbp]
	jp	.L422
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25832[rbp]
	je	.L363
.L422:
	lea	rdx, -22288[rbp]
	mov	rsi, QWORD PTR -25832[rbp]
	lea	rcx, -23952[rbp]
	mov	eax, DWORD PTR -26404[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -21776[rbp]
	mov	rsi, QWORD PTR -25832[rbp]
	lea	rcx, -23184[rbp]
	mov	eax, DWORD PTR -26380[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26208[rbp], eax
	movsd	xmm0, QWORD PTR -26128[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -20368[rbp]
	lea	rcx, -21776[rbp]
	mov	eax, DWORD PTR -26208[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdi, -19856[rbp]
	lea	rcx, -20368[rbp]
	mov	edx, DWORD PTR -26276[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26272[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -19856[rbp]
	mov	edx, DWORD PTR -26272[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
	lea	rdx, -20368[rbp]
	mov	rsi, QWORD PTR -25832[rbp]
	lea	rcx, -21776[rbp]
	mov	eax, DWORD PTR -26208[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdx, -23568[rbp]
	mov	rsi, QWORD PTR -25832[rbp]
	lea	rcx, -25296[rbp]
	mov	eax, DWORD PTR -26368[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26204[rbp], eax
	movsd	xmm0, QWORD PTR -26128[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -22288[rbp]
	lea	rcx, -23568[rbp]
	mov	eax, DWORD PTR -26204[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -22160[rbp]
	mov	rsi, QWORD PTR -25832[rbp]
	lea	rcx, -23568[rbp]
	mov	eax, DWORD PTR -26204[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26288[rbp], eax
	lea	rdi, -20112[rbp]
	lea	rcx, -22160[rbp]
	mov	edx, DWORD PTR -26288[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26216[rbp], eax
	lea	rdi, -18960[rbp]
	lea	rcx, -20112[rbp]
	mov	edx, DWORD PTR -26216[rbp]
	lea	rsi, -20368[rbp]
	mov	eax, DWORD PTR -26276[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26212[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -18960[rbp]
	mov	edx, DWORD PTR -26212[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L363:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25824[rbp]
	jp	.L376
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25824[rbp]
	jne	.L376
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25816[rbp]
	jp	.L376
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25816[rbp]
	je	.L377
.L376:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25808[rbp]
	jp	.L379
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25808[rbp]
	jne	.L379
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25800[rbp]
	jp	.L379
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25800[rbp]
	jne	.L379
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25840[rbp]
	jp	.L379
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25840[rbp]
	jne	.L379
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25832[rbp]
	jp	.L379
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25832[rbp]
	je	.L435
.L379:
	movsd	xmm0, QWORD PTR -25808[rbp]
	mulsd	xmm0, QWORD PTR -26128[rbp]
	movsd	QWORD PTR -25664[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25808[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25808[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -25808[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26128[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26128[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -26128[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25656[rbp], xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	mulsd	xmm0, QWORD PTR -25832[rbp]
	movsd	QWORD PTR -25648[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26136[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26136[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26136[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25832[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25832[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25832[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25640[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	addsd	xmm0, QWORD PTR -25640[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25656[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25640[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25392[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25664[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	addsd	xmm0, QWORD PTR -25648[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25952[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25384[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25632[rbp], xmm0
	movsd	xmm0, QWORD PTR -25632[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25632[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25376[rbp], xmm0
	movsd	xmm0, QWORD PTR -25632[rbp]
	movsd	QWORD PTR -25368[rbp], xmm0
	movsd	xmm0, QWORD PTR -26112[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -25624[rbp], xmm0
	movsd	xmm0, QWORD PTR -25840[rbp]
	mulsd	xmm0, QWORD PTR -25624[rbp]
	movsd	QWORD PTR -25664[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25840[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25840[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -25840[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25624[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25624[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25624[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25656[rbp], xmm0
	movsd	xmm0, QWORD PTR -25800[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -25624[rbp], xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	mulsd	xmm0, QWORD PTR -25624[rbp]
	movsd	QWORD PTR -25648[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26152[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26152[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25624[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25624[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25624[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25640[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	addsd	xmm0, QWORD PTR -25640[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25656[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25640[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25360[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25664[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	addsd	xmm0, QWORD PTR -25648[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25952[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25352[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25616[rbp], xmm0
	movsd	xmm0, QWORD PTR -25616[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25616[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25344[rbp], xmm0
	movsd	xmm0, QWORD PTR -25616[rbp]
	movsd	QWORD PTR -25336[rbp], xmm0
	lea	rcx, -23120[rbp]
	lea	rdx, -25360[rbp]
	lea	rax, -25392[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26376[rbp], eax
	movsd	xmm0, QWORD PTR -25808[rbp]
	mulsd	xmm0, QWORD PTR -25832[rbp]
	movsd	QWORD PTR -25664[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25808[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25808[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -25808[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25832[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25832[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25832[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25656[rbp], xmm0
	movsd	xmm0, QWORD PTR -25840[rbp]
	mulsd	xmm0, QWORD PTR -25800[rbp]
	movsd	QWORD PTR -25648[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25840[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25840[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -25840[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25800[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25800[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25800[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25640[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -25640[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, QWORD PTR -25640[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25264[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25664[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25648[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, QWORD PTR -25648[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25256[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25600[rbp], xmm0
	movsd	xmm0, QWORD PTR -25600[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25600[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25248[rbp], xmm0
	movsd	xmm0, QWORD PTR -25600[rbp]
	movsd	QWORD PTR -25240[rbp], xmm0
	mov	DWORD PTR -26364[rbp], 4
	jmp	.L382
.L435:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -23120[rbp], xmm0
	mov	DWORD PTR -26376[rbp], 1
	pxor	xmm0, xmm0
	movsd	QWORD PTR -25264[rbp], xmm0
	mov	DWORD PTR -26364[rbp], 1
.L382:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25824[rbp]
	jp	.L423
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25824[rbp]
	je	.L383
.L423:
	lea	rdx, -22288[rbp]
	mov	rsi, QWORD PTR -25824[rbp]
	lea	rcx, -23888[rbp]
	mov	eax, DWORD PTR -26400[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -21648[rbp]
	mov	rsi, QWORD PTR -25824[rbp]
	lea	rcx, -23120[rbp]
	mov	eax, DWORD PTR -26376[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26200[rbp], eax
	movsd	xmm0, QWORD PTR -26144[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -20368[rbp]
	lea	rcx, -21648[rbp]
	mov	eax, DWORD PTR -26200[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdi, -19856[rbp]
	lea	rcx, -20368[rbp]
	mov	edx, DWORD PTR -26276[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26272[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -19856[rbp]
	mov	edx, DWORD PTR -26272[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25800[rbp]
	jp	.L424
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25800[rbp]
	je	.L385
.L424:
	lea	rdx, -24848[rbp]
	mov	rcx, QWORD PTR -25824[rbp]
	lea	rax, -25488[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26224[rbp], eax
	lea	rdx, -22288[rbp]
	mov	rsi, QWORD PTR -25800[rbp]
	lea	rcx, -24848[rbp]
	mov	eax, DWORD PTR -26224[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -22288[rbp]
	mov	edx, DWORD PTR -26296[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L385:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25832[rbp]
	jp	.L425
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25832[rbp]
	je	.L387
.L425:
	movsd	xmm0, QWORD PTR -25824[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movq	rcx, xmm0
	lea	rdx, -24848[rbp]
	lea	rax, -25424[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26224[rbp], eax
	lea	rdx, -22288[rbp]
	mov	rsi, QWORD PTR -25832[rbp]
	lea	rcx, -24848[rbp]
	mov	eax, DWORD PTR -26224[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -22288[rbp]
	mov	edx, DWORD PTR -26296[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L387:
	lea	rdx, -20368[rbp]
	mov	rsi, QWORD PTR -25824[rbp]
	lea	rcx, -21648[rbp]
	mov	eax, DWORD PTR -26200[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdx, -23504[rbp]
	mov	rsi, QWORD PTR -25824[rbp]
	lea	rcx, -25264[rbp]
	mov	eax, DWORD PTR -26364[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26196[rbp], eax
	movsd	xmm0, QWORD PTR -26144[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -22288[rbp]
	lea	rcx, -23504[rbp]
	mov	eax, DWORD PTR -26196[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -22160[rbp]
	mov	rsi, QWORD PTR -25824[rbp]
	lea	rcx, -23504[rbp]
	mov	eax, DWORD PTR -26196[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26288[rbp], eax
	lea	rdi, -20112[rbp]
	lea	rcx, -22160[rbp]
	mov	edx, DWORD PTR -26288[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26216[rbp], eax
	lea	rdi, -18960[rbp]
	lea	rcx, -20112[rbp]
	mov	edx, DWORD PTR -26216[rbp]
	lea	rsi, -20368[rbp]
	mov	eax, DWORD PTR -26276[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26212[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -18960[rbp]
	mov	edx, DWORD PTR -26212[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L383:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25816[rbp]
	jp	.L426
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25816[rbp]
	je	.L377
.L426:
	lea	rdx, -22288[rbp]
	mov	rsi, QWORD PTR -25816[rbp]
	lea	rcx, -23824[rbp]
	mov	eax, DWORD PTR -26396[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -21520[rbp]
	mov	rsi, QWORD PTR -25816[rbp]
	lea	rcx, -23120[rbp]
	mov	eax, DWORD PTR -26376[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26192[rbp], eax
	movsd	xmm0, QWORD PTR -26120[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -20368[rbp]
	lea	rcx, -21520[rbp]
	mov	eax, DWORD PTR -26192[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdi, -19856[rbp]
	lea	rcx, -20368[rbp]
	mov	edx, DWORD PTR -26276[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26272[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -19856[rbp]
	mov	edx, DWORD PTR -26272[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
	lea	rdx, -20368[rbp]
	mov	rsi, QWORD PTR -25816[rbp]
	lea	rcx, -21520[rbp]
	mov	eax, DWORD PTR -26192[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdx, -23440[rbp]
	mov	rsi, QWORD PTR -25816[rbp]
	lea	rcx, -25264[rbp]
	mov	eax, DWORD PTR -26364[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26188[rbp], eax
	movsd	xmm0, QWORD PTR -26120[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -22288[rbp]
	lea	rcx, -23440[rbp]
	mov	eax, DWORD PTR -26188[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -22160[rbp]
	mov	rsi, QWORD PTR -25816[rbp]
	lea	rcx, -23440[rbp]
	mov	eax, DWORD PTR -26188[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26288[rbp], eax
	lea	rdi, -20112[rbp]
	lea	rcx, -22160[rbp]
	mov	edx, DWORD PTR -26288[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26216[rbp], eax
	lea	rdi, -18960[rbp]
	lea	rcx, -20112[rbp]
	mov	edx, DWORD PTR -26216[rbp]
	lea	rsi, -20368[rbp]
	mov	eax, DWORD PTR -26276[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26212[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -18960[rbp]
	mov	edx, DWORD PTR -26212[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L377:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25808[rbp]
	jp	.L390
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25808[rbp]
	jne	.L390
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25800[rbp]
	jp	.L390
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25800[rbp]
	je	.L391
.L390:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25840[rbp]
	jp	.L393
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25840[rbp]
	jne	.L393
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25832[rbp]
	jp	.L393
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25832[rbp]
	jne	.L393
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25824[rbp]
	jp	.L393
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25824[rbp]
	jne	.L393
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25816[rbp]
	jp	.L393
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25816[rbp]
	je	.L436
.L393:
	movsd	xmm0, QWORD PTR -25840[rbp]
	mulsd	xmm0, QWORD PTR -26120[rbp]
	movsd	QWORD PTR -25664[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25840[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25840[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -25840[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26120[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26120[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -26120[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25656[rbp], xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	mulsd	xmm0, QWORD PTR -25816[rbp]
	movsd	QWORD PTR -25648[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26152[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26152[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26152[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25816[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25816[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25816[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25640[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	addsd	xmm0, QWORD PTR -25640[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25656[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25640[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25392[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25664[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	addsd	xmm0, QWORD PTR -25648[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25952[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25384[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25632[rbp], xmm0
	movsd	xmm0, QWORD PTR -25632[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25632[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25376[rbp], xmm0
	movsd	xmm0, QWORD PTR -25632[rbp]
	movsd	QWORD PTR -25368[rbp], xmm0
	movsd	xmm0, QWORD PTR -26128[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -25624[rbp], xmm0
	movsd	xmm0, QWORD PTR -25824[rbp]
	mulsd	xmm0, QWORD PTR -25624[rbp]
	movsd	QWORD PTR -25664[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25824[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25824[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -25824[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25624[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25624[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25624[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25656[rbp], xmm0
	movsd	xmm0, QWORD PTR -25832[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -25624[rbp], xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	mulsd	xmm0, QWORD PTR -25624[rbp]
	movsd	QWORD PTR -25648[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -26144[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26144[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -26144[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25624[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25624[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25624[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25640[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	addsd	xmm0, QWORD PTR -25640[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25656[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25640[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25360[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25664[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	addsd	xmm0, QWORD PTR -25648[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25952[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25352[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25616[rbp], xmm0
	movsd	xmm0, QWORD PTR -25616[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25616[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25344[rbp], xmm0
	movsd	xmm0, QWORD PTR -25616[rbp]
	movsd	QWORD PTR -25336[rbp], xmm0
	lea	rcx, -23248[rbp]
	lea	rdx, -25360[rbp]
	lea	rax, -25392[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26384[rbp], eax
	movsd	xmm0, QWORD PTR -25840[rbp]
	mulsd	xmm0, QWORD PTR -25816[rbp]
	movsd	QWORD PTR -25664[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25840[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25840[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -25840[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25816[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25816[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25816[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25656[rbp], xmm0
	movsd	xmm0, QWORD PTR -25824[rbp]
	mulsd	xmm0, QWORD PTR -25832[rbp]
	movsd	QWORD PTR -25648[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25824[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25824[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26080[rbp], xmm0
	movsd	xmm0, QWORD PTR -25824[rbp]
	subsd	xmm0, QWORD PTR -26080[rbp]
	movsd	QWORD PTR -26072[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -25832[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -26096[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -25832[rbp]
	movsd	QWORD PTR -26088[rbp], xmm0
	movsd	xmm0, QWORD PTR -26096[rbp]
	subsd	xmm0, QWORD PTR -26088[rbp]
	movsd	QWORD PTR -26064[rbp], xmm0
	movsd	xmm0, QWORD PTR -25832[rbp]
	subsd	xmm0, QWORD PTR -26064[rbp]
	movsd	QWORD PTR -26056[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -25648[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26048[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26064[rbp]
	movsd	xmm0, QWORD PTR -26048[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26040[rbp], xmm0
	movsd	xmm0, QWORD PTR -26080[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -26056[rbp]
	movsd	xmm0, QWORD PTR -26040[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -26032[rbp], xmm0
	movsd	xmm0, QWORD PTR -26072[rbp]
	mulsd	xmm0, QWORD PTR -26056[rbp]
	subsd	xmm0, QWORD PTR -26032[rbp]
	movsd	QWORD PTR -25640[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -25640[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, QWORD PTR -25640[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25656[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25328[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25960[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25664[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25664[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25952[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25648[rbp]
	movsd	QWORD PTR -26000[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	addsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -25992[rbp]
	subsd	xmm0, QWORD PTR -25648[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25952[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25320[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	addsd	xmm0, QWORD PTR -26000[rbp]
	movsd	QWORD PTR -25592[rbp], xmm0
	movsd	xmm0, QWORD PTR -25592[rbp]
	subsd	xmm0, QWORD PTR -25960[rbp]
	movsd	QWORD PTR -25992[rbp], xmm0
	movsd	xmm0, QWORD PTR -25592[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25984[rbp], xmm0
	movsd	xmm0, QWORD PTR -26000[rbp]
	subsd	xmm0, QWORD PTR -25992[rbp]
	movsd	QWORD PTR -25976[rbp], xmm0
	movsd	xmm0, QWORD PTR -25960[rbp]
	subsd	xmm0, QWORD PTR -25984[rbp]
	movsd	QWORD PTR -25968[rbp], xmm0
	movsd	xmm0, QWORD PTR -25968[rbp]
	addsd	xmm0, QWORD PTR -25976[rbp]
	movsd	QWORD PTR -25312[rbp], xmm0
	movsd	xmm0, QWORD PTR -25592[rbp]
	movsd	QWORD PTR -25304[rbp], xmm0
	mov	DWORD PTR -26372[rbp], 4
	jmp	.L396
.L436:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -23248[rbp], xmm0
	mov	DWORD PTR -26384[rbp], 1
	pxor	xmm0, xmm0
	movsd	QWORD PTR -25328[rbp], xmm0
	mov	DWORD PTR -26372[rbp], 1
.L396:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25808[rbp]
	jp	.L427
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25808[rbp]
	je	.L397
.L427:
	lea	rdx, -22288[rbp]
	mov	rsi, QWORD PTR -25808[rbp]
	lea	rcx, -23760[rbp]
	mov	eax, DWORD PTR -26392[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -21392[rbp]
	mov	rsi, QWORD PTR -25808[rbp]
	lea	rcx, -23248[rbp]
	mov	eax, DWORD PTR -26384[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26184[rbp], eax
	movsd	xmm0, QWORD PTR -26136[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -20368[rbp]
	lea	rcx, -21392[rbp]
	mov	eax, DWORD PTR -26184[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdi, -19856[rbp]
	lea	rcx, -20368[rbp]
	mov	edx, DWORD PTR -26276[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26272[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -19856[rbp]
	mov	edx, DWORD PTR -26272[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25832[rbp]
	jp	.L428
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25832[rbp]
	je	.L399
.L428:
	lea	rdx, -24848[rbp]
	mov	rcx, QWORD PTR -25808[rbp]
	lea	rax, -25456[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26224[rbp], eax
	lea	rdx, -22288[rbp]
	mov	rsi, QWORD PTR -25832[rbp]
	lea	rcx, -24848[rbp]
	mov	eax, DWORD PTR -26224[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -22288[rbp]
	mov	edx, DWORD PTR -26296[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L399:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25816[rbp]
	jp	.L429
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25816[rbp]
	je	.L401
.L429:
	movsd	xmm0, QWORD PTR -25808[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movq	rcx, xmm0
	lea	rdx, -24848[rbp]
	lea	rax, -25488[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26224[rbp], eax
	lea	rdx, -22288[rbp]
	mov	rsi, QWORD PTR -25816[rbp]
	lea	rcx, -24848[rbp]
	mov	eax, DWORD PTR -26224[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -22288[rbp]
	mov	edx, DWORD PTR -26296[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L401:
	lea	rdx, -20368[rbp]
	mov	rsi, QWORD PTR -25808[rbp]
	lea	rcx, -21392[rbp]
	mov	eax, DWORD PTR -26184[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdx, -23376[rbp]
	mov	rsi, QWORD PTR -25808[rbp]
	lea	rcx, -25328[rbp]
	mov	eax, DWORD PTR -26372[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26180[rbp], eax
	movsd	xmm0, QWORD PTR -26136[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -22288[rbp]
	lea	rcx, -23376[rbp]
	mov	eax, DWORD PTR -26180[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -22160[rbp]
	mov	rsi, QWORD PTR -25808[rbp]
	lea	rcx, -23376[rbp]
	mov	eax, DWORD PTR -26180[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26288[rbp], eax
	lea	rdi, -20112[rbp]
	lea	rcx, -22160[rbp]
	mov	edx, DWORD PTR -26288[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26216[rbp], eax
	lea	rdi, -18960[rbp]
	lea	rcx, -20112[rbp]
	mov	edx, DWORD PTR -26216[rbp]
	lea	rsi, -20368[rbp]
	mov	eax, DWORD PTR -26276[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26212[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -18960[rbp]
	mov	edx, DWORD PTR -26212[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L397:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -25800[rbp]
	jp	.L430
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -25800[rbp]
	je	.L391
.L430:
	lea	rdx, -22288[rbp]
	mov	rsi, QWORD PTR -25800[rbp]
	lea	rcx, -23696[rbp]
	mov	eax, DWORD PTR -26388[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -21264[rbp]
	mov	rsi, QWORD PTR -25800[rbp]
	lea	rcx, -23248[rbp]
	mov	eax, DWORD PTR -26384[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26176[rbp], eax
	movsd	xmm0, QWORD PTR -26112[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -20368[rbp]
	lea	rcx, -21264[rbp]
	mov	eax, DWORD PTR -26176[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdi, -19856[rbp]
	lea	rcx, -20368[rbp]
	mov	edx, DWORD PTR -26276[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26272[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -19856[rbp]
	mov	edx, DWORD PTR -26272[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
	lea	rdx, -20368[rbp]
	mov	rsi, QWORD PTR -25800[rbp]
	lea	rcx, -21264[rbp]
	mov	eax, DWORD PTR -26176[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26276[rbp], eax
	lea	rdx, -23312[rbp]
	mov	rsi, QWORD PTR -25800[rbp]
	lea	rcx, -25328[rbp]
	mov	eax, DWORD PTR -26372[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26172[rbp], eax
	movsd	xmm0, QWORD PTR -26112[rbp]
	addsd	xmm0, xmm0
	movq	rsi, xmm0
	lea	rdx, -22288[rbp]
	lea	rcx, -23312[rbp]
	mov	eax, DWORD PTR -26172[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26296[rbp], eax
	lea	rdx, -22160[rbp]
	mov	rsi, QWORD PTR -25800[rbp]
	lea	rcx, -23312[rbp]
	mov	eax, DWORD PTR -26172[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -26288[rbp], eax
	lea	rdi, -20112[rbp]
	lea	rcx, -22160[rbp]
	mov	edx, DWORD PTR -26288[rbp]
	lea	rsi, -22288[rbp]
	mov	eax, DWORD PTR -26296[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26216[rbp], eax
	lea	rdi, -18960[rbp]
	lea	rcx, -20112[rbp]
	mov	edx, DWORD PTR -26216[rbp]
	lea	rsi, -20368[rbp]
	mov	eax, DWORD PTR -26276[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26212[rbp], eax
	mov	rdi, QWORD PTR -26160[rbp]
	lea	rcx, -18960[rbp]
	mov	edx, DWORD PTR -26212[rbp]
	mov	rsi, QWORD PTR -26168[rbp]
	mov	eax, DWORD PTR -26412[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -26412[rbp], eax
	mov	rax, QWORD PTR -26168[rbp]
	mov	QWORD PTR -25672[rbp], rax
	mov	rax, QWORD PTR -26160[rbp]
	mov	QWORD PTR -26168[rbp], rax
	mov	rax, QWORD PTR -25672[rbp]
	mov	QWORD PTR -26160[rbp], rax
.L391:
	mov	eax, DWORD PTR -26412[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -26168[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
.L404:
	movq	rax, xmm0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L405
	call	__stack_chk_fail@PLT
.L405:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	incircleadapt, .-incircleadapt
	.globl	incircle
	.type	incircle, @function
incircle:
.LFB46:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	QWORD PTR -152[rbp], rdi
	mov	QWORD PTR -160[rbp], rsi
	mov	QWORD PTR -168[rbp], rdx
	mov	QWORD PTR -176[rbp], rcx
	mov	QWORD PTR -184[rbp], r8
	mov	QWORD PTR -192[rbp], r9
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82784[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR 82784[rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -144[rbp], xmm0
	mov	rax, QWORD PTR -176[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -136[rbp], xmm0
	mov	rax, QWORD PTR -184[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -128[rbp], xmm0
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -120[rbp], xmm0
	mov	rax, QWORD PTR -176[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -112[rbp], xmm0
	mov	rax, QWORD PTR -184[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -104[rbp]
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, QWORD PTR -112[rbp]
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -120[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, QWORD PTR -120[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	mulsd	xmm0, QWORD PTR -104[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -136[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	mulsd	xmm0, QWORD PTR -112[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -120[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	subsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	subsd	xmm0, QWORD PTR -40[rbp]
	mulsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 84[rax]
	test	eax, eax
	je	.L438
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L439
.L438:
	movsd	xmm0, QWORD PTR -96[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L467
	movsd	xmm1, QWORD PTR -96[rbp]
	jmp	.L442
.L467:
	movsd	xmm0, QWORD PTR -96[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm1, xmm0
.L442:
	movsd	xmm0, QWORD PTR -88[rbp]
	pxor	xmm2, xmm2
	comisd	xmm0, xmm2
	jb	.L468
	movsd	xmm0, QWORD PTR -88[rbp]
	jmp	.L445
.L468:
	movsd	xmm0, QWORD PTR -88[rbp]
	movq	xmm2, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm2
.L445:
	addsd	xmm0, xmm1
	movapd	xmm2, xmm0
	mulsd	xmm2, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L469
	movsd	xmm1, QWORD PTR -72[rbp]
	jmp	.L448
.L469:
	movsd	xmm0, QWORD PTR -72[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm1, xmm0
.L448:
	movsd	xmm0, QWORD PTR -64[rbp]
	pxor	xmm3, xmm3
	comisd	xmm0, xmm3
	jb	.L470
	movsd	xmm0, QWORD PTR -64[rbp]
	jmp	.L451
.L470:
	movsd	xmm0, QWORD PTR -64[rbp]
	movq	xmm3, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm3
.L451:
	addsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L471
	movsd	xmm1, QWORD PTR -48[rbp]
	jmp	.L454
.L471:
	movsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm1, xmm0
.L454:
	movsd	xmm0, QWORD PTR -40[rbp]
	pxor	xmm3, xmm3
	comisd	xmm0, xmm3
	jb	.L472
	movsd	xmm0, QWORD PTR -40[rbp]
	jmp	.L457
.L472:
	movsd	xmm0, QWORD PTR -40[rbp]
	movq	xmm3, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm3
.L457:
	addsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, xmm2
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR iccerrboundA[rip]
	movsd	xmm1, QWORD PTR -16[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, QWORD PTR -8[rbp]
	ja	.L458
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L473
.L458:
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L439
.L473:
	mov	rdi, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	rsi, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -168[rbp]
	movq	xmm0, rdi
	mov	rdi, rax
	mov	eax, 1
	call	incircleadapt
	movq	rax, xmm0
.L439:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	incircle, .-incircle
	.globl	orient3dadapt
	.type	orient3dadapt, @function
orient3dadapt:
.LFB47:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 992
	mov	QWORD PTR -5016[rbp], rdi
	mov	QWORD PTR -5024[rbp], rsi
	mov	QWORD PTR -5032[rbp], rdx
	mov	QWORD PTR -5040[rbp], rcx
	movsd	QWORD PTR -5048[rbp], xmm0
	movsd	QWORD PTR -5056[rbp], xmm1
	movsd	QWORD PTR -5064[rbp], xmm2
	movsd	QWORD PTR -5072[rbp], xmm3
	movsd	QWORD PTR -5080[rbp], xmm4
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -5016[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -5040[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4920[rbp], xmm0
	mov	rax, QWORD PTR -5024[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -5040[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4912[rbp], xmm0
	mov	rax, QWORD PTR -5032[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -5040[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4904[rbp], xmm0
	mov	rax, QWORD PTR -5016[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -5040[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4896[rbp], xmm0
	mov	rax, QWORD PTR -5024[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -5040[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4888[rbp], xmm0
	mov	rax, QWORD PTR -5032[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -5040[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4880[rbp], xmm0
	movsd	xmm0, QWORD PTR -5048[rbp]
	subsd	xmm0, QWORD PTR -5072[rbp]
	movsd	QWORD PTR -4872[rbp], xmm0
	movsd	xmm0, QWORD PTR -5056[rbp]
	subsd	xmm0, QWORD PTR -5072[rbp]
	movsd	QWORD PTR -4864[rbp], xmm0
	movsd	xmm0, QWORD PTR -5064[rbp]
	subsd	xmm0, QWORD PTR -5072[rbp]
	movsd	QWORD PTR -4856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4912[rbp]
	mulsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4848[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4912[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4912[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4912[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4880[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4880[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4848[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4768[rbp], xmm0
	movsd	xmm0, QWORD PTR -4904[rbp]
	mulsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4760[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4904[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4904[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4904[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4888[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4888[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4760[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4752[rbp], xmm0
	movsd	xmm0, QWORD PTR -4768[rbp]
	subsd	xmm0, QWORD PTR -4752[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4768[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4752[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4768[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4144[rbp], xmm0
	movsd	xmm0, QWORD PTR -4848[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4848[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4848[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4760[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4760[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4136[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4688[rbp], xmm0
	movsd	xmm0, QWORD PTR -4688[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4688[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4128[rbp], xmm0
	movsd	xmm0, QWORD PTR -4688[rbp]
	movsd	QWORD PTR -4120[rbp], xmm0
	lea	rdx, -3824[rbp]
	mov	rcx, QWORD PTR -4872[rbp]
	lea	rax, -4144[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -4972[rbp], eax
	movsd	xmm0, QWORD PTR -4904[rbp]
	mulsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4680[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4904[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4904[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4904[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4896[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4896[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4680[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4672[rbp], xmm0
	movsd	xmm0, QWORD PTR -4920[rbp]
	mulsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4664[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4920[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4920[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4920[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4880[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4880[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4664[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4656[rbp], xmm0
	movsd	xmm0, QWORD PTR -4672[rbp]
	subsd	xmm0, QWORD PTR -4656[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4672[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4656[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4672[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4112[rbp], xmm0
	movsd	xmm0, QWORD PTR -4680[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4680[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4680[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4664[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4664[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4104[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4648[rbp], xmm0
	movsd	xmm0, QWORD PTR -4648[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4648[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4096[rbp], xmm0
	movsd	xmm0, QWORD PTR -4648[rbp]
	movsd	QWORD PTR -4088[rbp], xmm0
	lea	rdx, -3760[rbp]
	mov	rcx, QWORD PTR -4864[rbp]
	lea	rax, -4112[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -4968[rbp], eax
	movsd	xmm0, QWORD PTR -4920[rbp]
	mulsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4640[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4920[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4920[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4920[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4888[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4888[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4640[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4632[rbp], xmm0
	movsd	xmm0, QWORD PTR -4912[rbp]
	mulsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4624[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4912[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4912[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4912[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4896[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4896[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4624[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4616[rbp], xmm0
	movsd	xmm0, QWORD PTR -4632[rbp]
	subsd	xmm0, QWORD PTR -4616[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4632[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4616[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4632[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4080[rbp], xmm0
	movsd	xmm0, QWORD PTR -4640[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4640[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4640[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4624[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4624[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4072[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4608[rbp], xmm0
	movsd	xmm0, QWORD PTR -4608[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4608[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4064[rbp], xmm0
	movsd	xmm0, QWORD PTR -4608[rbp]
	movsd	QWORD PTR -4056[rbp], xmm0
	lea	rdx, -3696[rbp]
	mov	rcx, QWORD PTR -4856[rbp]
	lea	rax, -4080[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -4964[rbp], eax
	lea	rdi, -3344[rbp]
	lea	rcx, -3760[rbp]
	mov	edx, DWORD PTR -4968[rbp]
	lea	rsi, -3824[rbp]
	mov	eax, DWORD PTR -4972[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -4960[rbp], eax
	lea	rdi, -3088[rbp]
	lea	rcx, -3696[rbp]
	mov	edx, DWORD PTR -4964[rbp]
	lea	rsi, -3344[rbp]
	mov	eax, DWORD PTR -4960[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	lea	rdx, -3088[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	rsi, rdx
	mov	edi, eax
	mov	eax, 0
	call	estimate
	movq	rax, xmm0
	mov	QWORD PTR -4600[rbp], rax
	movsd	xmm0, QWORD PTR o3derrboundB[rip]
	movsd	xmm1, QWORD PTR -5080[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4592[rbp], xmm0
	movsd	xmm0, QWORD PTR -4600[rbp]
	comisd	xmm0, QWORD PTR -4592[rbp]
	jnb	.L475
	movsd	xmm0, QWORD PTR -4600[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -4592[rbp]
	jb	.L591
.L475:
	movsd	xmm0, QWORD PTR -4600[rbp]
	jmp	.L549
.L591:
	mov	rax, QWORD PTR -5016[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -4920[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4920[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	mov	rax, QWORD PTR -5040[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4720[rbp], xmm0
	mov	rax, QWORD PTR -5016[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4584[rbp], xmm0
	mov	rax, QWORD PTR -5024[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -4912[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4912[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	mov	rax, QWORD PTR -5040[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4720[rbp], xmm0
	mov	rax, QWORD PTR -5024[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4576[rbp], xmm0
	mov	rax, QWORD PTR -5032[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -4904[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4904[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	mov	rax, QWORD PTR -5040[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4720[rbp], xmm0
	mov	rax, QWORD PTR -5032[rbp]
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4568[rbp], xmm0
	mov	rax, QWORD PTR -5016[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4896[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	mov	rax, QWORD PTR -5040[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4720[rbp], xmm0
	mov	rax, QWORD PTR -5016[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4560[rbp], xmm0
	mov	rax, QWORD PTR -5024[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4888[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	mov	rax, QWORD PTR -5040[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4720[rbp], xmm0
	mov	rax, QWORD PTR -5024[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4552[rbp], xmm0
	mov	rax, QWORD PTR -5032[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4880[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	mov	rax, QWORD PTR -5040[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4720[rbp], xmm0
	mov	rax, QWORD PTR -5032[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4544[rbp], xmm0
	movsd	xmm0, QWORD PTR -5048[rbp]
	subsd	xmm0, QWORD PTR -4872[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4872[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -5072[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -5048[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4536[rbp], xmm0
	movsd	xmm0, QWORD PTR -5056[rbp]
	subsd	xmm0, QWORD PTR -4864[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4864[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -5072[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -5056[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4528[rbp], xmm0
	movsd	xmm0, QWORD PTR -5064[rbp]
	subsd	xmm0, QWORD PTR -4856[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4856[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -5072[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -5064[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4520[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4584[rbp]
	jp	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4584[rbp]
	jne	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4576[rbp]
	jp	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4576[rbp]
	jne	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4568[rbp]
	jp	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4568[rbp]
	jne	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4560[rbp]
	jp	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4560[rbp]
	jne	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4552[rbp]
	jp	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4552[rbp]
	jne	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4544[rbp]
	jp	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4544[rbp]
	jne	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4536[rbp]
	jp	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4536[rbp]
	jne	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4528[rbp]
	jp	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4528[rbp]
	jne	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4520[rbp]
	jp	.L479
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4520[rbp]
	jne	.L479
	movsd	xmm0, QWORD PTR -4600[rbp]
	jmp	.L549
.L479:
	movsd	xmm0, QWORD PTR o3derrboundC[rip]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -5080[rbp]
	movsd	xmm0, QWORD PTR -4600[rbp]
	pxor	xmm2, xmm2
	comisd	xmm0, xmm2
	jb	.L592
	movsd	xmm0, QWORD PTR -4600[rbp]
	jmp	.L491
.L592:
	movsd	xmm0, QWORD PTR -4600[rbp]
	movq	xmm2, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm2
.L491:
	movsd	xmm2, QWORD PTR resulterrbound[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -4592[rbp], xmm0
	movsd	xmm0, QWORD PTR -4912[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4544[rbp]
	movsd	xmm0, QWORD PTR -4880[rbp]
	mulsd	xmm0, QWORD PTR -4576[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -4888[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -4568[rbp]
	movsd	xmm1, QWORD PTR -4904[rbp]
	mulsd	xmm1, QWORD PTR -4552[rbp]
	addsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movapd	xmm2, xmm0
	mulsd	xmm2, QWORD PTR -4872[rbp]
	movsd	xmm0, QWORD PTR -4912[rbp]
	mulsd	xmm0, QWORD PTR -4880[rbp]
	movsd	xmm1, QWORD PTR -4888[rbp]
	mulsd	xmm1, QWORD PTR -4904[rbp]
	subsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -4536[rbp]
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -4904[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4560[rbp]
	movsd	xmm0, QWORD PTR -4896[rbp]
	mulsd	xmm0, QWORD PTR -4568[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -4880[rbp]
	movapd	xmm3, xmm1
	mulsd	xmm3, QWORD PTR -4584[rbp]
	movsd	xmm1, QWORD PTR -4920[rbp]
	mulsd	xmm1, QWORD PTR -4544[rbp]
	addsd	xmm1, xmm3
	subsd	xmm0, xmm1
	movapd	xmm3, xmm0
	mulsd	xmm3, QWORD PTR -4864[rbp]
	movsd	xmm0, QWORD PTR -4904[rbp]
	mulsd	xmm0, QWORD PTR -4896[rbp]
	movsd	xmm1, QWORD PTR -4880[rbp]
	mulsd	xmm1, QWORD PTR -4920[rbp]
	subsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -4528[rbp]
	addsd	xmm0, xmm3
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -4920[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4552[rbp]
	movsd	xmm0, QWORD PTR -4888[rbp]
	mulsd	xmm0, QWORD PTR -4584[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -4896[rbp]
	movapd	xmm3, xmm1
	mulsd	xmm3, QWORD PTR -4576[rbp]
	movsd	xmm1, QWORD PTR -4912[rbp]
	mulsd	xmm1, QWORD PTR -4560[rbp]
	addsd	xmm1, xmm3
	subsd	xmm0, xmm1
	movapd	xmm3, xmm0
	mulsd	xmm3, QWORD PTR -4856[rbp]
	movsd	xmm0, QWORD PTR -4920[rbp]
	mulsd	xmm0, QWORD PTR -4888[rbp]
	movsd	xmm1, QWORD PTR -4896[rbp]
	mulsd	xmm1, QWORD PTR -4912[rbp]
	subsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -4520[rbp]
	addsd	xmm0, xmm3
	addsd	xmm0, xmm2
	movsd	xmm1, QWORD PTR -4600[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -4600[rbp], xmm0
	movsd	xmm0, QWORD PTR -4600[rbp]
	comisd	xmm0, QWORD PTR -4592[rbp]
	jnb	.L492
	movsd	xmm0, QWORD PTR -4600[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -4592[rbp]
	jb	.L593
.L492:
	movsd	xmm0, QWORD PTR -4600[rbp]
	jmp	.L549
.L593:
	lea	rax, -3088[rbp]
	mov	QWORD PTR -4936[rbp], rax
	lea	rax, -1552[rbp]
	mov	QWORD PTR -4928[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4584[rbp]
	jp	.L495
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4584[rbp]
	jne	.L495
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4560[rbp]
	jp	.L497
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4560[rbp]
	jne	.L497
	pxor	xmm0, xmm0
	movsd	QWORD PTR -4048[rbp], xmm0
	mov	DWORD PTR -4996[rbp], 1
	pxor	xmm0, xmm0
	movsd	QWORD PTR -4016[rbp], xmm0
	mov	DWORD PTR -4992[rbp], 1
	jmp	.L499
.L497:
	movsd	xmm0, QWORD PTR -4560[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -4432[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	mulsd	xmm0, QWORD PTR -4912[rbp]
	movsd	QWORD PTR -4480[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4432[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4432[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4912[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4912[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4912[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4480[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4048[rbp], xmm0
	movsd	xmm0, QWORD PTR -4480[rbp]
	movsd	QWORD PTR -4040[rbp], xmm0
	mov	DWORD PTR -4996[rbp], 2
	movsd	xmm0, QWORD PTR -4560[rbp]
	mulsd	xmm0, QWORD PTR -4904[rbp]
	movsd	QWORD PTR -4440[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4560[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4560[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4560[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4904[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4904[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4904[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4440[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4016[rbp], xmm0
	movsd	xmm0, QWORD PTR -4440[rbp]
	movsd	QWORD PTR -4008[rbp], xmm0
	mov	DWORD PTR -4992[rbp], 2
	jmp	.L499
.L495:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4560[rbp]
	jp	.L500
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4560[rbp]
	jne	.L500
	movsd	xmm0, QWORD PTR -4584[rbp]
	mulsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4480[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4584[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4584[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4584[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4888[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4888[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4480[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4048[rbp], xmm0
	movsd	xmm0, QWORD PTR -4480[rbp]
	movsd	QWORD PTR -4040[rbp], xmm0
	mov	DWORD PTR -4996[rbp], 2
	movsd	xmm0, QWORD PTR -4584[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -4432[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	mulsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4440[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4432[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4432[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4880[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4880[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4440[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4016[rbp], xmm0
	movsd	xmm0, QWORD PTR -4440[rbp]
	movsd	QWORD PTR -4008[rbp], xmm0
	mov	DWORD PTR -4992[rbp], 2
	jmp	.L499
.L500:
	movsd	xmm0, QWORD PTR -4584[rbp]
	mulsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4512[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4584[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4584[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4584[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4888[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4888[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4512[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4504[rbp], xmm0
	movsd	xmm0, QWORD PTR -4560[rbp]
	mulsd	xmm0, QWORD PTR -4912[rbp]
	movsd	QWORD PTR -4496[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4560[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4560[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4560[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4912[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4912[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4912[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4496[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4488[rbp], xmm0
	movsd	xmm0, QWORD PTR -4504[rbp]
	subsd	xmm0, QWORD PTR -4488[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4504[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4488[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4504[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4048[rbp], xmm0
	movsd	xmm0, QWORD PTR -4512[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4512[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4512[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4496[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4496[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4040[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4480[rbp], xmm0
	movsd	xmm0, QWORD PTR -4480[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4480[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4032[rbp], xmm0
	movsd	xmm0, QWORD PTR -4480[rbp]
	movsd	QWORD PTR -4024[rbp], xmm0
	mov	DWORD PTR -4996[rbp], 4
	movsd	xmm0, QWORD PTR -4560[rbp]
	mulsd	xmm0, QWORD PTR -4904[rbp]
	movsd	QWORD PTR -4472[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4560[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4560[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4560[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4904[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4904[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4904[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4472[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4464[rbp], xmm0
	movsd	xmm0, QWORD PTR -4584[rbp]
	mulsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4456[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4584[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4584[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4584[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4880[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4880[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4456[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4448[rbp], xmm0
	movsd	xmm0, QWORD PTR -4464[rbp]
	subsd	xmm0, QWORD PTR -4448[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4464[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4448[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4464[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4016[rbp], xmm0
	movsd	xmm0, QWORD PTR -4472[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4472[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4472[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4456[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4456[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4008[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4440[rbp], xmm0
	movsd	xmm0, QWORD PTR -4440[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4440[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4000[rbp], xmm0
	movsd	xmm0, QWORD PTR -4440[rbp]
	movsd	QWORD PTR -3992[rbp], xmm0
	mov	DWORD PTR -4992[rbp], 4
.L499:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4576[rbp]
	jp	.L502
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4576[rbp]
	jne	.L502
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4552[rbp]
	jp	.L504
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4552[rbp]
	jne	.L504
	pxor	xmm0, xmm0
	movsd	QWORD PTR -3984[rbp], xmm0
	mov	DWORD PTR -4988[rbp], 1
	pxor	xmm0, xmm0
	movsd	QWORD PTR -3952[rbp], xmm0
	mov	DWORD PTR -4984[rbp], 1
	jmp	.L506
.L504:
	movsd	xmm0, QWORD PTR -4552[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -4432[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	mulsd	xmm0, QWORD PTR -4904[rbp]
	movsd	QWORD PTR -4392[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4432[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4432[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4904[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4904[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4904[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4392[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3984[rbp], xmm0
	movsd	xmm0, QWORD PTR -4392[rbp]
	movsd	QWORD PTR -3976[rbp], xmm0
	mov	DWORD PTR -4988[rbp], 2
	movsd	xmm0, QWORD PTR -4552[rbp]
	mulsd	xmm0, QWORD PTR -4920[rbp]
	movsd	QWORD PTR -4352[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4552[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4552[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4552[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4920[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4920[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4920[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4352[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3952[rbp], xmm0
	movsd	xmm0, QWORD PTR -4352[rbp]
	movsd	QWORD PTR -3944[rbp], xmm0
	mov	DWORD PTR -4984[rbp], 2
	jmp	.L506
.L502:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4552[rbp]
	jp	.L507
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4552[rbp]
	jne	.L507
	movsd	xmm0, QWORD PTR -4576[rbp]
	mulsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4392[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4576[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4576[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4576[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4880[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4880[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4392[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3984[rbp], xmm0
	movsd	xmm0, QWORD PTR -4392[rbp]
	movsd	QWORD PTR -3976[rbp], xmm0
	mov	DWORD PTR -4988[rbp], 2
	movsd	xmm0, QWORD PTR -4576[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -4432[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	mulsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4352[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4432[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4432[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4896[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4896[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4352[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3952[rbp], xmm0
	movsd	xmm0, QWORD PTR -4352[rbp]
	movsd	QWORD PTR -3944[rbp], xmm0
	mov	DWORD PTR -4984[rbp], 2
	jmp	.L506
.L507:
	movsd	xmm0, QWORD PTR -4576[rbp]
	mulsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4424[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4576[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4576[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4576[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4880[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4880[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4880[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4424[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4416[rbp], xmm0
	movsd	xmm0, QWORD PTR -4552[rbp]
	mulsd	xmm0, QWORD PTR -4904[rbp]
	movsd	QWORD PTR -4408[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4552[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4552[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4552[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4904[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4904[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4904[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4408[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4400[rbp], xmm0
	movsd	xmm0, QWORD PTR -4416[rbp]
	subsd	xmm0, QWORD PTR -4400[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4416[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4400[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4416[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3984[rbp], xmm0
	movsd	xmm0, QWORD PTR -4424[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4424[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4424[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4408[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4408[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3976[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4392[rbp], xmm0
	movsd	xmm0, QWORD PTR -4392[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4392[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3968[rbp], xmm0
	movsd	xmm0, QWORD PTR -4392[rbp]
	movsd	QWORD PTR -3960[rbp], xmm0
	mov	DWORD PTR -4988[rbp], 4
	movsd	xmm0, QWORD PTR -4552[rbp]
	mulsd	xmm0, QWORD PTR -4920[rbp]
	movsd	QWORD PTR -4384[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4552[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4552[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4552[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4920[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4920[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4920[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4384[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4376[rbp], xmm0
	movsd	xmm0, QWORD PTR -4576[rbp]
	mulsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4368[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4576[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4576[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4576[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4896[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4896[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4368[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4360[rbp], xmm0
	movsd	xmm0, QWORD PTR -4376[rbp]
	subsd	xmm0, QWORD PTR -4360[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4376[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4360[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4376[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3952[rbp], xmm0
	movsd	xmm0, QWORD PTR -4384[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4384[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4384[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4368[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4368[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3944[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4352[rbp], xmm0
	movsd	xmm0, QWORD PTR -4352[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4352[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3936[rbp], xmm0
	movsd	xmm0, QWORD PTR -4352[rbp]
	movsd	QWORD PTR -3928[rbp], xmm0
	mov	DWORD PTR -4984[rbp], 4
.L506:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4568[rbp]
	jp	.L509
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4568[rbp]
	jne	.L509
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4544[rbp]
	jp	.L511
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4544[rbp]
	jne	.L511
	pxor	xmm0, xmm0
	movsd	QWORD PTR -3920[rbp], xmm0
	mov	DWORD PTR -4980[rbp], 1
	pxor	xmm0, xmm0
	movsd	QWORD PTR -3888[rbp], xmm0
	mov	DWORD PTR -4976[rbp], 1
	jmp	.L513
.L511:
	movsd	xmm0, QWORD PTR -4544[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -4432[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	mulsd	xmm0, QWORD PTR -4920[rbp]
	movsd	QWORD PTR -4312[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4432[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4432[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4920[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4920[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4920[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4312[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3920[rbp], xmm0
	movsd	xmm0, QWORD PTR -4312[rbp]
	movsd	QWORD PTR -3912[rbp], xmm0
	mov	DWORD PTR -4980[rbp], 2
	movsd	xmm0, QWORD PTR -4544[rbp]
	mulsd	xmm0, QWORD PTR -4912[rbp]
	movsd	QWORD PTR -4272[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4544[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4544[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4544[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4912[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4912[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4912[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4272[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3888[rbp], xmm0
	movsd	xmm0, QWORD PTR -4272[rbp]
	movsd	QWORD PTR -3880[rbp], xmm0
	mov	DWORD PTR -4976[rbp], 2
	jmp	.L513
.L509:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4544[rbp]
	jp	.L514
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4544[rbp]
	jne	.L514
	movsd	xmm0, QWORD PTR -4568[rbp]
	mulsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4312[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4568[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4568[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4568[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4896[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4896[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4312[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3920[rbp], xmm0
	movsd	xmm0, QWORD PTR -4312[rbp]
	movsd	QWORD PTR -3912[rbp], xmm0
	mov	DWORD PTR -4980[rbp], 2
	movsd	xmm0, QWORD PTR -4568[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -4432[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	mulsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4272[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4432[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4432[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4888[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4888[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4272[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3888[rbp], xmm0
	movsd	xmm0, QWORD PTR -4272[rbp]
	movsd	QWORD PTR -3880[rbp], xmm0
	mov	DWORD PTR -4976[rbp], 2
	jmp	.L513
.L514:
	movsd	xmm0, QWORD PTR -4568[rbp]
	mulsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4344[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4568[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4568[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4568[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4896[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4896[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4896[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4344[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4336[rbp], xmm0
	movsd	xmm0, QWORD PTR -4544[rbp]
	mulsd	xmm0, QWORD PTR -4920[rbp]
	movsd	QWORD PTR -4328[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4544[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4544[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4544[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4920[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4920[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4920[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4328[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4320[rbp], xmm0
	movsd	xmm0, QWORD PTR -4336[rbp]
	subsd	xmm0, QWORD PTR -4320[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4336[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4320[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4336[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3920[rbp], xmm0
	movsd	xmm0, QWORD PTR -4344[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4344[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4344[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4328[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4328[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3912[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4312[rbp], xmm0
	movsd	xmm0, QWORD PTR -4312[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4312[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3904[rbp], xmm0
	movsd	xmm0, QWORD PTR -4312[rbp]
	movsd	QWORD PTR -3896[rbp], xmm0
	mov	DWORD PTR -4980[rbp], 4
	movsd	xmm0, QWORD PTR -4544[rbp]
	mulsd	xmm0, QWORD PTR -4912[rbp]
	movsd	QWORD PTR -4304[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4544[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4544[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4544[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4912[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4912[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4912[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4304[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4296[rbp], xmm0
	movsd	xmm0, QWORD PTR -4568[rbp]
	mulsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4288[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4568[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4568[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4568[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4888[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4888[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4888[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4288[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4280[rbp], xmm0
	movsd	xmm0, QWORD PTR -4296[rbp]
	subsd	xmm0, QWORD PTR -4280[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4296[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4280[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4296[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3888[rbp], xmm0
	movsd	xmm0, QWORD PTR -4304[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4304[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4304[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4288[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4736[rbp]
	subsd	xmm0, QWORD PTR -4288[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3880[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4272[rbp], xmm0
	movsd	xmm0, QWORD PTR -4272[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4272[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3872[rbp], xmm0
	movsd	xmm0, QWORD PTR -4272[rbp]
	movsd	QWORD PTR -3864[rbp], xmm0
	mov	DWORD PTR -4976[rbp], 4
.L513:
	lea	rdi, -3632[rbp]
	lea	rcx, -3888[rbp]
	mov	edx, DWORD PTR -4976[rbp]
	lea	rsi, -3984[rbp]
	mov	eax, DWORD PTR -4988[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -4956[rbp], eax
	lea	rdx, -3216[rbp]
	mov	rsi, QWORD PTR -4872[rbp]
	lea	rcx, -3632[rbp]
	mov	eax, DWORD PTR -4956[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -4952[rbp], eax
	mov	rdi, QWORD PTR -4928[rbp]
	lea	rcx, -3216[rbp]
	mov	edx, DWORD PTR -4952[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
	lea	rdi, -3568[rbp]
	lea	rcx, -4016[rbp]
	mov	edx, DWORD PTR -4992[rbp]
	lea	rsi, -3920[rbp]
	mov	eax, DWORD PTR -4980[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -4948[rbp], eax
	lea	rdx, -3216[rbp]
	mov	rsi, QWORD PTR -4864[rbp]
	lea	rcx, -3568[rbp]
	mov	eax, DWORD PTR -4948[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -4952[rbp], eax
	mov	rdi, QWORD PTR -4928[rbp]
	lea	rcx, -3216[rbp]
	mov	edx, DWORD PTR -4952[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
	lea	rdi, -3504[rbp]
	lea	rcx, -3952[rbp]
	mov	edx, DWORD PTR -4984[rbp]
	lea	rsi, -4048[rbp]
	mov	eax, DWORD PTR -4996[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -4944[rbp], eax
	lea	rdx, -3216[rbp]
	mov	rsi, QWORD PTR -4856[rbp]
	lea	rcx, -3504[rbp]
	mov	eax, DWORD PTR -4944[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -4952[rbp], eax
	mov	rdi, QWORD PTR -4928[rbp]
	lea	rcx, -3216[rbp]
	mov	edx, DWORD PTR -4952[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4536[rbp]
	jp	.L570
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4536[rbp]
	je	.L516
.L570:
	lea	rdx, -3440[rbp]
	mov	rcx, QWORD PTR -4536[rbp]
	lea	rax, -4144[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -4940[rbp], eax
	mov	rdi, QWORD PTR -4928[rbp]
	lea	rcx, -3440[rbp]
	mov	edx, DWORD PTR -4940[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
.L516:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4528[rbp]
	jp	.L571
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4528[rbp]
	je	.L518
.L571:
	lea	rdx, -3440[rbp]
	mov	rcx, QWORD PTR -4528[rbp]
	lea	rax, -4112[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -4940[rbp], eax
	mov	rdi, QWORD PTR -4928[rbp]
	lea	rcx, -3440[rbp]
	mov	edx, DWORD PTR -4940[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
.L518:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4520[rbp]
	jp	.L572
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4520[rbp]
	je	.L520
.L572:
	lea	rdx, -3440[rbp]
	mov	rcx, QWORD PTR -4520[rbp]
	lea	rax, -4080[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	mov	edi, 4
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -4940[rbp], eax
	mov	rdi, QWORD PTR -4928[rbp]
	lea	rcx, -3440[rbp]
	mov	edx, DWORD PTR -4940[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
.L520:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4584[rbp]
	jp	.L573
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4584[rbp]
	je	.L522
.L573:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4552[rbp]
	jp	.L574
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4552[rbp]
	je	.L524
.L574:
	movsd	xmm0, QWORD PTR -4584[rbp]
	mulsd	xmm0, QWORD PTR -4552[rbp]
	movsd	QWORD PTR -4256[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4584[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4584[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4584[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4552[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4552[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4552[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4256[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4248[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4856[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4856[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4856[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4248[rbp]
	mulsd	xmm0, QWORD PTR -4856[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4248[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4248[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4248[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4256[rbp]
	mulsd	xmm0, QWORD PTR -4856[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4256[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4256[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4256[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4696[rbp]
	movsd	QWORD PTR -4240[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3848[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4240[rbp]
	movsd	QWORD PTR -4232[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -3840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	movsd	QWORD PTR -3832[rbp], xmm0
	mov	rcx, QWORD PTR -4928[rbp]
	lea	rdx, -3856[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4520[rbp]
	jp	.L575
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4520[rbp]
	je	.L524
.L575:
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4520[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4520[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4520[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4248[rbp]
	mulsd	xmm0, QWORD PTR -4520[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4248[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4248[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4248[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4256[rbp]
	mulsd	xmm0, QWORD PTR -4520[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4256[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4256[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4256[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4696[rbp]
	movsd	QWORD PTR -4240[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3848[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4240[rbp]
	movsd	QWORD PTR -4232[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -3840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	movsd	QWORD PTR -3832[rbp], xmm0
	mov	rcx, QWORD PTR -4928[rbp]
	lea	rdx, -3856[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
.L524:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4544[rbp]
	jp	.L576
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4544[rbp]
	je	.L522
.L576:
	movsd	xmm0, QWORD PTR -4584[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -4432[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	mulsd	xmm0, QWORD PTR -4544[rbp]
	movsd	QWORD PTR -4224[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4432[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4432[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4544[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4544[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4544[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4224[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4216[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4864[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4864[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4864[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4216[rbp]
	mulsd	xmm0, QWORD PTR -4864[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4216[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4216[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4216[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4224[rbp]
	mulsd	xmm0, QWORD PTR -4864[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4224[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4224[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4224[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4696[rbp]
	movsd	QWORD PTR -4240[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3848[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4240[rbp]
	movsd	QWORD PTR -4232[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -3840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	movsd	QWORD PTR -3832[rbp], xmm0
	mov	rcx, QWORD PTR -4928[rbp]
	lea	rdx, -3856[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4528[rbp]
	jp	.L577
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4528[rbp]
	je	.L522
.L577:
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4528[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4528[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4528[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4216[rbp]
	mulsd	xmm0, QWORD PTR -4528[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4216[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4216[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4216[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4224[rbp]
	mulsd	xmm0, QWORD PTR -4528[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4224[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4224[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4224[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4696[rbp]
	movsd	QWORD PTR -4240[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3848[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4240[rbp]
	movsd	QWORD PTR -4232[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -3840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	movsd	QWORD PTR -3832[rbp], xmm0
	mov	rcx, QWORD PTR -4928[rbp]
	lea	rdx, -3856[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
.L522:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4576[rbp]
	jp	.L578
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4576[rbp]
	je	.L529
.L578:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4544[rbp]
	jp	.L579
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4544[rbp]
	je	.L531
.L579:
	movsd	xmm0, QWORD PTR -4576[rbp]
	mulsd	xmm0, QWORD PTR -4544[rbp]
	movsd	QWORD PTR -4208[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4576[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4576[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4576[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4544[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4544[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4544[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4208[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4200[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4872[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4872[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4872[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4200[rbp]
	mulsd	xmm0, QWORD PTR -4872[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4200[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4200[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4200[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4208[rbp]
	mulsd	xmm0, QWORD PTR -4872[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4208[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4208[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4208[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4696[rbp]
	movsd	QWORD PTR -4240[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3848[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4240[rbp]
	movsd	QWORD PTR -4232[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -3840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	movsd	QWORD PTR -3832[rbp], xmm0
	mov	rcx, QWORD PTR -4928[rbp]
	lea	rdx, -3856[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4536[rbp]
	jp	.L580
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4536[rbp]
	je	.L531
.L580:
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4536[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4536[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4536[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4200[rbp]
	mulsd	xmm0, QWORD PTR -4536[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4200[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4200[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4200[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4208[rbp]
	mulsd	xmm0, QWORD PTR -4536[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4208[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4208[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4208[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4696[rbp]
	movsd	QWORD PTR -4240[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3848[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4240[rbp]
	movsd	QWORD PTR -4232[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -3840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	movsd	QWORD PTR -3832[rbp], xmm0
	mov	rcx, QWORD PTR -4928[rbp]
	lea	rdx, -3856[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
.L531:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4560[rbp]
	jp	.L581
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4560[rbp]
	je	.L529
.L581:
	movsd	xmm0, QWORD PTR -4576[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -4432[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	mulsd	xmm0, QWORD PTR -4560[rbp]
	movsd	QWORD PTR -4192[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4432[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4432[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4560[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4560[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4560[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4192[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4184[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4856[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4856[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4856[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4184[rbp]
	mulsd	xmm0, QWORD PTR -4856[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4184[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4184[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4184[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4192[rbp]
	mulsd	xmm0, QWORD PTR -4856[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4192[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4192[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4192[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4696[rbp]
	movsd	QWORD PTR -4240[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3848[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4240[rbp]
	movsd	QWORD PTR -4232[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -3840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	movsd	QWORD PTR -3832[rbp], xmm0
	mov	rcx, QWORD PTR -4928[rbp]
	lea	rdx, -3856[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4520[rbp]
	jp	.L582
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4520[rbp]
	je	.L529
.L582:
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4520[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4520[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4520[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4184[rbp]
	mulsd	xmm0, QWORD PTR -4520[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4184[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4184[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4184[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4192[rbp]
	mulsd	xmm0, QWORD PTR -4520[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4192[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4192[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4192[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4696[rbp]
	movsd	QWORD PTR -4240[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3848[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4240[rbp]
	movsd	QWORD PTR -4232[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -3840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	movsd	QWORD PTR -3832[rbp], xmm0
	mov	rcx, QWORD PTR -4928[rbp]
	lea	rdx, -3856[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
.L529:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4568[rbp]
	jp	.L583
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4568[rbp]
	je	.L536
.L583:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4560[rbp]
	jp	.L584
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4560[rbp]
	je	.L538
.L584:
	movsd	xmm0, QWORD PTR -4568[rbp]
	mulsd	xmm0, QWORD PTR -4560[rbp]
	movsd	QWORD PTR -4176[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4568[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4568[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4568[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4560[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4560[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4560[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4176[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4168[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4864[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4864[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4864[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4168[rbp]
	mulsd	xmm0, QWORD PTR -4864[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4168[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4168[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4168[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4176[rbp]
	mulsd	xmm0, QWORD PTR -4864[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4176[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4176[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4176[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4696[rbp]
	movsd	QWORD PTR -4240[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3848[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4240[rbp]
	movsd	QWORD PTR -4232[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -3840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	movsd	QWORD PTR -3832[rbp], xmm0
	mov	rcx, QWORD PTR -4928[rbp]
	lea	rdx, -3856[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4528[rbp]
	jp	.L585
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4528[rbp]
	je	.L538
.L585:
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4528[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4528[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4528[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4168[rbp]
	mulsd	xmm0, QWORD PTR -4528[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4168[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4168[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4168[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4176[rbp]
	mulsd	xmm0, QWORD PTR -4528[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4176[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4176[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4176[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4696[rbp]
	movsd	QWORD PTR -4240[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3848[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4240[rbp]
	movsd	QWORD PTR -4232[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -3840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	movsd	QWORD PTR -3832[rbp], xmm0
	mov	rcx, QWORD PTR -4928[rbp]
	lea	rdx, -3856[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
.L538:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4552[rbp]
	jp	.L586
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4552[rbp]
	je	.L536
.L586:
	movsd	xmm0, QWORD PTR -4568[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -4432[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	mulsd	xmm0, QWORD PTR -4552[rbp]
	movsd	QWORD PTR -4160[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4432[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4432[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4432[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4552[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4552[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4552[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4160[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4152[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4872[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4872[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4872[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4152[rbp]
	mulsd	xmm0, QWORD PTR -4872[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4152[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4152[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4152[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4160[rbp]
	mulsd	xmm0, QWORD PTR -4872[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4160[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4160[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4160[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4696[rbp]
	movsd	QWORD PTR -4240[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3848[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4240[rbp]
	movsd	QWORD PTR -4232[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -3840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	movsd	QWORD PTR -3832[rbp], xmm0
	mov	rcx, QWORD PTR -4928[rbp]
	lea	rdx, -3856[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4536[rbp]
	jp	.L587
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4536[rbp]
	je	.L536
.L587:
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4536[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4536[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4808[rbp], xmm0
	movsd	xmm0, QWORD PTR -4536[rbp]
	subsd	xmm0, QWORD PTR -4808[rbp]
	movsd	QWORD PTR -4800[rbp], xmm0
	movsd	xmm0, QWORD PTR -4152[rbp]
	mulsd	xmm0, QWORD PTR -4536[rbp]
	movsd	QWORD PTR -4744[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4152[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4152[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4152[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -3856[rbp], xmm0
	movsd	xmm0, QWORD PTR -4160[rbp]
	mulsd	xmm0, QWORD PTR -4536[rbp]
	movsd	QWORD PTR -4704[rbp], xmm0
	movsd	xmm0, QWORD PTR splitter[rip]
	movsd	xmm1, QWORD PTR -4160[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -4840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4160[rbp]
	movsd	QWORD PTR -4832[rbp], xmm0
	movsd	xmm0, QWORD PTR -4840[rbp]
	subsd	xmm0, QWORD PTR -4832[rbp]
	movsd	QWORD PTR -4824[rbp], xmm0
	movsd	xmm0, QWORD PTR -4160[rbp]
	subsd	xmm0, QWORD PTR -4824[rbp]
	movsd	QWORD PTR -4816[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4704[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4792[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4808[rbp]
	movsd	xmm0, QWORD PTR -4792[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4784[rbp], xmm0
	movsd	xmm0, QWORD PTR -4824[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -4800[rbp]
	movsd	xmm0, QWORD PTR -4784[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -4776[rbp], xmm0
	movsd	xmm0, QWORD PTR -4816[rbp]
	mulsd	xmm0, QWORD PTR -4800[rbp]
	subsd	xmm0, QWORD PTR -4776[rbp]
	movsd	QWORD PTR -4696[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	addsd	xmm0, QWORD PTR -4696[rbp]
	movsd	QWORD PTR -4240[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4744[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4728[rbp], xmm0
	movsd	xmm0, QWORD PTR -4696[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -4720[rbp], xmm0
	movsd	xmm0, QWORD PTR -4744[rbp]
	subsd	xmm0, QWORD PTR -4728[rbp]
	movsd	QWORD PTR -4712[rbp], xmm0
	movsd	xmm0, QWORD PTR -4712[rbp]
	addsd	xmm0, QWORD PTR -4720[rbp]
	movsd	QWORD PTR -3848[rbp], xmm0
	movsd	xmm0, QWORD PTR -4704[rbp]
	addsd	xmm0, QWORD PTR -4240[rbp]
	movsd	QWORD PTR -4232[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	subsd	xmm0, QWORD PTR -4704[rbp]
	movsd	QWORD PTR -4736[rbp], xmm0
	movsd	xmm0, QWORD PTR -4240[rbp]
	subsd	xmm0, QWORD PTR -4736[rbp]
	movsd	QWORD PTR -3840[rbp], xmm0
	movsd	xmm0, QWORD PTR -4232[rbp]
	movsd	QWORD PTR -3832[rbp], xmm0
	mov	rcx, QWORD PTR -4928[rbp]
	lea	rdx, -3856[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 4
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
.L536:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4536[rbp]
	jp	.L588
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4536[rbp]
	je	.L543
.L588:
	lea	rdx, -3216[rbp]
	mov	rsi, QWORD PTR -4536[rbp]
	lea	rcx, -3632[rbp]
	mov	eax, DWORD PTR -4956[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -4952[rbp], eax
	mov	rdi, QWORD PTR -4928[rbp]
	lea	rcx, -3216[rbp]
	mov	edx, DWORD PTR -4952[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
.L543:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4528[rbp]
	jp	.L589
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4528[rbp]
	je	.L545
.L589:
	lea	rdx, -3216[rbp]
	mov	rsi, QWORD PTR -4528[rbp]
	lea	rcx, -3568[rbp]
	mov	eax, DWORD PTR -4948[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -4952[rbp], eax
	mov	rdi, QWORD PTR -4928[rbp]
	lea	rcx, -3216[rbp]
	mov	edx, DWORD PTR -4952[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
.L545:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -4520[rbp]
	jp	.L590
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -4520[rbp]
	je	.L547
.L590:
	lea	rdx, -3216[rbp]
	mov	rsi, QWORD PTR -4520[rbp]
	lea	rcx, -3504[rbp]
	mov	eax, DWORD PTR -4944[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 1
	call	scale_expansion_zeroelim
	mov	DWORD PTR -4952[rbp], eax
	mov	rdi, QWORD PTR -4928[rbp]
	lea	rcx, -3216[rbp]
	mov	edx, DWORD PTR -4952[rbp]
	mov	rsi, QWORD PTR -4936[rbp]
	mov	eax, DWORD PTR -5000[rbp]
	mov	r8, rdi
	mov	edi, eax
	mov	eax, 0
	call	fast_expansion_sum_zeroelim
	mov	DWORD PTR -5000[rbp], eax
	mov	rax, QWORD PTR -4936[rbp]
	mov	QWORD PTR -4264[rbp], rax
	mov	rax, QWORD PTR -4928[rbp]
	mov	QWORD PTR -4936[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	mov	QWORD PTR -4928[rbp], rax
.L547:
	mov	eax, DWORD PTR -5000[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -4936[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
.L549:
	movq	rax, xmm0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L550
	call	__stack_chk_fail@PLT
.L550:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	orient3dadapt, .-orient3dadapt
	.globl	orient3d
	.type	orient3d, @function
orient3d:
.LFB48:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -152[rbp], rdi
	mov	QWORD PTR -160[rbp], rsi
	mov	QWORD PTR -168[rbp], rdx
	mov	QWORD PTR -176[rbp], rcx
	mov	QWORD PTR -184[rbp], r8
	mov	QWORD PTR -192[rbp], r9
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	QWORD PTR -208[rbp], xmm1
	movsd	QWORD PTR -216[rbp], xmm2
	movsd	QWORD PTR -224[rbp], xmm3
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82800[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR 82800[rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -144[rbp], xmm0
	mov	rax, QWORD PTR -176[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -136[rbp], xmm0
	mov	rax, QWORD PTR -184[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -128[rbp], xmm0
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -120[rbp], xmm0
	mov	rax, QWORD PTR -176[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -112[rbp], xmm0
	mov	rax, QWORD PTR -184[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -200[rbp]
	subsd	xmm0, QWORD PTR -224[rbp]
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	subsd	xmm0, QWORD PTR -224[rbp]
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	subsd	xmm0, QWORD PTR -224[rbp]
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -104[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, QWORD PTR -112[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, QWORD PTR -120[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	mulsd	xmm0, QWORD PTR -104[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	mulsd	xmm0, QWORD PTR -112[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -120[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, QWORD PTR -88[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	mulsd	xmm0, QWORD PTR -80[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 84[rax]
	test	eax, eax
	je	.L595
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L596
.L595:
	movsd	xmm0, QWORD PTR -72[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L636
	movsd	xmm1, QWORD PTR -72[rbp]
	jmp	.L599
.L636:
	movsd	xmm0, QWORD PTR -72[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm1, xmm0
.L599:
	movsd	xmm0, QWORD PTR -64[rbp]
	pxor	xmm2, xmm2
	comisd	xmm0, xmm2
	jb	.L637
	movsd	xmm0, QWORD PTR -64[rbp]
	jmp	.L602
.L637:
	movsd	xmm0, QWORD PTR -64[rbp]
	movq	xmm2, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm2
.L602:
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	pxor	xmm2, xmm2
	comisd	xmm0, xmm2
	jb	.L638
	movsd	xmm0, QWORD PTR -96[rbp]
	jmp	.L605
.L638:
	movsd	xmm0, QWORD PTR -96[rbp]
	movq	xmm2, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm2
.L605:
	movapd	xmm2, xmm0
	mulsd	xmm2, xmm1
	movsd	xmm0, QWORD PTR -56[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L639
	movsd	xmm1, QWORD PTR -56[rbp]
	jmp	.L608
.L639:
	movsd	xmm0, QWORD PTR -56[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm1, xmm0
.L608:
	movsd	xmm0, QWORD PTR -48[rbp]
	pxor	xmm3, xmm3
	comisd	xmm0, xmm3
	jb	.L640
	movsd	xmm0, QWORD PTR -48[rbp]
	jmp	.L611
.L640:
	movsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm3, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm3
.L611:
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	pxor	xmm3, xmm3
	comisd	xmm0, xmm3
	jb	.L641
	movsd	xmm0, QWORD PTR -88[rbp]
	jmp	.L614
.L641:
	movsd	xmm0, QWORD PTR -88[rbp]
	movq	xmm3, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm3
.L614:
	mulsd	xmm0, xmm1
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L642
	movsd	xmm1, QWORD PTR -40[rbp]
	jmp	.L617
.L642:
	movsd	xmm0, QWORD PTR -40[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm1, xmm0
.L617:
	movsd	xmm0, QWORD PTR -32[rbp]
	pxor	xmm3, xmm3
	comisd	xmm0, xmm3
	jb	.L643
	movsd	xmm0, QWORD PTR -32[rbp]
	jmp	.L620
.L643:
	movsd	xmm0, QWORD PTR -32[rbp]
	movq	xmm3, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm3
.L620:
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	pxor	xmm3, xmm3
	comisd	xmm0, xmm3
	jb	.L644
	movsd	xmm0, QWORD PTR -80[rbp]
	jmp	.L623
.L644:
	movsd	xmm0, QWORD PTR -80[rbp]
	movq	xmm3, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm3
.L623:
	mulsd	xmm0, xmm1
	addsd	xmm0, xmm2
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR o3derrboundA[rip]
	movsd	xmm1, QWORD PTR -16[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, QWORD PTR -8[rbp]
	ja	.L624
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	xmm1, QWORD PTR .LC935[rip]
	xorpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L645
.L624:
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L596
.L645:
	movsd	xmm3, QWORD PTR -16[rbp]
	movsd	xmm2, QWORD PTR -224[rbp]
	movsd	xmm1, QWORD PTR -216[rbp]
	movsd	xmm0, QWORD PTR -208[rbp]
	mov	rdi, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	rsi, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -168[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rdi
	mov	rdi, rax
	mov	eax, 5
	call	orient3dadapt
	movq	rax, xmm0
.L596:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	orient3d, .-orient3d
	.globl	nonregular
	.type	nonregular, @function
nonregular:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -32[rbp], rcx
	mov	QWORD PTR -40[rbp], r8
	mov	QWORD PTR -48[rbp], r9
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L647
	mov	r8, QWORD PTR -48[rbp]
	mov	rdi, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	incircle
	movq	rax, xmm0
	jmp	.L648
.L647:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	eax, 1
	jne	.L649
	mov	rax, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 16
	movsd	xmm1, QWORD PTR [rax]
	movapd	xmm3, xmm0
	subsd	xmm3, xmm1
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	movsd	xmm1, QWORD PTR [rax]
	movapd	xmm5, xmm0
	subsd	xmm5, xmm1
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 16
	movsd	xmm1, QWORD PTR [rax]
	movapd	xmm4, xmm0
	subsd	xmm4, xmm1
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 16
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movq	rdi, xmm0
	mov	r9, QWORD PTR -48[rbp]
	mov	r8, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	movapd	xmm2, xmm5
	movapd	xmm1, xmm4
	movq	xmm0, rdi
	mov	rdi, rax
	mov	eax, 4
	call	orient3d
	movq	rax, xmm0
	jmp	.L648
.L649:
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 16
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 16
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 16
	mov	rdi, QWORD PTR [rax]
	mov	r9, QWORD PTR -48[rbp]
	mov	r8, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rdi
	mov	rdi, rax
	mov	eax, 4
	call	orient3d
	movq	rax, xmm0
.L648:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	nonregular, .-nonregular
	.globl	findcircumcenter
	.type	findcircumcenter, @function
findcircumcenter:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	QWORD PTR -128[rbp], rcx
	mov	QWORD PTR -136[rbp], r8
	mov	QWORD PTR -144[rbp], r9
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82816[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR 82816[rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	mov	rax, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 84[rax]
	test	eax, eax
	je	.L651
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC916[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	jmp	.L652
.L651:
	mov	rdi, QWORD PTR -120[rbp]
	mov	rcx, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -128[rbp]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movapd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC916[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82792[rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR 82792[rax], rdx
.L652:
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR -64[rbp]
	mulsd	xmm1, QWORD PTR -32[rbp]
	subsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -96[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	mulsd	xmm1, QWORD PTR -40[rbp]
	subsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -96[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	comisd	xmm0, QWORD PTR -40[rbp]
	jbe	.L653
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, QWORD PTR -40[rbp]
	jbe	.L653
	cmp	DWORD PTR 32[rbp], 0
	je	.L659
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR 152[rax]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	ja	.L668
	jmp	.L659
.L668:
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm0, xmm1
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR 152[rax]
	mulsd	xmm1, QWORD PTR -64[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR 152[rax]
	mulsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm2, xmm0
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm2
	comisd	xmm0, xmm1
	ja	.L669
	jmp	.L659
.L669:
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -80[rbp], xmm0
	jmp	.L659
.L653:
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, QWORD PTR -32[rbp]
	jbe	.L675
	cmp	DWORD PTR 32[rbp], 0
	je	.L659
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR 152[rax]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L659
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR 152[rax]
	mulsd	xmm0, QWORD PTR -48[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm0, xmm1
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR 152[rax]
	mulsd	xmm1, QWORD PTR -56[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm2, xmm0
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm2
	comisd	xmm0, xmm1
	jbe	.L659
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -80[rbp], xmm0
	jmp	.L659
.L675:
	cmp	DWORD PTR 32[rbp], 0
	je	.L659
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR 152[rax]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L659
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm0, xmm1
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm2, QWORD PTR 152[rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm1, xmm3
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm2, QWORD PTR 152[rax]
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm2, xmm0
	subsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	subsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	movapd	xmm3, xmm0
	subsd	xmm3, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	subsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, xmm3
	addsd	xmm0, xmm2
	comisd	xmm0, xmm1
	jbe	.L659
	movsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	addsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -80[rbp], xmm0
.L659:
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR [rax]
	addsd	xmm0, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	addsd	xmm0, QWORD PTR -80[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -80[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -96[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, xmm1
	mov	rax, QWORD PTR 16[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR -64[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -96[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, xmm1
	mov	rax, QWORD PTR 24[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	findcircumcenter, .-findcircumcenter
	.globl	triangleinit
	.type	triangleinit, @function
triangleinit:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	poolzero
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	poolzero
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 88
	mov	rdi, rax
	mov	eax, 0
	call	poolzero
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	poolzero
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 352
	mov	rdi, rax
	mov	eax, 0
	call	poolzero
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 440
	mov	rdi, rax
	mov	eax, 0
	call	poolzero
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 528
	mov	rdi, rax
	mov	eax, 0
	call	poolzero
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 616
	mov	rdi, rax
	mov	eax, 0
	call	poolzero
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 82888[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 82700[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 82776[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 82760[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 82764[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 82800[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 82800[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 82792[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 82792[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 82784[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 82816[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 82816[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 82824[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 82824[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 82808[rax], rdx
	mov	QWORD PTR randomseed[rip], 1
	mov	eax, 0
	call	exactinit
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	triangleinit, .-triangleinit
	.globl	randomnation
	.type	randomnation, @function
randomnation:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	rax, QWORD PTR randomseed[rip]
	imul	rax, rax, 1366
	lea	rcx, 150889[rax]
	movabs	rdx, 6772456536477737753
	mov	rax, rcx
	mul	rdx
	mov	rax, rdx
	shr	rax, 18
	imul	rdx, rax, 714025
	mov	rax, rcx
	sub	rax, rdx
	mov	QWORD PTR randomseed[rip], rax
	mov	rcx, QWORD PTR randomseed[rip]
	mov	esi, DWORD PTR -4[rbp]
	mov	eax, 714025
	cqo
	idiv	rsi
	add	rax, 1
	mov	rdi, rax
	mov	rax, rcx
	mov	edx, 0
	div	rdi
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	randomnation, .-randomnation
	.section	.rodata
	.align 8
.LC936:
	.string	"  Checking consistency of mesh..."
.LC937:
	.string	"  !! !! Inverted "
	.align 8
.LC938:
	.string	"  !! !! Asymmetric triangle-triangle bond:"
	.align 8
.LC939:
	.string	"   (Right triangle, wrong orientation)"
.LC940:
	.string	"    First "
	.align 8
.LC941:
	.string	"    Second (nonreciprocating) "
	.align 8
.LC942:
	.string	"  !! !! Mismatched edge coordinates between two triangles:"
.LC943:
	.string	"    First mismatched "
.LC944:
	.string	"    Second mismatched "
	.align 8
.LC945:
	.string	"  In my studied opinion, the mesh appears to be consistent."
	.align 8
.LC946:
	.string	"  !! !! !! !! Precisely one festering wound discovered."
	.align 8
.LC947:
	.string	"  !! !! !! !! %d abominations witnessed.\n"
	.text
	.globl	checkmesh
	.type	checkmesh, @function
checkmesh:
.LFB53:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 84[rax]
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 84[rax], 0
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L680
	lea	rdi, .LC936[rip]
	call	puts@PLT
.L680:
	mov	DWORD PTR -120[rbp], 0
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -64[rbp], rax
	jmp	.L681
.L691:
	mov	DWORD PTR -56[rbp], 0
	jmp	.L682
.L690:
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	eax, DWORD PTR -56[rbp]
	test	eax, eax
	jne	.L683
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rdi, QWORD PTR -96[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	pxor	xmm1, xmm1
	comisd	xmm1, xmm0
	jb	.L683
	lea	rdi, .LC937[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	add	DWORD PTR -120[rbp], 1
.L683:
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L685
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -32[rbp]
	cmp	rdx, rax
	jne	.L686
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	je	.L687
.L686:
	lea	rdi, .LC938[rip]
	call	puts@PLT
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -32[rbp]
	cmp	rdx, rax
	jne	.L688
	lea	rdi, .LC939[rip]
	call	puts@PLT
.L688:
	lea	rdi, .LC940[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC941[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -48[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	add	DWORD PTR -120[rbp], 1
.L687:
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	cmp	rax, QWORD PTR -72[rbp]
	jne	.L689
	mov	rax, QWORD PTR -104[rbp]
	cmp	rax, QWORD PTR -80[rbp]
	je	.L685
.L689:
	lea	rdi, .LC942[rip]
	call	puts@PLT
	lea	rdi, .LC943[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC944[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -48[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	add	DWORD PTR -120[rbp], 1
.L685:
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 1
	mov	DWORD PTR -56[rbp], eax
.L682:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, 2
	jle	.L690
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -64[rbp], rax
.L681:
	mov	rax, QWORD PTR -64[rbp]
	test	rax, rax
	jne	.L691
	cmp	DWORD PTR -120[rbp], 0
	jne	.L692
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L693
	lea	rdi, .LC945[rip]
	call	puts@PLT
	jmp	.L693
.L692:
	cmp	DWORD PTR -120[rbp], 1
	jne	.L694
	lea	rdi, .LC946[rip]
	call	puts@PLT
	jmp	.L693
.L694:
	mov	eax, DWORD PTR -120[rbp]
	mov	esi, eax
	lea	rdi, .LC947[rip]
	mov	eax, 0
	call	printf@PLT
.L693:
	mov	rax, QWORD PTR -144[rbp]
	mov	edx, DWORD PTR -116[rbp]
	mov	DWORD PTR 84[rax], edx
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L695
	call	__stack_chk_fail@PLT
.L695:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	checkmesh, .-checkmesh
	.section	.rodata
	.align 8
.LC948:
	.string	"  Checking Delaunay property of mesh..."
	.align 8
.LC949:
	.string	"  !! !! Non-Delaunay pair of triangles:"
.LC950:
	.string	"    First non-Delaunay "
.LC951:
	.string	"    Second non-Delaunay "
	.align 8
.LC952:
	.string	"  !! !! Non-regular pair of triangles:"
.LC953:
	.string	"    First non-regular "
.LC954:
	.string	"    Second non-regular "
	.align 8
.LC955:
	.string	"  By virtue of my perceptive intelligence, I declare the mesh Delaunay."
	.align 8
.LC956:
	.string	"  !! !! !! !! Precisely one terrifying transgression identified."
	.align 8
.LC957:
	.string	"  !! !! !! !! %d obscenities viewed with horror.\n"
	.text
	.globl	checkdelaunay
	.type	checkdelaunay, @function
checkdelaunay:
.LFB54:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 84[rax]
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 84[rax], 0
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L698
	lea	rdi, .LC948[rip]
	call	puts@PLT
.L698:
	mov	DWORD PTR -120[rbp], 0
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -64[rbp], rax
	jmp	.L699
.L709:
	mov	DWORD PTR -56[rbp], 0
	jmp	.L700
.L708:
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L701
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L701
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -48[rbp]
	cmp	rdx, rax
	jnb	.L701
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82832[rax]
	cmp	QWORD PTR -112[rbp], rax
	je	.L701
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82840[rax]
	cmp	QWORD PTR -112[rbp], rax
	je	.L701
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82848[rax]
	cmp	QWORD PTR -112[rbp], rax
	je	.L701
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82832[rax]
	cmp	QWORD PTR -104[rbp], rax
	je	.L701
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82840[rax]
	cmp	QWORD PTR -104[rbp], rax
	je	.L701
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82848[rax]
	cmp	QWORD PTR -104[rbp], rax
	je	.L701
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82832[rax]
	cmp	QWORD PTR -96[rbp], rax
	je	.L701
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82840[rax]
	cmp	QWORD PTR -96[rbp], rax
	je	.L701
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82848[rax]
	cmp	QWORD PTR -96[rbp], rax
	je	.L701
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82832[rax]
	cmp	QWORD PTR -80[rbp], rax
	je	.L701
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82840[rax]
	cmp	QWORD PTR -80[rbp], rax
	je	.L701
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82848[rax]
	cmp	QWORD PTR -80[rbp], rax
	je	.L701
	mov	eax, 1
	jmp	.L702
.L701:
	mov	eax, 0
.L702:
	mov	DWORD PTR -124[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 82760[rax]
	test	eax, eax
	je	.L703
	cmp	DWORD PTR -124[rbp], 0
	je	.L703
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L703
	mov	DWORD PTR -124[rbp], 0
.L703:
	cmp	DWORD PTR -124[rbp], 0
	je	.L704
	mov	r8, QWORD PTR -80[rbp]
	mov	rdi, QWORD PTR -96[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	nonregular
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm1, rax
	comisd	xmm1, xmm0
	jbe	.L704
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L706
	lea	rdi, .LC949[rip]
	call	puts@PLT
	lea	rdi, .LC950[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC951[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L707
.L706:
	lea	rdi, .LC952[rip]
	call	puts@PLT
	lea	rdi, .LC953[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC954[rip]
	mov	eax, 0
	call	printf@PLT
.L707:
	lea	rdx, -48[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	add	DWORD PTR -120[rbp], 1
.L704:
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 1
	mov	DWORD PTR -56[rbp], eax
.L700:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, 2
	jle	.L708
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -64[rbp], rax
.L699:
	mov	rax, QWORD PTR -64[rbp]
	test	rax, rax
	jne	.L709
	cmp	DWORD PTR -120[rbp], 0
	jne	.L710
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L711
	lea	rdi, .LC955[rip]
	call	puts@PLT
	jmp	.L711
.L710:
	cmp	DWORD PTR -120[rbp], 1
	jne	.L712
	lea	rdi, .LC956[rip]
	call	puts@PLT
	jmp	.L711
.L712:
	mov	eax, DWORD PTR -120[rbp]
	mov	esi, eax
	lea	rdi, .LC957[rip]
	mov	eax, 0
	call	printf@PLT
.L711:
	mov	rax, QWORD PTR -144[rbp]
	mov	edx, DWORD PTR -116[rbp]
	mov	DWORD PTR 84[rax], edx
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L713
	call	__stack_chk_fail@PLT
.L713:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	checkdelaunay, .-checkdelaunay
	.section	.rodata
.LC958:
	.string	"  Queueing bad triangle:"
	.align 8
.LC959:
	.string	"    (%.12g, %.12g) (%.12g, %.12g) (%.12g, %.12g)\n"
	.text
	.globl	enqueuebadtriang
	.type	enqueuebadtriang, @function
enqueuebadtriang:
.LFB55:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L716
	lea	rdi, .LC958[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 32[rax]
	add	rax, 8
	movsd	xmm4, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 32[rax]
	movsd	xmm3, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 24[rax]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 24[rax]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR [rax]
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC959[rip]
	mov	eax, 6
	call	printf@PLT
.L716:
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	movsd	xmm1, QWORD PTR .LC882[rip]
	comisd	xmm0, xmm1
	jb	.L733
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	DWORD PTR -24[rbp], 1
	jmp	.L719
.L733:
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	movsd	xmm0, QWORD PTR .LC882[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	mov	DWORD PTR -24[rbp], 0
.L719:
	mov	DWORD PTR -36[rbp], 0
	jmp	.L720
.L723:
	mov	DWORD PTR -32[rbp], 1
	movsd	xmm0, QWORD PTR .LC916[rip]
	movsd	QWORD PTR -8[rbp], xmm0
	jmp	.L721
.L722:
	sal	DWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -8[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
.L721:
	movsd	xmm0, QWORD PTR -16[rbp]
	mulsd	xmm0, QWORD PTR -8[rbp]
	mulsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC882[rip]
	comisd	xmm0, xmm1
	ja	.L722
	mov	eax, DWORD PTR -32[rbp]
	add	DWORD PTR -36[rbp], eax
	movsd	xmm0, QWORD PTR -16[rbp]
	mulsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
.L720:
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, QWORD PTR .LC921[rip]
	ja	.L723
	mov	eax, DWORD PTR -36[rbp]
	lea	edx, [rax+rax]
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, QWORD PTR .LC960[rip]
	seta	al
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	je	.L724
	mov	eax, 2047
	sub	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L725
.L724:
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 2048
	mov	DWORD PTR -28[rbp], eax
.L725:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	add	rdx, 88
	mov	rax, QWORD PTR [rax+rdx*8]
	test	rax, rax
	jne	.L726
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 82624[rax]
	cmp	DWORD PTR -28[rbp], eax
	jle	.L727
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 82624[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	movsx	rcx, ecx
	add	rcx, 16560
	mov	DWORD PTR [rax+rcx*4], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 82624[rax], edx
	jmp	.L728
.L727:
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	DWORD PTR -20[rbp], eax
	jmp	.L729
.L730:
	add	DWORD PTR -20[rbp], 1
.L729:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	add	rdx, 88
	mov	rax, QWORD PTR [rax+rdx*8]
	test	rax, rax
	je	.L730
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	add	rdx, 16560
	mov	edx, DWORD PTR [rax+rdx*4]
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	movsx	rcx, ecx
	add	rcx, 16560
	mov	DWORD PTR [rax+rcx*4], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	lea	rcx, 16560[rdx]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR [rax+rcx*4], edx
.L728:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	lea	rcx, 88[rdx]
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax+rcx*8], rdx
	jmp	.L731
.L726:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	add	rdx, 4184
	mov	rax, QWORD PTR [rax+rdx*8]
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR 40[rax], rdx
.L731:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	lea	rcx, 4184[rdx]
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax+rcx*8], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 40[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	enqueuebadtriang, .-enqueuebadtriang
	.globl	enqueuebadtri
	.type	enqueuebadtri, @function
enqueuebadtri:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	movsd	QWORD PTR -48[rbp], xmm0
	mov	QWORD PTR -56[rbp], rcx
	mov	QWORD PTR -64[rbp], r8
	mov	QWORD PTR -72[rbp], r9
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 440
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR 8[rax], xmm0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	enqueuebadtriang
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	enqueuebadtri, .-enqueuebadtri
	.globl	dequeuebadtriang
	.type	dequeuebadtriang, @function
dequeuebadtriang:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82624[rax]
	test	eax, eax
	jns	.L736
	mov	eax, 0
	jmp	.L737
.L736:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 82624[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	add	rdx, 88
	mov	rax, QWORD PTR [rax+rdx*8]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 82624[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rcx, ecx
	add	rcx, 88
	mov	QWORD PTR [rax+rcx*8], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 82624[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	add	rdx, 4184
	mov	rax, QWORD PTR [rax+rdx*8]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L738
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 82624[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	add	rdx, 16560
	mov	edx, DWORD PTR [rax+rdx*4]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 82624[rax], edx
.L738:
	mov	rax, QWORD PTR -8[rbp]
.L737:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	dequeuebadtriang, .-dequeuebadtriang
	.section	.rodata
	.align 8
.LC961:
	.string	"  Queueing encroached subsegment (%.12g, %.12g) (%.12g, %.12g).\n"
	.text
	.globl	checkseg4encroach
	.type	checkseg4encroach, @function
checkseg4encroach:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	DWORD PTR -88[rbp], 0
	mov	DWORD PTR -84[rbp], 0
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 2
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, 3
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L740
	add	DWORD PTR -84[rbp], 1
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -48[rbp]
	jbe	.L740
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 88[rax]
	test	eax, eax
	jne	.L742
	movsd	xmm0, QWORD PTR -48[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR 144[rax]
	addsd	xmm0, xmm0
	movsd	xmm3, QWORD PTR .LC882[rip]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR 144[rax]
	addsd	xmm0, xmm0
	movsd	xmm3, QWORD PTR .LC882[rip]
	subsd	xmm0, xmm3
	mulsd	xmm2, xmm0
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm4, QWORD PTR [rax]
	movapd	xmm3, xmm0
	subsd	xmm3, xmm4
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm4, QWORD PTR [rax]
	subsd	xmm0, xmm4
	mulsd	xmm3, xmm0
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm5, QWORD PTR [rax]
	movapd	xmm4, xmm0
	subsd	xmm4, xmm5
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm5, QWORD PTR [rax]
	subsd	xmm0, xmm5
	mulsd	xmm0, xmm4
	addsd	xmm0, xmm3
	mulsd	xmm2, xmm0
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm4, QWORD PTR [rax]
	movapd	xmm3, xmm0
	subsd	xmm3, xmm4
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm4, QWORD PTR [rax]
	subsd	xmm0, xmm4
	mulsd	xmm3, xmm0
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm5, QWORD PTR [rax]
	movapd	xmm4, xmm0
	subsd	xmm4, xmm5
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm5, QWORD PTR [rax]
	subsd	xmm0, xmm5
	mulsd	xmm0, xmm4
	addsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	comisd	xmm1, xmm0
	jb	.L740
.L742:
	mov	DWORD PTR -88[rbp], 1
.L740:
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, 1
	sub	eax, edx
	mov	DWORD PTR -8[rbp], eax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L744
	add	DWORD PTR -84[rbp], 1
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -48[rbp]
	jbe	.L744
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 88[rax]
	test	eax, eax
	jne	.L746
	movsd	xmm0, QWORD PTR -48[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR 144[rax]
	addsd	xmm0, xmm0
	movsd	xmm3, QWORD PTR .LC882[rip]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR 144[rax]
	addsd	xmm0, xmm0
	movsd	xmm3, QWORD PTR .LC882[rip]
	subsd	xmm0, xmm3
	mulsd	xmm2, xmm0
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm4, QWORD PTR [rax]
	movapd	xmm3, xmm0
	subsd	xmm3, xmm4
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm4, QWORD PTR [rax]
	subsd	xmm0, xmm4
	mulsd	xmm3, xmm0
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm5, QWORD PTR [rax]
	movapd	xmm4, xmm0
	subsd	xmm4, xmm5
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm5, QWORD PTR [rax]
	subsd	xmm0, xmm5
	mulsd	xmm0, xmm4
	addsd	xmm0, xmm3
	mulsd	xmm2, xmm0
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm4, QWORD PTR [rax]
	movapd	xmm3, xmm0
	subsd	xmm3, xmm4
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm4, QWORD PTR [rax]
	subsd	xmm0, xmm4
	mulsd	xmm3, xmm0
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm5, QWORD PTR [rax]
	movapd	xmm4, xmm0
	subsd	xmm4, xmm5
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm5, QWORD PTR [rax]
	subsd	xmm0, xmm5
	mulsd	xmm0, xmm4
	addsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	comisd	xmm1, xmm0
	jb	.L744
.L746:
	add	DWORD PTR -88[rbp], 2
.L744:
	cmp	DWORD PTR -88[rbp], 0
	je	.L748
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 128[rax]
	test	eax, eax
	je	.L749
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 128[rax]
	cmp	eax, 1
	jne	.L748
	cmp	DWORD PTR -84[rbp], 2
	jne	.L748
.L749:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L750
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC961[rip]
	mov	eax, 4
	call	printf@PLT
.L750:
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 352
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -40[rbp], rax
	cmp	DWORD PTR -88[rbp], 1
	jne	.L751
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L748
.L751:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	or	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 16[rax], rdx
.L748:
	mov	eax, DWORD PTR -88[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	checkseg4encroach, .-checkseg4encroach
	.globl	testtriangle
	.type	testtriangle, @function
testtriangle:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 336
	mov	QWORD PTR -312[rbp], rdi
	mov	QWORD PTR -320[rbp], rsi
	mov	QWORD PTR -328[rbp], rdx
	mov	rax, QWORD PTR -328[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -256[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -240[rbp], xmm0
	mov	rax, QWORD PTR -264[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -256[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -232[rbp], xmm0
	mov	rax, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -224[rbp], xmm0
	mov	rax, QWORD PTR -256[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -216[rbp], xmm0
	mov	rax, QWORD PTR -248[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -264[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -208[rbp], xmm0
	mov	rax, QWORD PTR -248[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -264[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	xmm0, QWORD PTR -240[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -192[rbp], xmm0
	movsd	xmm0, QWORD PTR -232[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -184[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -176[rbp], xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -168[rbp], xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -160[rbp], xmm0
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -152[rbp], xmm0
	movsd	xmm0, QWORD PTR -192[rbp]
	addsd	xmm0, QWORD PTR -184[rbp]
	movsd	QWORD PTR -144[rbp], xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	addsd	xmm0, QWORD PTR -168[rbp]
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	addsd	xmm0, QWORD PTR -152[rbp]
	movsd	QWORD PTR -128[rbp], xmm0
	movsd	xmm0, QWORD PTR -136[rbp]
	comisd	xmm0, QWORD PTR -144[rbp]
	jbe	.L756
	movsd	xmm0, QWORD PTR -128[rbp]
	comisd	xmm0, QWORD PTR -144[rbp]
	jbe	.L756
	movsd	xmm0, QWORD PTR -144[rbp]
	movsd	QWORD PTR -280[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mulsd	xmm0, QWORD PTR -200[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -272[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -136[rbp]
	mulsd	xmm1, QWORD PTR -128[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -272[rbp], xmm0
	mov	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -304[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -296[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L759
.L756:
	movsd	xmm0, QWORD PTR -128[rbp]
	comisd	xmm0, QWORD PTR -136[rbp]
	jbe	.L796
	movsd	xmm0, QWORD PTR -136[rbp]
	movsd	QWORD PTR -280[rbp], xmm0
	movsd	xmm0, QWORD PTR -240[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	mulsd	xmm0, QWORD PTR -200[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -272[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -144[rbp]
	mulsd	xmm1, QWORD PTR -128[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -272[rbp], xmm0
	mov	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -304[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -296[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L759
.L796:
	movsd	xmm0, QWORD PTR -128[rbp]
	movsd	QWORD PTR -280[rbp], xmm0
	movsd	xmm0, QWORD PTR -240[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -224[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -272[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -144[rbp]
	mulsd	xmm1, QWORD PTR -136[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -272[rbp], xmm0
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -304[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -296[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
.L759:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L762
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L762
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L763
.L762:
	movsd	xmm0, QWORD PTR -240[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	movsd	xmm1, QWORD PTR -232[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -120[rbp], xmm0
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L764
	mov	rax, QWORD PTR -320[rbp]
	movsd	xmm1, QWORD PTR 160[rax]
	movsd	xmm0, QWORD PTR -120[rbp]
	comisd	xmm0, xmm1
	jbe	.L764
	mov	r9, QWORD PTR -256[rbp]
	mov	r8, QWORD PTR -264[rbp]
	mov	rcx, QWORD PTR -248[rbp]
	mov	rdi, QWORD PTR -280[rbp]
	mov	rdx, QWORD PTR -328[rbp]
	mov	rsi, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	movq	xmm0, rdi
	mov	rdi, rax
	mov	eax, 1
	call	enqueuebadtri
	jmp	.L755
.L764:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L767
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -120[rbp]
	comisd	xmm0, xmm1
	jbe	.L767
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L767
	mov	r9, QWORD PTR -256[rbp]
	mov	r8, QWORD PTR -264[rbp]
	mov	rcx, QWORD PTR -248[rbp]
	mov	rdi, QWORD PTR -280[rbp]
	mov	rdx, QWORD PTR -328[rbp]
	mov	rsi, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	movq	xmm0, rdi
	mov	rdi, rax
	mov	eax, 1
	call	enqueuebadtri
	jmp	.L755
.L767:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L763
	mov	rsi, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -264[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 1
	call	triunsuitable
	test	eax, eax
	je	.L763
	mov	r9, QWORD PTR -256[rbp]
	mov	r8, QWORD PTR -264[rbp]
	mov	rcx, QWORD PTR -248[rbp]
	mov	rdi, QWORD PTR -280[rbp]
	mov	rdx, QWORD PTR -328[rbp]
	mov	rsi, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	movq	xmm0, rdi
	mov	rdi, rax
	mov	eax, 1
	call	enqueuebadtri
	jmp	.L755
.L763:
	mov	rax, QWORD PTR -320[rbp]
	movsd	xmm1, QWORD PTR 144[rax]
	movsd	xmm0, QWORD PTR -272[rbp]
	comisd	xmm0, xmm1
	jbe	.L755
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -304[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L772
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -296[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L772
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -112[rbp]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L772
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -24[rbp], eax
.L773:
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -104[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -112[rbp]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L773
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 4
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -8[rbp]
	mov	eax, 5
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
.L774:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -104[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -112[rbp]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L774
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 4
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -8[rbp]
	mov	eax, 5
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	QWORD PTR -288[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L775
	ucomisd	xmm0, xmm1
	jne	.L775
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L775
	ucomisd	xmm0, xmm1
	jne	.L775
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -288[rbp], rax
	jmp	.L778
.L775:
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L778
	ucomisd	xmm0, xmm1
	jne	.L778
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L778
	ucomisd	xmm0, xmm1
	jne	.L778
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -288[rbp], rax
.L778:
	cmp	QWORD PTR -288[rbp], 0
	je	.L772
	mov	rax, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -288[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -288[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -304[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -288[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -304[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -288[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	mov	rax, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -288[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -288[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -296[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -288[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -296[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -288[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC962[rip]
	mulsd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -64[rbp]
	jbe	.L772
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC963[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	comisd	xmm0, xmm1
	ja	.L797
.L772:
	mov	r9, QWORD PTR -256[rbp]
	mov	r8, QWORD PTR -264[rbp]
	mov	rcx, QWORD PTR -248[rbp]
	mov	rdi, QWORD PTR -280[rbp]
	mov	rdx, QWORD PTR -328[rbp]
	mov	rsi, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	movq	xmm0, rdi
	mov	rdi, rax
	mov	eax, 1
	call	enqueuebadtri
	jmp	.L755
.L797:
	nop
.L755:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	testtriangle, .-testtriangle
	.section	.rodata
	.align 8
.LC964:
	.string	"    Constructing mapping from vertices to triangles."
	.text
	.globl	makevertexmap
	.type	makevertexmap, @function
makevertexmap:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L799
	lea	rdi, .LC964[rip]
	call	puts@PLT
.L799:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -16[rbp], rax
	jmp	.L800
.L803:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L801
.L802:
	mov	rcx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 82744[rax]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 1
	mov	DWORD PTR -8[rbp], eax
.L801:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, 2
	jle	.L802
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -16[rbp], rax
.L800:
	mov	rax, QWORD PTR -16[rbp]
	test	rax, rax
	jne	.L803
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	makevertexmap, .-makevertexmap
	.section	.rodata
	.align 8
.LC965:
	.string	"  Searching for point (%.12g, %.12g).\n"
	.align 8
.LC966:
	.string	"    At (%.12g, %.12g) (%.12g, %.12g) (%.12g, %.12g)\n"
	.text
	.globl	preciselocate
	.type	preciselocate, @function
preciselocate:
.LFB61:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	QWORD PTR -128[rbp], rcx
	mov	DWORD PTR -132[rbp], r8d
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L805
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC965[rip]
	mov	eax, 2
	call	printf@PLT
.L805:
	mov	rax, QWORD PTR -128[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
.L826:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L806
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm4, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm3, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC966[rip]
	mov	eax, 6
	call	printf@PLT
.L806:
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L807
	ucomisd	xmm0, xmm1
	jne	.L807
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L807
	ucomisd	xmm0, xmm1
	jne	.L807
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 2
	jmp	.L827
.L807:
	mov	rdi, QWORD PTR -120[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -64[rbp], rax
	mov	rdi, QWORD PTR -120[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -56[rbp], rax
	movsd	xmm0, QWORD PTR -64[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L835
	movsd	xmm0, QWORD PTR -56[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L836
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	seta	al
	movzx	eax, al
	mov	DWORD PTR -92[rbp], eax
	jmp	.L815
.L836:
	mov	DWORD PTR -92[rbp], 1
	jmp	.L815
.L835:
	movsd	xmm0, QWORD PTR -56[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L837
	mov	DWORD PTR -92[rbp], 0
	jmp	.L815
.L837:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -64[rbp]
	jp	.L818
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -64[rbp]
	jne	.L818
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 1
	jmp	.L827
.L818:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jp	.L820
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jne	.L820
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 1
	jmp	.L827
.L820:
	mov	eax, 0
	jmp	.L827
.L815:
	cmp	DWORD PTR -92[rbp], 0
	je	.L822
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -80[rbp], rax
	jmp	.L823
.L822:
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -88[rbp], rax
.L823:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	and	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	xor	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82760[rax]
	test	eax, eax
	je	.L824
	cmp	DWORD PTR -132[rbp], 0
	je	.L824
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L824
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 3
	jmp	.L827
.L824:
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L825
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 3
	jmp	.L827
.L825:
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	jmp	.L826
.L827:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	preciselocate, .-preciselocate
	.section	.rodata
	.align 8
.LC967:
	.string	"  Randomly sampling for a triangle near point (%.12g, %.12g).\n"
	.align 8
.LC968:
	.string	"    Boundary triangle has origin (%.12g, %.12g).\n"
	.align 8
.LC969:
	.string	"    Choosing recent triangle with origin (%.12g, %.12g).\n"
	.align 8
.LC970:
	.string	"    Choosing triangle with origin (%.12g, %.12g).\n"
	.text
	.globl	locate
	.type	locate, @function
locate:
.LFB62:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	QWORD PTR -152[rbp], rdx
	mov	QWORD PTR -160[rbp], rcx
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L839
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC967[rip]
	mov	eax, 2
	call	printf@PLT
.L839:
	mov	rax, QWORD PTR -160[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -120[rbp], xmm0
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L840
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC968[rip]
	mov	eax, 2
	call	printf@PLT
.L840:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82888[rax]
	test	rax, rax
	je	.L847
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82888[rax]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L847
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR 82888[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 82896[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L842
	ucomisd	xmm0, xmm1
	jne	.L842
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L842
	ucomisd	xmm0, xmm1
	jne	.L842
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 82888[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR 82896[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 2
	jmp	.L866
.L842:
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -120[rbp]
	comisd	xmm0, QWORD PTR -72[rbp]
	jbe	.L841
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 82888[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR 82896[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	DWORD PTR 8[rax], edx
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -120[rbp], xmm0
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L847
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC969[rip]
	mov	eax, 2
	call	printf@PLT
.L841:
	jmp	.L847
.L848:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82776[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR 82776[rax], rdx
.L847:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 82776[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82776[rax]
	imul	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82776[rax]
	imul	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 64[rax]
	cmp	rdx, rax
	jl	.L848
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 82776[rax]
	mov	rax, rdx
	sal	rax, 10
	sub	rax, rdx
	sal	rax, 2
	lea	rcx, -1[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, QWORD PTR 72[rax]
	mov	rax, rcx
	cqo
	idiv	rsi
	add	rax, 1
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 82776[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 60[rax]
	cdqe
	imul	rax, rdx
	lea	rcx, -1[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, QWORD PTR 72[rax]
	mov	rax, rcx
	cqo
	idiv	rdi
	add	rax, 1
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82776[rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 60[rax]
	cdqe
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -128[rbp], rax
	mov	DWORD PTR -8[rbp], 0
	jmp	.L849
.L855:
	mov	rax, QWORD PTR -96[rbp]
	cmp	rax, QWORD PTR -88[rbp]
	jle	.L850
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -96[rbp], rax
.L850:
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 8
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 48[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 48[rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 0
	div	rcx
	mov	rax, rsi
	sub	rax, rdx
	mov	QWORD PTR -24[rbp], rax
.L854:
	mov	rax, QWORD PTR -96[rbp]
	mov	edi, eax
	mov	eax, 0
	call	randomnation
	mov	rdx, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR 52[rdx]
	movsx	rdx, edx
	imul	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L851
	mov	rcx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -120[rbp]
	comisd	xmm0, QWORD PTR -72[rbp]
	jbe	.L851
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -160[rbp]
	mov	DWORD PTR 8[rax], edx
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -120[rbp], xmm0
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L851
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC970[rip]
	mov	eax, 2
	call	printf@PLT
.L851:
	sub	QWORD PTR -104[rbp], 1
	sub	QWORD PTR -112[rbp], 1
	cmp	QWORD PTR -104[rbp], 0
	jle	.L853
	cmp	QWORD PTR -112[rbp], 0
	jg	.L854
.L853:
	cmp	QWORD PTR -112[rbp], 0
	jle	.L849
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	sub	QWORD PTR -88[rbp], rax
	mov	QWORD PTR -96[rbp], 4092
.L849:
	cmp	QWORD PTR -112[rbp], 0
	jg	.L855
	mov	rax, QWORD PTR -160[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L856
	ucomisd	xmm0, xmm1
	jne	.L856
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L856
	ucomisd	xmm0, xmm1
	jne	.L856
	mov	eax, 2
	jmp	.L866
.L856:
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L859
	ucomisd	xmm0, xmm1
	jne	.L859
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L859
	ucomisd	xmm0, xmm1
	jne	.L859
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 2
	jmp	.L866
.L859:
	mov	rdi, QWORD PTR -152[rbp]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rsi, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -48[rbp]
	jbe	.L877
	mov	rax, QWORD PTR -160[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	and	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -160[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	xor	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L864
.L877:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -48[rbp]
	jp	.L864
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -48[rbp]
	jne	.L864
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, xmm1
	seta	al
	xor	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, xmm1
	seta	al
	xor	eax, edx
	test	al, al
	je	.L864
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, xmm1
	seta	al
	xor	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, xmm1
	seta	al
	xor	eax, edx
	test	al, al
	je	.L864
	mov	eax, 1
	jmp	.L866
.L864:
	mov	rcx, QWORD PTR -160[rbp]
	mov	rdx, QWORD PTR -152[rbp]
	mov	rsi, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	r8d, 0
	mov	rdi, rax
	mov	eax, 0
	call	preciselocate
.L866:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	locate, .-locate
	.section	.rodata
.LC971:
	.string	"  Inserting new "
	.text
	.globl	insertsubseg
	.type	insertsubseg, @function
insertsubseg:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	DWORD PTR -108[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L879
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -80[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR [rdx], eax
.L879:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L880
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR [rdx], eax
.L880:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L881
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	makesubseg
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 2
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -24[rbp]
	mov	eax, 3
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 4
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -24[rbp]
	mov	eax, 5
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, 1
	sub	eax, edx
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 64[rax]
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L884
	lea	rdi, .LC971[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -32[rbp]
	mov	rcx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printsubseg
	jmp	.L884
.L881:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 64
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L884
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 64[rax]
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR [rdx], eax
.L884:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L883
	call	__stack_chk_fail@PLT
.L883:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	insertsubseg, .-insertsubseg
	.section	.rodata
.LC972:
	.string	"  Edge flip results in left "
.LC973:
	.string	"  and right "
	.text
	.globl	flip
	.type	flip, @function
flip:
.LFB64:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 304
	mov	QWORD PTR -280[rbp], rdi
	mov	QWORD PTR -288[rbp], rsi
	mov	QWORD PTR -296[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	and	eax, 3
	mov	DWORD PTR -152[rbp], eax
	mov	eax, DWORD PTR -152[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -160[rbp], rax
	mov	rdx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -184[rbp], eax
	mov	rdx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	and	eax, 3
	mov	DWORD PTR -104[rbp], eax
	mov	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -176[rbp], rax
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -168[rbp], eax
	mov	rdx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	and	eax, 3
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -216[rbp], eax
	mov	rdx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	and	eax, 3
	mov	DWORD PTR -136[rbp], eax
	mov	eax, DWORD PTR -136[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -200[rbp], eax
	mov	rdx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	and	eax, 3
	mov	DWORD PTR -120[rbp], eax
	mov	eax, DWORD PTR -120[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -224[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -176[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 82760[rax]
	test	eax, eax
	je	.L886
	mov	rdx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	and	eax, 1
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -232[rbp]
	and	rax, -4
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -216[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	and	eax, 1
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -232[rbp]
	and	rax, -4
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	and	eax, 1
	mov	DWORD PTR -56[rbp], eax
	mov	rax, QWORD PTR -232[rbp]
	and	rax, -4
	mov	QWORD PTR -64[rbp], rax
	mov	rdx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -232[rbp]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L887
	mov	rdx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L888
.L887:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -176[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L888:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L889
	mov	rdx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L890
.L889:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L890:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L891
	mov	rdx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -216[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L892
.L891:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -216[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -224[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L892:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L893
	mov	rdx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L886
.L893:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L886:
	mov	rax, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L896
	lea	rdi, .LC972[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -160[rbp]
	mov	rcx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC973[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
.L896:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L895
	call	__stack_chk_fail@PLT
.L895:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	flip, .-flip
	.section	.rodata
	.align 8
.LC974:
	.string	"  Edge unflip results in left "
	.text
	.globl	unflip
	.type	unflip, @function
unflip:
.LFB65:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 304
	mov	QWORD PTR -280[rbp], rdi
	mov	QWORD PTR -288[rbp], rsi
	mov	QWORD PTR -296[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	and	eax, 3
	mov	DWORD PTR -152[rbp], eax
	mov	eax, DWORD PTR -152[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -160[rbp], rax
	mov	rdx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -184[rbp], eax
	mov	rdx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	and	eax, 3
	mov	DWORD PTR -104[rbp], eax
	mov	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -176[rbp], rax
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -168[rbp], eax
	mov	rdx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	and	eax, 3
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -216[rbp], eax
	mov	rdx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	and	eax, 3
	mov	DWORD PTR -136[rbp], eax
	mov	eax, DWORD PTR -136[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -200[rbp], eax
	mov	rdx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	and	eax, 3
	mov	DWORD PTR -120[rbp], eax
	mov	eax, DWORD PTR -120[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -224[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -176[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 82760[rax]
	test	eax, eax
	je	.L898
	mov	rdx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	and	eax, 1
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -232[rbp]
	and	rax, -4
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -216[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	and	eax, 1
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -232[rbp]
	and	rax, -4
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	and	eax, 1
	mov	DWORD PTR -56[rbp], eax
	mov	rax, QWORD PTR -232[rbp]
	and	rax, -4
	mov	QWORD PTR -64[rbp], rax
	mov	rdx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -232[rbp]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L899
	mov	rdx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -216[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L900
.L899:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -216[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -224[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L900:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L901
	mov	rdx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L902
.L901:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L902:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L903
	mov	rdx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L904
.L903:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -176[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L904:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L905
	mov	rdx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L898
.L905:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L898:
	mov	rax, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L908
	lea	rdi, .LC974[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC973[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -160[rbp]
	mov	rcx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
.L908:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L907
	call	__stack_chk_fail@PLT
.L907:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	unflip, .-unflip
	.section	.rodata
.LC975:
	.string	"  Inserting (%.12g, %.12g).\n"
.LC976:
	.string	"  Updating bottom left "
.LC977:
	.string	"  Updating top left "
.LC978:
	.string	"  Creating top right "
.LC979:
	.string	"  Creating bottom right "
.LC980:
	.string	"  Updating top "
.LC981:
	.string	"  Creating left "
.LC982:
	.string	"  Creating right "
	.text
	.globl	insertvertex
	.type	insertvertex, @function
insertvertex:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 560
	mov	QWORD PTR -520[rbp], rdi
	mov	QWORD PTR -528[rbp], rsi
	mov	QWORD PTR -536[rbp], rdx
	mov	QWORD PTR -544[rbp], rcx
	mov	QWORD PTR -552[rbp], r8
	mov	DWORD PTR -556[rbp], r9d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -528[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 1
	jle	.L910
	mov	rax, QWORD PTR -536[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -536[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC975[rip]
	mov	eax, 2
	call	printf@PLT
.L910:
	cmp	QWORD PTR -552[rbp], 0
	jne	.L911
	mov	rax, QWORD PTR -544[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L912
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR -368[rbp], rax
	mov	DWORD PTR -360[rbp], 0
	mov	rdx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -360[rbp], eax
	mov	eax, DWORD PTR -360[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -368[rbp], rax
	lea	rcx, -368[rbp]
	mov	rdx, QWORD PTR -536[rbp]
	mov	rsi, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	locate
	mov	DWORD PTR -500[rbp], eax
	jmp	.L913
.L912:
	mov	rax, QWORD PTR -544[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -368[rbp], rax
	mov	rax, QWORD PTR -544[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -360[rbp], eax
	lea	rcx, -368[rbp]
	mov	rdx, QWORD PTR -536[rbp]
	mov	rsi, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	r8d, 1
	mov	rdi, rax
	mov	eax, 0
	call	preciselocate
	mov	DWORD PTR -500[rbp], eax
	jmp	.L913
.L911:
	mov	rax, QWORD PTR -544[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -368[rbp], rax
	mov	rax, QWORD PTR -544[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -360[rbp], eax
	mov	DWORD PTR -500[rbp], 1
.L913:
	cmp	DWORD PTR -500[rbp], 2
	jne	.L914
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -544[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -360[rbp]
	mov	rax, QWORD PTR -544[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	QWORD PTR 82888[rax], rdx
	mov	edx, DWORD PTR -360[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	DWORD PTR 82896[rax], edx
	mov	eax, 3
	jmp	.L975
.L914:
	cmp	DWORD PTR -500[rbp], 1
	je	.L916
	cmp	DWORD PTR -500[rbp], 3
	jne	.L917
.L916:
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82760[rax]
	test	eax, eax
	je	.L918
	cmp	QWORD PTR -552[rbp], 0
	jne	.L918
	mov	rdx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	and	eax, 1
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	and	rax, -4
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L918
	cmp	DWORD PTR -556[rbp], 0
	je	.L919
	mov	rax, QWORD PTR -528[rbp]
	mov	eax, DWORD PTR 128[rax]
	cmp	eax, 2
	setne	al
	movzx	eax, al
	mov	DWORD PTR -492[rbp], eax
	cmp	DWORD PTR -492[rbp], 0
	je	.L920
	mov	rax, QWORD PTR -528[rbp]
	mov	eax, DWORD PTR 128[rax]
	cmp	eax, 1
	jne	.L920
	mov	rdx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -152[rbp], eax
	mov	eax, DWORD PTR -152[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -160[rbp], rax
	mov	rdx, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -492[rbp], eax
.L920:
	cmp	DWORD PTR -492[rbp], 0
	je	.L919
	mov	rax, QWORD PTR -520[rbp]
	add	rax, 352
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -424[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -424[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 2
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -424[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rdx, QWORD PTR -80[rbp]
	mov	ecx, DWORD PTR -72[rbp]
	mov	eax, 3
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -424[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -528[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L919
	mov	rax, QWORD PTR -424[rbp]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -424[rbp]
	mov	rax, QWORD PTR 16[rax]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -424[rbp]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -424[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC961[rip]
	mov	eax, 4
	call	printf@PLT
.L919:
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -544[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -360[rbp]
	mov	rax, QWORD PTR -544[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	QWORD PTR 82888[rax], rdx
	mov	edx, DWORD PTR -360[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	DWORD PTR 82896[rax], edx
	mov	eax, 2
	jmp	.L975
.L918:
	mov	rax, QWORD PTR -368[rbp]
	mov	QWORD PTR -320[rbp], rax
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -312[rbp], eax
	mov	rdx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -200[rbp], eax
	mov	eax, DWORD PTR -200[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -208[rbp], rax
	mov	rdx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -280[rbp], eax
	mov	eax, DWORD PTR -280[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -288[rbp], rax
	mov	rdx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -484[rbp], eax
	cmp	DWORD PTR -484[rbp], 0
	je	.L921
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -280[rbp], eax
	mov	rdx, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -168[rbp], eax
	mov	eax, DWORD PTR -168[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -176[rbp], rax
	lea	rdx, -240[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	jmp	.L922
.L921:
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82728[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -520[rbp]
	mov	QWORD PTR 82728[rax], rdx
.L922:
	lea	rdx, -256[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	mov	rcx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -472[rbp], rax
	mov	rcx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -480[rbp], rax
	mov	rdx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -448[rbp], rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -448[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -536[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -536[rbp]
	mov	QWORD PTR [rdx], rax
	mov	DWORD PTR -488[rbp], 0
	jmp	.L923
.L924:
	mov	rdx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -488[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	esi, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -488[rbp]
	add	eax, esi
	cdqe
	sal	rax, 3
	add	rax, rcx
	movsd	xmm0, QWORD PTR [rdx]
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -488[rbp], 1
.L923:
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82720[rax]
	cmp	DWORD PTR -488[rbp], eax
	jl	.L924
	mov	rax, QWORD PTR -528[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L925
	mov	rdx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	movsd	xmm0, QWORD PTR [rdx]
	movsd	QWORD PTR [rax], xmm0
.L925:
	cmp	DWORD PTR -484[rbp], 0
	je	.L926
	mov	rcx, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -416[rbp], rax
	mov	rcx, QWORD PTR -240[rbp]
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -240[rbp]
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -416[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -240[rbp]
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -536[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -536[rbp]
	mov	QWORD PTR [rdx], rax
	mov	DWORD PTR -488[rbp], 0
	jmp	.L927
.L928:
	mov	rdx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -488[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rcx, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	esi, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -488[rbp]
	add	eax, esi
	cdqe
	sal	rax, 3
	add	rax, rcx
	movsd	xmm0, QWORD PTR [rdx]
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -488[rbp], 1
.L927:
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82720[rax]
	cmp	DWORD PTR -488[rbp], eax
	jl	.L928
	mov	rax, QWORD PTR -528[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L926
	mov	rdx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rcx, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	movsd	xmm0, QWORD PTR [rdx]
	movsd	QWORD PTR [rax], xmm0
.L926:
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82760[rax]
	test	eax, eax
	je	.L929
	mov	rdx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	and	eax, 1
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	and	rax, -4
	mov	QWORD PTR -128[rbp], rax
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L930
	mov	rdx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L930:
	cmp	DWORD PTR -484[rbp], 0
	je	.L929
	mov	rdx, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR -280[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	and	eax, 1
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	and	rax, -4
	mov	QWORD PTR -96[rbp], rax
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L929
	mov	rdx, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR -280[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -240[rbp]
	mov	eax, DWORD PTR -232[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L929:
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -248[rbp], eax
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -312[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -248[rbp], eax
	cmp	DWORD PTR -484[rbp], 0
	je	.L931
	mov	rax, QWORD PTR -176[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -240[rbp]
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -232[rbp], eax
	mov	rax, QWORD PTR -288[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -240[rbp]
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -232[rbp], eax
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -240[rbp]
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L931:
	cmp	QWORD PTR -552[rbp], 0
	je	.L932
	mov	rax, QWORD PTR -552[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -552[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, 3
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -536[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -552[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -552[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 4
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -408[rbp], rax
	mov	rax, QWORD PTR -552[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -552[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, 5
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -400[rbp], rax
	mov	rax, QWORD PTR -552[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, 1
	sub	edx, eax
	mov	rax, QWORD PTR -552[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -552[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -552[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	and	eax, 1
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	and	rax, -4
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 64
	mov	ecx, DWORD PTR [rax]
	lea	rdx, -256[rbp]
	mov	rsi, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	insertsubseg
	mov	rdx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 4
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -408[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -24[rbp]
	mov	eax, 5
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -400[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -552[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -552[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -552[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, 1
	sub	eax, edx
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -552[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, 1
	sub	edx, eax
	mov	rax, QWORD PTR -552[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -536[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L932
	mov	rax, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -520[rbp]
	mov	edx, DWORD PTR 82740[rdx]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -536[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR 64[rax]
	mov	DWORD PTR [rdx], eax
.L932:
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82764[rax]
	test	eax, eax
	je	.L933
	mov	rax, QWORD PTR -520[rbp]
	add	rax, 528
	mov	rdi, rax
	mov	eax, 0
	call	poolrestart
	mov	rax, QWORD PTR -520[rbp]
	add	rax, 528
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	rdx, QWORD PTR -520[rbp]
	mov	QWORD PTR 82632[rdx], rax
	mov	rax, QWORD PTR -368[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82632[rax]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82632[rax]
	lea	rdx, insertvertex[rip]
	mov	QWORD PTR 8[rax], rdx
.L933:
	mov	rax, QWORD PTR -528[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L934
	lea	rdi, .LC976[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -320[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	cmp	DWORD PTR -484[rbp], 0
	je	.L935
	lea	rdi, .LC977[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -288[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC978[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -240[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
.L935:
	lea	rdi, .LC979[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -256[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
.L934:
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -360[rbp], eax
	jmp	.L936
.L917:
	mov	rax, QWORD PTR -368[rbp]
	mov	QWORD PTR -336[rbp], rax
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -328[rbp], eax
	mov	rax, QWORD PTR -368[rbp]
	mov	QWORD PTR -320[rbp], rax
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -312[rbp], eax
	mov	rdx, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR -328[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -216[rbp], eax
	mov	eax, DWORD PTR -216[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -224[rbp], rax
	mov	rdx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -200[rbp], eax
	mov	eax, DWORD PTR -200[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -208[rbp], rax
	lea	rdx, -272[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	lea	rdx, -256[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	mov	rcx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -472[rbp], rax
	mov	rcx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -480[rbp], rax
	mov	rdx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -448[rbp], rax
	mov	rcx, QWORD PTR -272[rbp]
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -480[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -272[rbp]
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -448[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -272[rbp]
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -536[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -448[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -536[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -536[rbp]
	mov	QWORD PTR [rdx], rax
	mov	DWORD PTR -488[rbp], 0
	jmp	.L937
.L938:
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -488[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -432[rbp], xmm0
	mov	rdx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -488[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -432[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rdx, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -488[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -432[rbp]
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -488[rbp], 1
.L937:
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82720[rax]
	cmp	DWORD PTR -488[rbp], eax
	jl	.L938
	mov	rax, QWORD PTR -528[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L939
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -464[rbp], xmm0
	mov	rdx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -464[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rdx, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -464[rbp]
	movsd	QWORD PTR [rax], xmm0
.L939:
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82760[rax]
	test	eax, eax
	je	.L940
	mov	rdx, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR -328[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	and	eax, 1
	mov	DWORD PTR -136[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	and	rax, -4
	mov	QWORD PTR -144[rbp], rax
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L941
	mov	rdx, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR -328[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -272[rbp]
	mov	eax, DWORD PTR -264[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -272[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L941:
	mov	rdx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	and	eax, 1
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	and	rax, -4
	mov	QWORD PTR -128[rbp], rax
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L940
	mov	rdx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L940:
	mov	rax, QWORD PTR -224[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -272[rbp]
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -272[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -264[rbp], eax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -248[rbp], eax
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -272[rbp]
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -272[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -264[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR -328[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -336[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -328[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -272[rbp]
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -248[rbp], eax
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -312[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82764[rax]
	test	eax, eax
	je	.L942
	mov	rax, QWORD PTR -520[rbp]
	add	rax, 528
	mov	rdi, rax
	mov	eax, 0
	call	poolrestart
	mov	rax, QWORD PTR -520[rbp]
	add	rax, 528
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	rdx, QWORD PTR -520[rbp]
	mov	QWORD PTR 82632[rdx], rax
	mov	rax, QWORD PTR -368[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82632[rax]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82632[rax]
	mov	QWORD PTR 8[rax], 0
.L942:
	mov	rax, QWORD PTR -528[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L936
	lea	rdi, .LC980[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -368[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC981[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -272[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC982[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -256[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
.L936:
	mov	DWORD PTR -504[rbp], 0
	mov	rcx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -392[rbp], rax
	mov	rax, QWORD PTR -392[rbp]
	mov	QWORD PTR -472[rbp], rax
	mov	rcx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -480[rbp], rax
.L974:
	mov	DWORD PTR -496[rbp], 1
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82760[rax]
	test	eax, eax
	je	.L943
	mov	rdx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	and	eax, 1
	mov	DWORD PTR -56[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	and	rax, -4
	mov	QWORD PTR -64[rbp], rax
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L943
	mov	DWORD PTR -496[rbp], 0
	cmp	DWORD PTR -556[rbp], 0
	je	.L943
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	checkseg4encroach
	test	eax, eax
	je	.L943
	mov	DWORD PTR -504[rbp], 1
.L943:
	cmp	DWORD PTR -496[rbp], 0
	je	.L944
	mov	rdx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -344[rbp], eax
	mov	eax, DWORD PTR -344[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -352[rbp], rax
	mov	rdx, QWORD PTR -352[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L945
	mov	DWORD PTR -496[rbp], 0
	jmp	.L944
.L945:
	mov	rdx, QWORD PTR -352[rbp]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -384[rbp], rax
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82832[rax]
	cmp	QWORD PTR -480[rbp], rax
	je	.L946
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82840[rax]
	cmp	QWORD PTR -480[rbp], rax
	je	.L946
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82848[rax]
	cmp	QWORD PTR -480[rbp], rax
	jne	.L947
.L946:
	mov	rdi, QWORD PTR -384[rbp]
	mov	rcx, QWORD PTR -472[rbp]
	mov	rdx, QWORD PTR -536[rbp]
	mov	rsi, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm4, rax
	comisd	xmm4, xmm0
	seta	al
	movzx	eax, al
	mov	DWORD PTR -496[rbp], eax
	jmp	.L948
.L947:
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82832[rax]
	cmp	QWORD PTR -472[rbp], rax
	je	.L949
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82840[rax]
	cmp	QWORD PTR -472[rbp], rax
	je	.L949
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82848[rax]
	cmp	QWORD PTR -472[rbp], rax
	jne	.L950
.L949:
	mov	rdi, QWORD PTR -536[rbp]
	mov	rcx, QWORD PTR -480[rbp]
	mov	rdx, QWORD PTR -384[rbp]
	mov	rsi, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm5, rax
	comisd	xmm5, xmm0
	seta	al
	movzx	eax, al
	mov	DWORD PTR -496[rbp], eax
	jmp	.L948
.L950:
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82832[rax]
	cmp	QWORD PTR -384[rbp], rax
	je	.L951
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82840[rax]
	cmp	QWORD PTR -384[rbp], rax
	je	.L951
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82848[rax]
	cmp	QWORD PTR -384[rbp], rax
	jne	.L952
.L951:
	mov	DWORD PTR -496[rbp], 0
	jmp	.L948
.L952:
	mov	r8, QWORD PTR -384[rbp]
	mov	rdi, QWORD PTR -472[rbp]
	mov	rcx, QWORD PTR -536[rbp]
	mov	rdx, QWORD PTR -480[rbp]
	mov	rsi, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	incircle
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm6, rax
	comisd	xmm6, xmm0
	seta	al
	movzx	eax, al
	mov	DWORD PTR -496[rbp], eax
.L948:
	cmp	DWORD PTR -496[rbp], 0
	je	.L944
	mov	rax, QWORD PTR -352[rbp]
	mov	QWORD PTR -304[rbp], rax
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -296[rbp], eax
	mov	rdx, QWORD PTR -304[rbp]
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -184[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -352[rbp]
	mov	QWORD PTR -288[rbp], rax
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -280[rbp], eax
	mov	rdx, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -168[rbp], eax
	mov	eax, DWORD PTR -168[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -368[rbp]
	mov	QWORD PTR -336[rbp], rax
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -328[rbp], eax
	mov	rdx, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR -328[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -216[rbp], eax
	mov	eax, DWORD PTR -216[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -368[rbp]
	mov	QWORD PTR -320[rbp], rax
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -312[rbp], eax
	mov	rdx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -200[rbp], eax
	mov	eax, DWORD PTR -200[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -304[rbp]
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -304[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR -328[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -336[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -328[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -176[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -312[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -288[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82760[rax]
	test	eax, eax
	je	.L953
	mov	rdx, QWORD PTR -304[rbp]
	mov	eax, DWORD PTR -296[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	and	eax, 1
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	and	rax, -4
	mov	QWORD PTR -112[rbp], rax
	mov	rdx, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR -328[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	and	eax, 1
	mov	DWORD PTR -136[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	and	rax, -4
	mov	QWORD PTR -144[rbp], rax
	mov	rdx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	and	eax, 1
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	and	rax, -4
	mov	QWORD PTR -128[rbp], rax
	mov	rdx, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR -280[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	and	eax, 1
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	and	rax, -4
	mov	QWORD PTR -96[rbp], rax
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L954
	mov	rdx, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR -280[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L955
.L954:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR -280[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -288[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L955:
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L956
	mov	rdx, QWORD PTR -304[rbp]
	mov	eax, DWORD PTR -296[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L957
.L956:
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -304[rbp]
	mov	eax, DWORD PTR -296[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -304[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L957:
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L958
	mov	rdx, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR -328[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L959
.L958:
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR -328[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -336[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -328[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L959:
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L960
	mov	rdx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L953
.L960:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR -312[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -312[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L953:
	mov	rcx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -536[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -472[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -352[rbp]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -536[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -352[rbp]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -352[rbp]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -480[rbp]
	mov	QWORD PTR [rdx], rax
	mov	DWORD PTR -488[rbp], 0
	jmp	.L961
.L962:
	mov	rdx, QWORD PTR -352[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -488[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -488[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -432[rbp], xmm0
	mov	rdx, QWORD PTR -352[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -488[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -432[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -488[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -432[rbp]
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -488[rbp], 1
.L961:
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82720[rax]
	cmp	DWORD PTR -488[rbp], eax
	jl	.L962
	mov	rax, QWORD PTR -528[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L963
	mov	rdx, QWORD PTR -352[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jnb	.L964
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jb	.L977
.L964:
	movsd	xmm0, QWORD PTR .LC873[rip]
	movsd	QWORD PTR -464[rbp], xmm0
	jmp	.L967
.L977:
	mov	rdx, QWORD PTR -352[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -464[rbp], xmm0
.L967:
	mov	rdx, QWORD PTR -352[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -464[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -464[rbp]
	movsd	QWORD PTR [rax], xmm0
.L963:
	mov	rax, QWORD PTR -520[rbp]
	mov	eax, DWORD PTR 82764[rax]
	test	eax, eax
	je	.L968
	mov	rax, QWORD PTR -520[rbp]
	add	rax, 528
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -376[rbp], rax
	mov	rax, QWORD PTR -368[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	or	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -376[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -520[rbp]
	mov	rdx, QWORD PTR 82632[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -520[rbp]
	mov	rdx, QWORD PTR -376[rbp]
	mov	QWORD PTR 82632[rax], rdx
.L968:
	mov	rax, QWORD PTR -528[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L969
	lea	rdi, .LC972[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -296[rbp], eax
	lea	rdx, -304[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC973[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -368[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
.L969:
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -360[rbp], eax
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -480[rbp], rax
.L944:
	cmp	DWORD PTR -496[rbp], 0
	jne	.L974
	cmp	DWORD PTR 16[rbp], 0
	je	.L971
	lea	rdx, -368[rbp]
	mov	rcx, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	testtriangle
.L971:
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -360[rbp], eax
	mov	rdx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	and	eax, 3
	mov	DWORD PTR -152[rbp], eax
	mov	eax, DWORD PTR -152[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, rdx
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -480[rbp]
	cmp	rax, QWORD PTR -392[rbp]
	je	.L972
	mov	rdx, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L973
.L972:
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -544[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -544[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rdx, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR -520[rbp]
	mov	QWORD PTR 82888[rax], rdx
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -520[rbp]
	mov	DWORD PTR 82896[rax], edx
	mov	eax, DWORD PTR -504[rbp]
	jmp	.L975
.L973:
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -368[rbp], rax
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -360[rbp], eax
	mov	rax, QWORD PTR -480[rbp]
	mov	QWORD PTR -472[rbp], rax
	mov	rcx, QWORD PTR -368[rbp]
	mov	eax, DWORD PTR -360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -480[rbp], rax
	jmp	.L974
.L975:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L976
	call	__stack_chk_fail@PLT
.L976:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	insertvertex, .-insertvertex
	.section	.rodata
	.align 8
.LC983:
	.string	"  Triangulating interior polygon at edge"
	.align 8
.LC984:
	.string	"    (%.12g, %.12g) (%.12g, %.12g)\n"
	.align 8
.LC985:
	.string	"    Connecting edge to (%.12g, %.12g)\n"
	.text
	.globl	triangulatepolygon
	.type	triangulatepolygon, @function
triangulatepolygon:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	QWORD PTR -136[rbp], rdx
	mov	QWORD PTR -144[rbp], rcx
	mov	DWORD PTR -148[rbp], r8d
	mov	DWORD PTR -152[rbp], r9d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L979
	lea	rdi, .LC983[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC984[rip]
	mov	eax, 4
	call	printf@PLT
.L979:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -80[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -56[rbp], eax
	mov	DWORD PTR -112[rbp], 1
	mov	DWORD PTR -108[rbp], 2
	jmp	.L980
.L983:
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -80[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	r8, QWORD PTR -72[rbp]
	mov	rdi, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	incircle
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm4, rax
	comisd	xmm4, xmm0
	jbe	.L981
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR -112[rbp], eax
.L981:
	add	DWORD PTR -108[rbp], 1
.L980:
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, 1
	cmp	DWORD PTR -108[rbp], eax
	jl	.L983
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L984
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC985[rip]
	mov	eax, 2
	call	printf@PLT
.L984:
	cmp	DWORD PTR -112[rbp], 1
	jle	.L985
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -80[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -112[rbp]
	lea	r8d, 1[rax]
	lea	rcx, -32[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	sub	rsp, 8
	mov	edi, DWORD PTR 16[rbp]
	push	rdi
	mov	r9d, 1
	mov	rdi, rax
	mov	eax, 0
	call	triangulatepolygon
	add	rsp, 16
.L985:
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, 2
	cmp	DWORD PTR -112[rbp], eax
	jge	.L986
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -80[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, DWORD PTR -112[rbp]
	mov	r8d, eax
	mov	rcx, QWORD PTR -144[rbp]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	sub	rsp, 8
	mov	edi, DWORD PTR 16[rbp]
	push	rdi
	mov	r9d, 1
	mov	rdi, rax
	mov	eax, 0
	call	triangulatepolygon
	add	rsp, 16
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -80[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
.L986:
	cmp	DWORD PTR -152[rbp], 0
	je	.L987
	lea	rdx, -48[rbp]
	mov	rcx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	flip
	cmp	DWORD PTR 16[rbp], 0
	je	.L987
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -80[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	testtriangle
.L987:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 8[rax], edx
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L988
	call	__stack_chk_fail@PLT
.L988:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	triangulatepolygon, .-triangulatepolygon
	.section	.rodata
.LC986:
	.string	"  Deleting (%.12g, %.12g).\n"
	.text
	.globl	deletevertex
	.type	deletevertex, @function
deletevertex:
.LFB68:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 256
	mov	QWORD PTR -232[rbp], rdi
	mov	QWORD PTR -240[rbp], rsi
	mov	QWORD PTR -248[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -240[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 1
	jle	.L991
	mov	rax, QWORD PTR -208[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC986[rip]
	mov	eax, 2
	call	printf@PLT
.L991:
	mov	rdx, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	vertexdealloc
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -168[rbp], eax
	mov	rdx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	and	eax, 3
	mov	DWORD PTR -168[rbp], eax
	mov	eax, DWORD PTR -168[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -200[rbp]
	xor	rax, rdx
	mov	QWORD PTR -176[rbp], rax
	mov	DWORD PTR -212[rbp], 1
	jmp	.L992
.L993:
	add	DWORD PTR -212[rbp], 1
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -168[rbp], eax
	mov	rdx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	and	eax, 3
	mov	DWORD PTR -168[rbp], eax
	mov	eax, DWORD PTR -168[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -200[rbp]
	xor	rax, rdx
	mov	QWORD PTR -176[rbp], rax
.L992:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -176[rbp]
	cmp	rdx, rax
	jne	.L993
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -168[rbp]
	cmp	edx, eax
	jne	.L993
	cmp	DWORD PTR -212[rbp], 3
	jle	.L994
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -152[rbp], eax
	mov	rdx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	and	eax, 3
	mov	DWORD PTR -152[rbp], eax
	mov	eax, DWORD PTR -152[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -200[rbp]
	xor	rax, rdx
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	and	eax, 3
	mov	DWORD PTR -136[rbp], eax
	mov	eax, DWORD PTR -136[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -200[rbp]
	xor	rax, rdx
	mov	QWORD PTR -144[rbp], rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -136[rbp], eax
	mov	rax, QWORD PTR -240[rbp]
	mov	eax, DWORD PTR 128[rax]
	test	eax, eax
	sete	al
	movzx	edi, al
	mov	r8d, DWORD PTR -212[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -160[rbp]
	mov	rsi, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -232[rbp]
	sub	rsp, 8
	push	rdi
	mov	r9d, 0
	mov	rdi, rax
	mov	eax, 0
	call	triangulatepolygon
	add	rsp, 16
.L994:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	and	eax, 3
	mov	DWORD PTR -104[rbp], eax
	mov	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -200[rbp]
	xor	rax, rdx
	mov	QWORD PTR -112[rbp], rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -104[rbp], eax
	mov	rdx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	and	eax, 3
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -200[rbp]
	xor	rax, rdx
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	and	eax, 3
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -200[rbp]
	xor	rax, rdx
	mov	QWORD PTR -96[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -200[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	and	eax, 1
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -192[rbp]
	and	rax, -4
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L995
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L995:
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -192[rbp]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L996
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L996:
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -240[rbp]
	mov	eax, DWORD PTR 128[rax]
	test	eax, eax
	jne	.L997
	mov	rdx, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	testtriangle
.L997:
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	triangledealloc
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	triangledealloc
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L998
	call	__stack_chk_fail@PLT
.L998:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	deletevertex, .-deletevertex
	.globl	undovertex
	.type	undovertex, @function
undovertex:
.LFB69:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	QWORD PTR -232[rbp], rdi
	mov	QWORD PTR -240[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	jmp	.L1000
.L1005:
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 82632[rax]
	mov	rax, QWORD PTR [rax]
	and	eax, 3
	mov	DWORD PTR -184[rbp], eax
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 82632[rax]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	xor	rax, rdx
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 82632[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1001
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR -176[rbp], rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -168[rbp], eax
	mov	rdx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	and	eax, 3
	mov	DWORD PTR -168[rbp], eax
	mov	eax, DWORD PTR -168[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -224[rbp]
	xor	rax, rdx
	mov	QWORD PTR -176[rbp], rax
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -168[rbp], eax
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR -160[rbp], rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -152[rbp], eax
	mov	rdx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	and	eax, 3
	mov	DWORD PTR -152[rbp], eax
	mov	eax, DWORD PTR -152[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -224[rbp]
	xor	rax, rdx
	mov	QWORD PTR -160[rbp], rax
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -152[rbp], eax
	mov	rdx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	and	eax, 3
	mov	DWORD PTR -120[rbp], eax
	mov	eax, DWORD PTR -120[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -224[rbp]
	xor	rax, rdx
	mov	QWORD PTR -128[rbp], rax
	mov	rdx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	and	eax, 3
	mov	DWORD PTR -104[rbp], eax
	mov	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -224[rbp]
	xor	rax, rdx
	mov	QWORD PTR -112[rbp], rax
	mov	rcx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rdx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -200[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -184[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR -168[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	and	eax, 1
	mov	DWORD PTR -56[rbp], eax
	mov	rax, QWORD PTR -208[rbp]
	and	rax, -4
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -184[rbp], eax
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	and	eax, 1
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -208[rbp]
	and	rax, -4
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	triangledealloc
	mov	rdx, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	triangledealloc
	jmp	.L1002
.L1001:
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 82632[rax]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, insertvertex[rip]
	cmp	rax, rdx
	jne	.L1003
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	and	eax, 3
	mov	DWORD PTR -152[rbp], eax
	mov	eax, DWORD PTR -152[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -224[rbp]
	xor	rax, rdx
	mov	QWORD PTR -160[rbp], rax
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -152[rbp], eax
	mov	rdx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	and	eax, 3
	mov	DWORD PTR -104[rbp], eax
	mov	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -224[rbp]
	xor	rax, rdx
	mov	QWORD PTR -112[rbp], rax
	mov	rcx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -216[rbp], rax
	mov	rcx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -152[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	and	eax, 1
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -208[rbp]
	and	rax, -4
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	triangledealloc
	mov	rdx, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	and	eax, 3
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -224[rbp]
	xor	rax, rdx
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L1004
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	and	eax, 3
	mov	DWORD PTR -136[rbp], eax
	mov	eax, DWORD PTR -136[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -224[rbp]
	xor	rax, rdx
	mov	QWORD PTR -144[rbp], rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -136[rbp], eax
	mov	rdx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	and	eax, 3
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -224[rbp]
	xor	rax, rdx
	mov	QWORD PTR -96[rbp], rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -208[rbp]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	triangledealloc
.L1004:
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 82632[rax]
	mov	QWORD PTR 8[rax], 0
	jmp	.L1002
.L1003:
	lea	rdx, -192[rbp]
	mov	rcx, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	unflip
.L1002:
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 82632[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -232[rbp]
	mov	QWORD PTR 82632[rax], rdx
.L1000:
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 82632[rax]
	test	rax, rax
	jne	.L1005
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1006
	call	__stack_chk_fail@PLT
.L1006:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	undovertex, .-undovertex
	.globl	vertexsort
	.type	vertexsort, @function
vertexsort:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	cmp	DWORD PTR -60[rbp], 2
	jne	.L1008
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR [rax]
	comisd	xmm0, xmm1
	ja	.L1009
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1025
	ucomisd	xmm0, xmm1
	je	.L1022
	jmp	.L1025
.L1022:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	comisd	xmm0, xmm1
	ja	.L1009
	jmp	.L1025
.L1009:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1025
.L1008:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	mov	eax, 0
	call	randomnation
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -24[rbp], xmm0
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR 8[rax]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	DWORD PTR -36[rbp], -1
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L1014
.L1016:
	add	DWORD PTR -36[rbp], 1
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jg	.L1019
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, xmm1
	ja	.L1016
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR [rax]
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jp	.L1019
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jne	.L1019
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, xmm1
	ja	.L1016
.L1019:
	sub	DWORD PTR -32[rbp], 1
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jg	.L1018
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, QWORD PTR -24[rbp]
	ja	.L1019
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR [rax]
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jp	.L1018
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jne	.L1018
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, QWORD PTR -16[rbp]
	ja	.L1019
.L1018:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jge	.L1014
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -36[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
.L1014:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jl	.L1016
	cmp	DWORD PTR -36[rbp], 1
	jle	.L1021
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	vertexsort
.L1021:
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 2
	cmp	DWORD PTR -32[rbp], eax
	jge	.L1007
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, DWORD PTR -32[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	vertexsort
	jmp	.L1007
.L1025:
	nop
.L1007:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	vertexsort, .-vertexsort
	.globl	vertexmedian
	.type	vertexmedian, @function
vertexmedian:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	DWORD PTR -68[rbp], ecx
	cmp	DWORD PTR -60[rbp], 2
	jne	.L1027
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	comisd	xmm0, xmm1
	ja	.L1028
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1044
	ucomisd	xmm0, xmm1
	je	.L1041
	jmp	.L1044
.L1041:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, 1
	sub	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	eax, 1
	sub	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	comisd	xmm0, xmm1
	ja	.L1028
	jmp	.L1044
.L1028:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1044
.L1027:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	mov	eax, 0
	call	randomnation
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -24[rbp], xmm0
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, 1
	sub	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	DWORD PTR -36[rbp], -1
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L1033
.L1035:
	add	DWORD PTR -36[rbp], 1
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jg	.L1038
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, xmm1
	ja	.L1035
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jp	.L1038
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jne	.L1038
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, 1
	sub	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, xmm1
	ja	.L1035
.L1038:
	sub	DWORD PTR -32[rbp], 1
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jg	.L1037
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, QWORD PTR -24[rbp]
	ja	.L1038
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jp	.L1037
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jne	.L1037
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, 1
	sub	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, QWORD PTR -16[rbp]
	ja	.L1038
.L1037:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jge	.L1033
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -36[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
.L1033:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jl	.L1035
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jle	.L1040
	mov	ecx, DWORD PTR -68[rbp]
	mov	edx, DWORD PTR -64[rbp]
	mov	esi, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	vertexmedian
.L1040:
	mov	eax, DWORD PTR -64[rbp]
	sub	eax, 1
	cmp	DWORD PTR -32[rbp], eax
	jge	.L1026
	mov	eax, DWORD PTR -64[rbp]
	sub	eax, DWORD PTR -32[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, DWORD PTR -32[rbp]
	lea	esi, -1[rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdi, [rcx+rax]
	mov	eax, DWORD PTR -68[rbp]
	mov	ecx, eax
	mov	eax, 0
	call	vertexmedian
	jmp	.L1026
.L1044:
	nop
.L1026:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	vertexmedian, .-vertexmedian
	.globl	alternateaxes
	.type	alternateaxes, @function
alternateaxes:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	eax, DWORD PTR -28[rbp]
	sar	eax
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -28[rbp], 3
	jg	.L1046
	mov	DWORD PTR -32[rbp], 0
.L1046:
	mov	ecx, DWORD PTR -32[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	esi, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	vertexmedian
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, DWORD PTR -4[rbp]
	cmp	eax, 1
	jle	.L1049
	cmp	DWORD PTR -4[rbp], 1
	jle	.L1048
	mov	eax, 1
	sub	eax, DWORD PTR -32[rbp]
	mov	edx, eax
	mov	ecx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	alternateaxes
.L1048:
	mov	eax, 1
	sub	eax, DWORD PTR -32[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, DWORD PTR -4[rbp]
	mov	ecx, DWORD PTR -4[rbp]
	movsx	rcx, ecx
	lea	rsi, 0[0+rcx*8]
	mov	rcx, QWORD PTR -24[rbp]
	add	rcx, rsi
	mov	esi, eax
	mov	rdi, rcx
	mov	eax, 0
	call	alternateaxes
.L1049:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	alternateaxes, .-alternateaxes
	.section	.rodata
.LC987:
	.string	"  Creating base bounding "
.LC988:
	.string	"  Creating top bounding "
.LC989:
	.string	"  Connecting "
	.text
	.globl	mergehulls
	.type	mergehulls, @function
mergehulls:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 336
	mov	QWORD PTR -296[rbp], rdi
	mov	QWORD PTR -304[rbp], rsi
	mov	QWORD PTR -312[rbp], rdx
	mov	QWORD PTR -320[rbp], rcx
	mov	QWORD PTR -328[rbp], r8
	mov	QWORD PTR -336[rbp], r9
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -320[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -304[rbp]
	mov	eax, DWORD PTR 100[rax]
	test	eax, eax
	je	.L1064
	cmp	DWORD PTR 16[rbp], 1
	jne	.L1064
	mov	rax, QWORD PTR -312[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -336[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -336[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	jmp	.L1052
.L1053:
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -312[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -216[rbp], rax
.L1052:
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, xmm1
	ja	.L1053
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -160[rbp], rax
	jmp	.L1054
.L1055:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -160[rbp], rax
.L1054:
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -264[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	comisd	xmm0, xmm1
	ja	.L1055
	jmp	.L1056
.L1057:
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -328[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -328[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -240[rbp], rax
.L1056:
	mov	rax, QWORD PTR -240[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -256[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, xmm1
	ja	.L1057
	mov	rax, QWORD PTR -336[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -160[rbp], rax
	jmp	.L1058
.L1059:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -224[rbp]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -336[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -160[rbp], rax
.L1058:
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	comisd	xmm0, xmm1
	ja	.L1059
.L1064:
	mov	DWORD PTR -280[rbp], 0
	mov	rdi, QWORD PTR -256[rbp]
	mov	rcx, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR -264[rbp]
	mov	rsi, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm2, rax
	comisd	xmm2, xmm0
	jbe	.L1060
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -320[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -248[rbp], rax
	mov	DWORD PTR -280[rbp], 1
.L1060:
	mov	rdi, QWORD PTR -264[rbp]
	mov	rcx, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	rsi, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm3, rax
	comisd	xmm3, xmm0
	jbe	.L1062
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -328[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -328[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -240[rbp], rax
	mov	DWORD PTR -280[rbp], 1
.L1062:
	cmp	DWORD PTR -280[rbp], 0
	jne	.L1064
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -136[rbp], eax
	mov	eax, DWORD PTR -136[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -120[rbp], eax
	mov	eax, DWORD PTR -120[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -128[rbp], rax
	lea	rdx, -112[rbp]
	mov	rcx, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -104[rbp], eax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -304[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1065
	lea	rdi, .LC987[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -112[rbp]
	mov	rcx, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
.L1065:
	mov	rax, QWORD PTR -312[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	cmp	rax, QWORD PTR -232[rbp]
	jne	.L1066
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	DWORD PTR 8[rax], edx
.L1066:
	mov	rax, QWORD PTR -336[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -224[rbp]
	jne	.L1067
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	DWORD PTR 8[rax], edx
.L1067:
	mov	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rdx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -184[rbp], rax
	mov	rdx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -176[rbp], rax
.L1089:
	mov	rdi, QWORD PTR -192[rbp]
	mov	rcx, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	rsi, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	pxor	xmm1, xmm1
	comisd	xmm1, xmm0
	setnb	al
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	rdi, QWORD PTR -192[rbp]
	mov	rcx, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR -176[rbp]
	mov	rsi, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	pxor	xmm1, xmm1
	comisd	xmm1, xmm0
	setnb	al
	movzx	eax, al
	mov	DWORD PTR -268[rbp], eax
	cmp	DWORD PTR -272[rbp], 0
	je	.L1068
	cmp	DWORD PTR -268[rbp], 0
	je	.L1068
	lea	rdx, -96[rbp]
	mov	rcx, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -304[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1069
	lea	rdi, .LC988[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -96[rbp]
	mov	rcx, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
.L1069:
	mov	rax, QWORD PTR -304[rbp]
	mov	eax, DWORD PTR 100[rax]
	test	eax, eax
	je	.L1093
	cmp	DWORD PTR 16[rbp], 1
	jne	.L1093
	mov	rax, QWORD PTR -312[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -336[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -336[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -160[rbp], rax
	jmp	.L1071
.L1072:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -232[rbp]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -160[rbp], rax
.L1071:
	mov	rax, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -232[rbp]
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, xmm1
	ja	.L1072
	jmp	.L1073
.L1074:
	mov	rax, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -336[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -336[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -208[rbp]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -336[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
.L1073:
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -224[rbp]
	movsd	xmm1, QWORD PTR [rax]
	comisd	xmm0, xmm1
	ja	.L1074
	jmp	.L1093
.L1068:
	cmp	DWORD PTR -272[rbp], 0
	jne	.L1076
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -96[rbp], rax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	je	.L1076
	mov	r8, QWORD PTR -168[rbp]
	mov	rdi, QWORD PTR -184[rbp]
	mov	rcx, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR -200[rbp]
	mov	rsi, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	incircle
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm4, rax
	comisd	xmm4, xmm0
	seta	al
	movzx	eax, al
	mov	DWORD PTR -276[rbp], eax
	jmp	.L1077
.L1079:
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -136[rbp], eax
	mov	rdx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rcx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], 0
	mov	rdx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], 0
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -88[rbp], eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	je	.L1078
	mov	r8, QWORD PTR -168[rbp]
	mov	rdi, QWORD PTR -184[rbp]
	mov	rcx, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR -200[rbp]
	mov	rsi, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	incircle
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm5, rax
	comisd	xmm5, xmm0
	seta	al
	movzx	eax, al
	mov	DWORD PTR -276[rbp], eax
	jmp	.L1077
.L1078:
	mov	DWORD PTR -276[rbp], 0
.L1077:
	cmp	DWORD PTR -276[rbp], 0
	jne	.L1079
.L1076:
	cmp	DWORD PTR -268[rbp], 0
	jne	.L1080
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -96[rbp], rax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	je	.L1080
	mov	r8, QWORD PTR -168[rbp]
	mov	rdi, QWORD PTR -176[rbp]
	mov	rcx, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR -200[rbp]
	mov	rsi, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	incircle
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm6, rax
	comisd	xmm6, xmm0
	seta	al
	movzx	eax, al
	mov	DWORD PTR -276[rbp], eax
	jmp	.L1081
.L1083:
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -120[rbp], eax
	mov	rdx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], 0
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], 0
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -88[rbp], eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	je	.L1082
	mov	r8, QWORD PTR -168[rbp]
	mov	rdi, QWORD PTR -176[rbp]
	mov	rcx, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR -200[rbp]
	mov	rsi, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	incircle
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	comisd	xmm7, xmm0
	seta	al
	movzx	eax, al
	mov	DWORD PTR -276[rbp], eax
	jmp	.L1081
.L1082:
	mov	DWORD PTR -276[rbp], 0
.L1081:
	cmp	DWORD PTR -276[rbp], 0
	jne	.L1083
.L1080:
	cmp	DWORD PTR -272[rbp], 0
	jne	.L1084
	cmp	DWORD PTR -268[rbp], 0
	jne	.L1085
	mov	r8, QWORD PTR -176[rbp]
	mov	rdi, QWORD PTR -192[rbp]
	mov	rcx, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	rsi, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	incircle
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm2, rax
	comisd	xmm2, xmm0
	jbe	.L1085
.L1084:
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -104[rbp], eax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rdx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -120[rbp], eax
	mov	eax, DWORD PTR -120[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -128[rbp], rax
	mov	rdx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -176[rbp], rax
	jmp	.L1087
.L1085:
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -104[rbp], eax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -184[rbp]
	mov	QWORD PTR -200[rbp], rax
	mov	rdx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	and	eax, 3
	mov	DWORD PTR -136[rbp], eax
	mov	eax, DWORD PTR -136[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, rdx
	mov	QWORD PTR -144[rbp], rax
	mov	rdx, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -184[rbp], rax
.L1087:
	mov	rax, QWORD PTR -304[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1089
	lea	rdi, .LC989[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -112[rbp]
	mov	rcx, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	jmp	.L1089
.L1093:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1090
	call	__stack_chk_fail@PLT
.L1090:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	mergehulls, .-mergehulls
	.section	.rodata
.LC990:
	.string	"  Triangulating %d vertices.\n"
.LC991:
	.string	"  Creating "
	.align 8
.LC992:
	.string	"  Joining triangulations with %d and %d vertices.\n"
	.text
	.globl	divconqrecurse
	.type	divconqrecurse, @function
divconqrecurse:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	DWORD PTR -124[rbp], ecx
	mov	DWORD PTR -128[rbp], r8d
	mov	QWORD PTR -136[rbp], r9
	mov	rax, QWORD PTR 16[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1095
	mov	eax, DWORD PTR -124[rbp]
	mov	esi, eax
	lea	rdi, .LC990[rip]
	mov	eax, 0
	call	printf@PLT
.L1095:
	cmp	DWORD PTR -124[rbp], 2
	jne	.L1096
	mov	rdx, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -144[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	mov	rax, QWORD PTR -144[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1097
	lea	rdi, .LC991[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC991[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -144[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
.L1097:
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1094
.L1096:
	cmp	DWORD PTR -124[rbp], 3
	jne	.L1099
	lea	rdx, -80[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	lea	rdx, -48[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	lea	rdx, -32[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 16
	mov	rdi, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -88[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -88[rbp]
	jp	.L1100
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -88[rbp]
	jne	.L1100
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1102
.L1100:
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	movsd	xmm0, QWORD PTR -88[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L1115
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L1105
.L1115:
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
.L1105:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 8[rax], edx
	movsd	xmm0, QWORD PTR -88[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L1116
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1102
.L1116:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 8[rax], edx
.L1102:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1117
	lea	rdi, .LC991[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -80[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC991[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC991[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -48[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	lea	rdi, .LC991[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -32[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
	jmp	.L1117
.L1099:
	mov	eax, DWORD PTR -124[rbp]
	sar	eax
	mov	DWORD PTR -92[rbp], eax
	mov	eax, 1
	sub	eax, DWORD PTR -128[rbp]
	mov	r8d, eax
	mov	r9, QWORD PTR -136[rbp]
	mov	ecx, DWORD PTR -92[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	lea	rdi, -48[rbp]
	push	rdi
	mov	rdi, rax
	mov	eax, 0
	call	divconqrecurse
	add	rsp, 16
	mov	eax, 1
	sub	eax, DWORD PTR -128[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -124[rbp]
	sub	eax, DWORD PTR -92[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	lea	rdi, [rsi+rax]
	lea	r8, -32[rbp]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -144[rbp]
	mov	r9, r8
	mov	r8d, ecx
	mov	ecx, edx
	mov	rdx, rdi
	mov	rdi, rax
	mov	eax, 0
	call	divconqrecurse
	add	rsp, 16
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 1
	jle	.L1109
	mov	eax, DWORD PTR -124[rbp]
	sub	eax, DWORD PTR -92[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -92[rbp]
	mov	esi, eax
	lea	rdi, .LC992[rip]
	mov	eax, 0
	call	printf@PLT
.L1109:
	mov	r9, QWORD PTR -144[rbp]
	lea	r8, -32[rbp]
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	mov	edi, DWORD PTR -128[rbp]
	push	rdi
	mov	rdi, rax
	mov	eax, 0
	call	mergehulls
	add	rsp, 16
	jmp	.L1094
.L1117:
	nop
.L1094:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1111
	call	__stack_chk_fail@PLT
.L1111:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	divconqrecurse, .-divconqrecurse
	.section	.rodata
.LC993:
	.string	"  Removing ghost triangles."
	.text
	.globl	removeghosts
	.type	removeghosts, @function
removeghosts:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1119
	lea	rdi, .LC993[rip]
	call	puts@PLT
.L1119:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -24[rbp], eax
	mov	QWORD PTR -72[rbp], 0
.L1121:
	add	QWORD PTR -72[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1120
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L1120
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1120
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1
.L1120:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	triangledealloc
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jne	.L1121
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jne	.L1121
	mov	rax, QWORD PTR -72[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	removeghosts, .-removeghosts
	.section	.rodata
.LC994:
	.string	"  Sorting vertices."
	.align 8
.LC995:
	.string	"Warning:  A duplicate vertex at (%.12g, %.12g) appeared and was ignored.\n"
.LC996:
	.string	"  Forming triangulation."
	.text
	.globl	divconqdelaunay
	.type	divconqdelaunay, @function
divconqdelaunay:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 104
	.cfi_offset 3, -24
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1124
	lea	rdi, .LC994[rip]
	call	puts@PLT
.L1124:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82680[rax]
	sal	eax, 3
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	DWORD PTR -84[rbp], 0
	jmp	.L1125
.L1126:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	lea	rbx, [rdx+rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	vertextraverse
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -84[rbp], 1
.L1125:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82680[rax]
	cmp	DWORD PTR -84[rbp], eax
	jl	.L1126
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 82680[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	vertexsort
	mov	DWORD PTR -84[rbp], 0
	mov	DWORD PTR -80[rbp], 1
	jmp	.L1127
.L1133:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1128
	ucomisd	xmm0, xmm1
	jne	.L1128
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1128
	ucomisd	xmm0, xmm1
	jne	.L1128
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1131
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC995[rip]
	mov	eax, 2
	call	printf@PLT
.L1131:
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	DWORD PTR [rax], -32767
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82700[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 82700[rax], edx
	jmp	.L1132
.L1128:
	add	DWORD PTR -84[rbp], 1
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -84[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -72[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
.L1132:
	add	DWORD PTR -80[rbp], 1
.L1127:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82680[rax]
	cmp	DWORD PTR -80[rbp], eax
	jl	.L1133
	add	DWORD PTR -84[rbp], 1
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 100[rax]
	test	eax, eax
	je	.L1134
	mov	eax, DWORD PTR -84[rbp]
	sar	eax
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, DWORD PTR -76[rbp]
	cmp	eax, 1
	jle	.L1134
	cmp	DWORD PTR -76[rbp], 1
	jle	.L1135
	mov	ecx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	alternateaxes
.L1135:
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, DWORD PTR -76[rbp]
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -72[rbp]
	add	rcx, rdx
	mov	edx, 1
	mov	esi, eax
	mov	rdi, rcx
	mov	eax, 0
	call	alternateaxes
.L1134:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1136
	lea	rdi, .LC996[rip]
	call	puts@PLT
.L1136:
	lea	r8, -64[rbp]
	mov	ecx, DWORD PTR -84[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	lea	rdi, -48[rbp]
	push	rdi
	mov	r9, r8
	mov	r8d, 0
	mov	rdi, rax
	mov	eax, 0
	call	divconqrecurse
	add	rsp, 16
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	trifree
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	removeghosts
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L1138
	call	__stack_chk_fail@PLT
.L1138:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	divconqdelaunay, .-divconqdelaunay
	.section	.rodata
	.align 8
.LC997:
	.string	"  Creating triangular bounding box."
	.text
	.globl	boundingbox
	.type	boundingbox, @function
boundingbox:
.LFB77:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1142
	lea	rdi, .LC997[rip]
	call	puts@PLT
.L1142:
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR 82648[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR 82640[rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR 82664[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR 82656[rax]
	subsd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -40[rbp]
	jbe	.L1143
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR 82664[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR 82656[rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
.L1143:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -40[rbp]
	jp	.L1145
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -40[rbp]
	jne	.L1145
	movsd	xmm0, QWORD PTR .LC882[rip]
	movsd	QWORD PTR -40[rbp], xmm0
.L1145:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 228[rax]
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 82832[rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 228[rax]
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 82840[rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 228[rax]
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 82848[rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR 82640[rax]
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR .LC998[rip]
	mulsd	xmm1, xmm2
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82832[rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR 82656[rax]
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR .LC999[rip]
	mulsd	xmm1, xmm2
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82832[rax]
	add	rax, 8
	subsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR 82648[rax]
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR .LC998[rip]
	mulsd	xmm0, xmm2
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82840[rax]
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR 82656[rax]
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR .LC999[rip]
	mulsd	xmm1, xmm2
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82840[rax]
	add	rax, 8
	subsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR 82640[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR 82648[rax]
	addsd	xmm1, xmm0
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82848[rax]
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR 82664[rax]
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR .LC1000[rip]
	mulsd	xmm0, xmm2
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82848[rax]
	add	rax, 8
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	lea	rdx, -32[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82832[rax]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82840[rax]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82848[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1151
	lea	rdi, .LC991[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -32[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	printtriangle
.L1151:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1148
	call	__stack_chk_fail@PLT
.L1148:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	boundingbox, .-boundingbox
	.section	.rodata
	.align 8
.LC1001:
	.string	"  Removing triangular bounding box."
	.text
	.globl	removebox
	.type	removebox, @function
removebox:
.LFB78:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1153
	lea	rdi, .LC1001[rip]
	call	puts@PLT
.L1153:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -112[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -112[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	and	eax, 3
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -112[rbp]
	xor	rax, rdx
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -112[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1154
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	and	eax, 3
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -112[rbp]
	xor	rax, rdx
	mov	QWORD PTR -80[rbp], rax
.L1154:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rax], rdx
	mov	QWORD PTR -120[rbp], -2
	jmp	.L1155
.L1157:
	add	QWORD PTR -120[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -8[rbp], eax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	and	eax, 3
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -112[rbp]
	xor	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1156
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L1156
	mov	rcx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1156
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1
.L1156:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -112[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	triangledealloc
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1155
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -40[rbp], eax
.L1155:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -32[rbp]
	cmp	rdx, rax
	jne	.L1157
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	jne	.L1157
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	triangledealloc
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82832[rax]
	mov	rdi, rax
	mov	eax, 0
	call	trifree
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82840[rax]
	mov	rdi, rax
	mov	eax, 0
	call	trifree
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 82848[rax]
	mov	rdi, rax
	mov	eax, 0
	call	trifree
	mov	rax, QWORD PTR -120[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	removebox, .-removebox
	.section	.rodata
	.align 8
.LC1002:
	.string	"  Incrementally inserting vertices."
	.text
	.globl	incrementaldelaunay
	.type	incrementaldelaunay, @function
incrementaldelaunay:
.LFB79:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	boundingbox
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1160
	lea	rdi, .LC1002[rip]
	call	puts@PLT
.L1160:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	vertextraverse
	mov	QWORD PTR -40[rbp], rax
	jmp	.L1161
.L1164:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -32[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	sub	rsp, 8
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	rdi, rax
	mov	eax, 0
	call	insertvertex
	add	rsp, 16
	cmp	eax, 3
	jne	.L1162
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1163
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC995[rip]
	mov	eax, 2
	call	printf@PLT
.L1163:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], -32767
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 82700[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 82700[rax], edx
.L1162:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	vertextraverse
	mov	QWORD PTR -40[rbp], rax
.L1161:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L1164
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	removebox
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1166
	call	__stack_chk_fail@PLT
.L1166:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	incrementaldelaunay, .-incrementaldelaunay
	.globl	eventheapinsert
	.type	eventheapinsert, @function
eventheapinsert:
.LFB80:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	movsd	QWORD PTR -8[rbp], xmm0
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	setg	al
	movzx	eax, al
	mov	DWORD PTR -24[rbp], eax
	jmp	.L1168
.L1173:
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	sar	eax
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR 8[rax]
	movsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm0, xmm1
	ja	.L1169
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR 8[rax]
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jp	.L1170
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jne	.L1170
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, xmm1
	jb	.L1170
.L1169:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L1168
.L1170:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	setg	al
	movzx	eax, al
	mov	DWORD PTR -24[rbp], eax
.L1168:
	cmp	DWORD PTR -24[rbp], 0
	jne	.L1173
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 24[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	eventheapinsert, .-eventheapinsert
	.globl	eventheapify
	.type	eventheapify, @function
eventheapify:
.LFB81:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	movsd	QWORD PTR -8[rbp], xmm0
	mov	eax, DWORD PTR -64[rbp]
	add	eax, eax
	add	eax, 1
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	setl	al
	movzx	eax, al
	mov	DWORD PTR -32[rbp], eax
	jmp	.L1176
.L1187:
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR 8[rax]
	movsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm0, xmm1
	ja	.L1177
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR 8[rax]
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jp	.L1178
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jne	.L1178
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, xmm1
	jbe	.L1178
.L1177:
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -36[rbp], eax
	jmp	.L1181
.L1178:
	mov	eax, DWORD PTR -64[rbp]
	mov	DWORD PTR -36[rbp], eax
.L1181:
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jge	.L1182
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR 8[rax]
	comisd	xmm0, xmm1
	ja	.L1183
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR 8[rax]
	ucomisd	xmm0, xmm1
	jp	.L1182
	ucomisd	xmm0, xmm1
	jne	.L1182
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, xmm1
	jbe	.L1182
.L1183:
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -36[rbp], eax
.L1182:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jne	.L1186
	mov	DWORD PTR -32[rbp], 0
	jmp	.L1176
.L1186:
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -64[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -64[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	add	eax, eax
	add	eax, 1
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	setl	al
	movzx	eax, al
	mov	DWORD PTR -32[rbp], eax
.L1176:
	cmp	DWORD PTR -32[rbp], 0
	jne	.L1187
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	eventheapify, .-eventheapify
	.globl	eventheapdelete
	.type	eventheapdelete, @function
eventheapdelete:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	DWORD PTR -48[rbp], 0
	jle	.L1191
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	movsd	QWORD PTR -8[rbp], xmm0
.L1197:
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, 1
	sar	eax
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR 8[rax]
	movsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm0, xmm1
	ja	.L1192
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR 8[rax]
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jp	.L1193
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jne	.L1193
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, xmm1
	jb	.L1193
.L1192:
	mov	DWORD PTR -32[rbp], 0
	jmp	.L1196
.L1193:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -48[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -48[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	setg	al
	movzx	eax, al
	mov	DWORD PTR -32[rbp], eax
.L1196:
	cmp	DWORD PTR -32[rbp], 0
	jne	.L1197
.L1191:
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -48[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	eax, DWORD PTR -44[rbp]
	lea	ecx, -1[rax]
	mov	edx, DWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	eventheapify
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	eventheapdelete, .-eventheapdelete
	.globl	createeventheap
	.type	createeventheap, @function
createeventheap:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 82680[rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	sal	eax, 3
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -12[rbp]
	sal	eax, 5
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1200
.L1201:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	vertextraverse
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 5
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 5
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR [rdx], xmm0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 5
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	movsd	QWORD PTR 8[rdx], xmm0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 5
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR -16[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	eventheapinsert
	add	DWORD PTR -16[rbp], 1
.L1200:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82680[rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L1201
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], 0
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	mov	DWORD PTR -16[rbp], eax
	jmp	.L1202
.L1203:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 5
	add	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 5
	add	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	sub	DWORD PTR -16[rbp], 1
.L1202:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82680[rax]
	cmp	DWORD PTR -16[rbp], eax
	jge	.L1203
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	createeventheap, .-createeventheap
	.globl	rightofhyperbola
	.type	rightofhyperbola, @function
rightofhyperbola:
.LFB84:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 82808[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 82808[rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, xmm1
	ja	.L1205
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1206
	ucomisd	xmm0, xmm1
	jne	.L1206
	mov	rax, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, xmm1
	jbe	.L1206
.L1205:
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR [rax]
	comisd	xmm0, xmm1
	jb	.L1212
	mov	eax, 1
	jmp	.L1211
.L1206:
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, xmm1
	jb	.L1212
	mov	eax, 0
	jmp	.L1211
.L1212:
	mov	rax, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	movapd	xmm2, xmm0
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm2
	mulsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm1, xmm0
	seta	al
	movzx	eax, al
.L1211:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	rightofhyperbola, .-rightofhyperbola
	.globl	circletop
	.type	circletop, @function
circletop:
.LFB85:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	QWORD PTR -112[rbp], rcx
	movsd	QWORD PTR -120[rbp], xmm0
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82824[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 82824[rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	mov	rax, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	movsd	xmm4, QWORD PTR [rax]
	movsd	QWORD PTR -128[rbp], xmm4
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, QWORD PTR -16[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	mulsd	xmm1, QWORD PTR -24[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	mulsd	xmm0, QWORD PTR -16[rbp]
	movapd	xmm3, xmm0
	mulsd	xmm3, QWORD PTR -8[rbp]
	movq	rax, xmm3
	movq	xmm0, rax
	call	sqrt@PLT
	movsd	xmm1, QWORD PTR -136[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -120[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	divsd	xmm1, xmm2
	movapd	xmm0, xmm1
	addsd	xmm0, QWORD PTR -128[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	circletop, .-circletop
	.globl	check4deadevent
	.type	check4deadevent, @function
check4deadevent:
.LFB86:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	QWORD PTR -64[rbp], rcx
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L1221
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	eventheapdelete
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], 0
.L1221:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	check4deadevent, .-check4deadevent
	.globl	splay
	.type	splay, @function
splay:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	QWORD PTR -96[rbp], rcx
	cmp	QWORD PTR -80[rbp], 0
	jne	.L1223
	mov	eax, 0
	jmp	.L1224
.L1223:
	mov	rax, QWORD PTR -80[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -24[rbp], rax
	jne	.L1225
	mov	rcx, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	rightofhyperbola
	mov	DWORD PTR -56[rbp], eax
	cmp	DWORD PTR -56[rbp], 0
	je	.L1226
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1227
.L1226:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -48[rbp], rax
.L1227:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1228
	mov	rax, QWORD PTR -80[rbp]
	jmp	.L1224
.L1228:
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -24[rbp], rax
	je	.L1229
	mov	rcx, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	splay
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1229
	cmp	DWORD PTR -56[rbp], 0
	je	.L1230
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 32[rax], 0
	jmp	.L1231
.L1230:
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 24[rax], 0
.L1231:
	mov	rax, QWORD PTR -80[rbp]
	jmp	.L1224
.L1229:
	mov	rcx, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	rightofhyperbola
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	je	.L1232
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR 32[rax]
	mov	rcx, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	splay
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 32[rax], rdx
	jmp	.L1233
.L1232:
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR 24[rax]
	mov	rcx, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	splay
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
.L1233:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L1234
	cmp	DWORD PTR -56[rbp], 0
	je	.L1235
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L1236
.L1235:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 32[rax], rdx
.L1236:
	mov	rax, QWORD PTR -48[rbp]
	jmp	.L1224
.L1234:
	cmp	DWORD PTR -52[rbp], 0
	je	.L1237
	cmp	DWORD PTR -56[rbp], 0
	je	.L1238
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L1239
.L1238:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 32[rax], rdx
.L1239:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L1240
.L1237:
	cmp	DWORD PTR -56[rbp], 0
	je	.L1241
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L1242
.L1241:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 32[rax], rdx
.L1242:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 32[rax], rdx
.L1240:
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L1224
.L1225:
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, QWORD PTR 24[rax]
	mov	rcx, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	splay
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, QWORD PTR 32[rax]
	mov	rcx, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	splay
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 616[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	pooldealloc
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1243
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L1224
.L1243:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1244
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L1224
.L1244:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	jne	.L1245
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L1224
.L1245:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L1246
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L1224
.L1246:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1247
.L1248:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -32[rbp], rax
.L1247:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	jne	.L1248
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
.L1224:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	splay, .-splay
	.globl	splayinsert
	.type	splayinsert, @function
splayinsert:
.LFB88:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 616
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	cmp	QWORD PTR -32[rbp], 0
	jne	.L1250
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], 0
	jmp	.L1251
.L1250:
	mov	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	rightofhyperbola
	test	eax, eax
	je	.L1252
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 32[rax], 0
	jmp	.L1251
.L1252:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], 0
.L1251:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	splayinsert, .-splayinsert
	.globl	circletopinsert
	.type	circletopinsert, @function
circletopinsert:
.LFB89:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	QWORD PTR -136[rbp], rdx
	mov	QWORD PTR -144[rbp], rcx
	mov	QWORD PTR -152[rbp], r8
	mov	QWORD PTR -160[rbp], r9
	movsd	QWORD PTR -176[rbp], xmm0
	mov	rax, QWORD PTR 16[rbp]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdi, QWORD PTR -168[rbp]
	mov	rcx, QWORD PTR -160[rbp]
	mov	rdx, QWORD PTR -152[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	mov	rax, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	mov	rax, QWORD PTR -168[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, QWORD PTR -56[rbp]
	movsd	xmm2, QWORD PTR -72[rbp]
	movapd	xmm3, xmm2
	mulsd	xmm3, QWORD PTR -64[rbp]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	movsd	xmm0, QWORD PTR -104[rbp]
	addsd	xmm0, xmm0
	divsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	lea	rcx, -48[rbp]
	lea	rdx, -32[rbp]
	mov	rsi, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	splay
	mov	rsi, rax
	lea	rcx, -32[rbp]
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	splayinsert
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L1256
	call	__stack_chk_fail@PLT
.L1256:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	circletopinsert, .-circletopinsert
	.globl	frontlocate
	.type	frontlocate, @function
frontlocate:
.LFB90:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	mov	QWORD PTR -64[rbp], r9
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rcx, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	splay
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L1258
.L1262:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	and	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	xor	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jne	.L1259
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jne	.L1259
	mov	eax, 1
	jmp	.L1260
.L1259:
	mov	eax, 0
.L1260:
	mov	DWORD PTR -12[rbp], eax
.L1258:
	cmp	DWORD PTR -12[rbp], 0
	jne	.L1261
	mov	rdx, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	rightofhyperbola
	test	eax, eax
	jne	.L1262
.L1261:
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	frontlocate, .-frontlocate
	.section	.rodata
	.align 8
.LC1003:
	.string	"  Placing vertices in event heap."
	.align 8
.LC1004:
	.string	"Error:  Input vertices are all identical."
	.text
	.globl	sweeplinedelaunay
	.type	sweeplinedelaunay, @function
sweeplinedelaunay:
.LFB91:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	mov	QWORD PTR -312[rbp], rdi
	mov	QWORD PTR -320[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -312[rbp]
	add	rax, 616
	mov	r8d, 0
	mov	ecx, 508
	mov	edx, 508
	mov	esi, 40
	mov	rdi, rax
	mov	eax, 0
	call	poolinit
	mov	QWORD PTR -256[rbp], 0
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1265
	lea	rdi, .LC1003[rip]
	call	puts@PLT
.L1265:
	lea	rcx, -264[rbp]
	lea	rdx, -272[rbp]
	lea	rsi, -280[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	createeventheap
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 82680[rax]
	mov	DWORD PTR -292[rbp], eax
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1266
	lea	rdi, .LC996[rip]
	call	puts@PLT
.L1266:
	lea	rdx, -96[rbp]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	lea	rdx, -80[rbp]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -264[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -264[rbp], rax
	mov	ecx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	eventheapdelete
	mov	eax, DWORD PTR -292[rbp]
	sub	eax, 1
	mov	DWORD PTR -292[rbp], eax
.L1274:
	mov	eax, DWORD PTR -292[rbp]
	test	eax, eax
	jne	.L1267
	lea	rdi, .LC1004[rip]
	call	puts@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1267:
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -264[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -264[rbp], rax
	mov	ecx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	eventheapdelete
	mov	eax, DWORD PTR -292[rbp]
	sub	eax, 1
	mov	DWORD PTR -292[rbp], eax
	mov	rax, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1268
	ucomisd	xmm0, xmm1
	jne	.L1268
	mov	rax, QWORD PTR -240[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1268
	ucomisd	xmm0, xmm1
	jne	.L1268
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1271
	mov	rax, QWORD PTR -232[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC995[rip]
	mov	eax, 2
	call	printf@PLT
.L1271:
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], -32767
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 82700[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	DWORD PTR 82700[rax], edx
.L1268:
	mov	rax, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1272
	ucomisd	xmm0, xmm1
	jne	.L1272
	mov	rax, QWORD PTR -240[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1272
	ucomisd	xmm0, xmm1
	je	.L1274
.L1272:
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -232[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -232[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -136[rbp], eax
	mov	rax, QWORD PTR -232[rbp]
	mov	QWORD PTR -248[rbp], rax
	jmp	.L1276
.L1290:
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	ecx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	eventheapdelete
	mov	eax, DWORD PTR -292[rbp]
	sub	eax, 1
	mov	DWORD PTR -292[rbp], eax
	mov	DWORD PTR -284[rbp], 1
	mov	rax, QWORD PTR -224[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR 82640[rax]
	comisd	xmm0, xmm1
	jbe	.L1301
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 16[rax]
	and	eax, 3
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	xor	rax, rdx
	mov	QWORD PTR -112[rbp], rax
	mov	rdx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -208[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -280[rbp]
	lea	rcx, -292[rbp]
	lea	rsi, -264[rbp]
	lea	rax, -64[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	check4deadevent
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -208[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -280[rbp]
	lea	rcx, -292[rbp]
	lea	rsi, -264[rbp]
	lea	rax, -48[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	check4deadevent
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -144[rbp]
	cmp	rdx, rax
	jne	.L1279
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cmp	edx, eax
	jne	.L1279
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -136[rbp], eax
.L1279:
	lea	rdx, -112[rbp]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	flip
	mov	rdx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -208[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	edi, 10
	mov	eax, 0
	call	randomnation
	test	rax, rax
	jne	.L1280
	mov	rdx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	and	eax, 3
	mov	DWORD PTR -104[rbp], eax
	mov	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -208[rbp]
	xor	rax, rdx
	mov	QWORD PTR -112[rbp], rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -192[rbp], rax
	mov	rdx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -184[rbp], rax
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rdi, QWORD PTR 8[rax]
	mov	r9, QWORD PTR -184[rbp]
	mov	r8, QWORD PTR -192[rbp]
	lea	rcx, -96[rbp]
	mov	rdx, QWORD PTR -256[rbp]
	mov	rsi, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	sub	rsp, 8
	push	QWORD PTR -176[rbp]
	movq	xmm0, rdi
	mov	rdi, rax
	mov	eax, 1
	call	circletopinsert
	add	rsp, 16
	mov	QWORD PTR -256[rbp], rax
	jmp	.L1280
.L1301:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1281
	ucomisd	xmm0, xmm1
	jne	.L1281
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1281
	ucomisd	xmm0, xmm1
	jne	.L1281
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1284
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC995[rip]
	mov	eax, 2
	call	printf@PLT
.L1284:
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], -32767
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 82700[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	DWORD PTR 82700[rax], edx
	mov	DWORD PTR -284[rbp], 0
	jmp	.L1280
.L1281:
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR -248[rbp], rax
	lea	r8, -288[rbp]
	lea	rdi, -128[rbp]
	mov	rcx, QWORD PTR -216[rbp]
	lea	rdx, -144[rbp]
	mov	rsi, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	frontlocate
	mov	QWORD PTR -256[rbp], rax
	mov	rdx, QWORD PTR -280[rbp]
	lea	rcx, -292[rbp]
	lea	rsi, -264[rbp]
	lea	rax, -128[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	check4deadevent
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -120[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	rdx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -208[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	lea	rdx, -96[rbp]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	lea	rdx, -80[rbp]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -288[rbp]
	test	eax, eax
	jne	.L1285
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -144[rbp]
	cmp	rdx, rax
	jne	.L1285
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cmp	edx, eax
	jne	.L1285
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR -136[rbp], eax
.L1285:
	mov	edi, 10
	mov	eax, 0
	call	randomnation
	test	rax, rax
	jne	.L1286
	mov	rcx, QWORD PTR -216[rbp]
	lea	rdx, -96[rbp]
	mov	rsi, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	splayinsert
	mov	QWORD PTR -256[rbp], rax
	jmp	.L1280
.L1286:
	mov	edi, 10
	mov	eax, 0
	call	randomnation
	test	rax, rax
	jne	.L1280
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rcx, QWORD PTR -216[rbp]
	lea	rdx, -32[rbp]
	mov	rsi, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	splayinsert
	mov	QWORD PTR -256[rbp], rax
.L1280:
	mov	rdx, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR -224[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -224[rbp]
	mov	QWORD PTR -264[rbp], rax
	cmp	DWORD PTR -284[rbp], 0
	je	.L1276
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -192[rbp], rax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -184[rbp], rax
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -176[rbp], rax
	mov	rdi, QWORD PTR -176[rbp]
	mov	rcx, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rsi, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -168[rbp], rax
	movsd	xmm0, QWORD PTR -168[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L1287
	mov	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR 82672[rax]
	mov	rax, QWORD PTR -160[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rdi, QWORD PTR -168[rbp]
	mov	rcx, QWORD PTR -176[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	rsi, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -312[rbp]
	movq	xmm0, rdi
	mov	rdi, rax
	mov	eax, 1
	call	circletop
	movq	rax, xmm0
	mov	rdx, QWORD PTR -160[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	or	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	ecx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rdx, QWORD PTR -160[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	eventheapinsert
	mov	eax, DWORD PTR -292[rbp]
	add	eax, 1
	mov	DWORD PTR -292[rbp], eax
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR [rdx], rax
.L1287:
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -192[rbp], rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -184[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -176[rbp], rax
	mov	rdi, QWORD PTR -176[rbp]
	mov	rcx, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rsi, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -152[rbp], rax
	movsd	xmm0, QWORD PTR -152[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	ja	.L1300
	jmp	.L1276
.L1300:
	mov	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR 82672[rax]
	mov	rax, QWORD PTR -160[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rdi, QWORD PTR -152[rbp]
	mov	rcx, QWORD PTR -176[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	rsi, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -312[rbp]
	movq	xmm0, rdi
	mov	rdi, rax
	mov	eax, 1
	call	circletop
	movq	rax, xmm0
	mov	rdx, QWORD PTR -160[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	or	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	ecx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rdx, QWORD PTR -160[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	eventheapinsert
	mov	eax, DWORD PTR -292[rbp]
	add	eax, 1
	mov	DWORD PTR -292[rbp], eax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR [rdx], rax
.L1276:
	mov	eax, DWORD PTR -292[rbp]
	test	eax, eax
	jg	.L1290
	mov	rax, QWORD PTR -312[rbp]
	add	rax, 616
	mov	rdi, rax
	mov	eax, 0
	call	pooldeinit
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -136[rbp], eax
	lea	rdx, -144[rbp]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	removeghosts
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L1292
	call	__stack_chk_fail@PLT
.L1292:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	sweeplinedelaunay, .-sweeplinedelaunay
	.section	.rodata
	.align 8
.LC1005:
	.string	"Constructing Delaunay triangulation "
.LC1006:
	.string	"by incremental method."
.LC1007:
	.string	"by sweepline method."
.LC1008:
	.string	"by divide-and-conquer method."
	.text
	.globl	delaunay
	.type	delaunay, @function
delaunay:
.LFB92:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 82720[rax], 0
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	initializetrisubpools
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1303
	lea	rdi, .LC1005[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	je	.L1304
	lea	rdi, .LC1006[rip]
	call	puts@PLT
	jmp	.L1303
.L1304:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 96[rax]
	test	eax, eax
	je	.L1305
	lea	rdi, .LC1007[rip]
	call	puts@PLT
	jmp	.L1303
.L1305:
	lea	rdi, .LC1008[rip]
	call	puts@PLT
.L1303:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	je	.L1306
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	incrementaldelaunay
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1307
.L1306:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 96[rax]
	test	eax, eax
	je	.L1308
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	sweeplinedelaunay
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1307
.L1308:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	divconqdelaunay
	mov	QWORD PTR -8[rbp], rax
.L1307:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	jne	.L1309
	mov	eax, 0
	jmp	.L1310
.L1309:
	mov	rax, QWORD PTR -8[rbp]
.L1310:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	delaunay, .-delaunay
	.section	.rodata
.LC1009:
	.string	"Opening %s.\n"
.LC1010:
	.string	"r"
	.align 8
.LC1011:
	.string	"  Error:  Cannot access file %s.\n"
	.align 8
.LC1012:
	.string	"Error:  Triangles in %s must have at least 3 vertices.\n"
	.align 8
.LC1013:
	.string	"Error:  %s and %s disagree on number of triangles.\n"
.LC1014:
	.string	"Reconstructing mesh."
.LC1015:
	.string	"  Assembling triangles."
	.align 8
.LC1016:
	.string	"Error:  Triangle %ld is missing vertex %d in %s.\n"
	.align 8
.LC1017:
	.string	"Error:  Triangle %ld has an invalid vertex index.\n"
	.align 8
.LC1018:
	.string	"  Marking segments in triangulation."
	.align 8
.LC1019:
	.string	"Error:  Segment %ld has no endpoints in %s.\n"
	.align 8
.LC1020:
	.string	"Error:  Segment %ld is missing its second endpoint in %s.\n"
	.align 8
.LC1021:
	.string	"Error:  Segment %ld has an invalid vertex index.\n"
	.text
	.globl	reconstruct
	.type	reconstruct, @function
reconstruct:
.LFB93:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 1416
	.cfi_offset 3, -24
	mov	QWORD PTR -1384[rbp], rdi
	mov	QWORD PTR -1392[rbp], rsi
	mov	QWORD PTR -1400[rbp], rdx
	mov	QWORD PTR -1408[rbp], rcx
	mov	QWORD PTR -1416[rbp], r8
	mov	QWORD PTR -1424[rbp], r9
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1312
	mov	rax, QWORD PTR -1400[rbp]
	mov	rsi, rax
	lea	rdi, .LC1009[rip]
	mov	eax, 0
	call	printf@PLT
.L1312:
	mov	rax, QWORD PTR -1400[rbp]
	lea	rsi, .LC1010[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -1280[rbp], rax
	cmp	QWORD PTR -1280[rbp], 0
	jne	.L1313
	mov	rax, QWORD PTR -1400[rbp]
	mov	rsi, rax
	lea	rdi, .LC1011[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1313:
	mov	rdx, QWORD PTR -1400[rbp]
	mov	rcx, QWORD PTR -1280[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	lea	rcx, -1336[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -1384[rbp]
	mov	DWORD PTR 82684[rax], edx
	mov	rax, QWORD PTR -1336[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1314
	mov	DWORD PTR -1372[rbp], 3
	jmp	.L1315
.L1314:
	mov	rax, QWORD PTR -1336[rbp]
	lea	rcx, -1336[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1372[rbp], eax
	cmp	DWORD PTR -1372[rbp], 2
	jg	.L1315
	mov	rax, QWORD PTR -1400[rbp]
	mov	rsi, rax
	lea	rdi, .LC1012[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1315:
	mov	rax, QWORD PTR -1336[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1316
	mov	rax, QWORD PTR -1384[rbp]
	mov	DWORD PTR 82720[rax], 0
	jmp	.L1317
.L1316:
	mov	rax, QWORD PTR -1336[rbp]
	lea	rcx, -1336[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -1384[rbp]
	mov	DWORD PTR 82720[rax], edx
.L1317:
	mov	rdx, QWORD PTR -1392[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	initializetrisubpools
	mov	QWORD PTR -1296[rbp], 1
	jmp	.L1318
.L1319:
	lea	rdx, -1184[rbp]
	mov	rcx, QWORD PTR -1392[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	maketriangle
	mov	rax, QWORD PTR -1184[rbp]
	lea	rdx, 24[rax]
	mov	rax, QWORD PTR -1184[rbp]
	mov	QWORD PTR [rdx], rax
	add	QWORD PTR -1296[rbp], 1
.L1318:
	mov	rax, QWORD PTR -1384[rbp]
	mov	eax, DWORD PTR 82684[rax]
	cdqe
	cmp	QWORD PTR -1296[rbp], rax
	jle	.L1319
	mov	DWORD PTR -1368[rbp], 0
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L1320
	mov	rax, QWORD PTR -1392[rbp]
	lea	rdx, 4264[rax]
	mov	rcx, QWORD PTR -1424[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	lea	rcx, -1336[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -1384[rbp]
	mov	DWORD PTR 82688[rax], edx
	mov	rax, QWORD PTR -1336[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1321
	mov	rax, QWORD PTR -1336[rbp]
	lea	rcx, -1336[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1368[rbp], eax
.L1321:
	mov	QWORD PTR -1288[rbp], 1
	jmp	.L1322
.L1323:
	lea	rdx, -1104[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	makesubseg
	mov	rax, QWORD PTR -1104[rbp]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -1104[rbp]
	mov	QWORD PTR [rdx], rax
	add	QWORD PTR -1288[rbp], 1
.L1322:
	mov	rax, QWORD PTR -1384[rbp]
	mov	eax, DWORD PTR 82688[rax]
	cdqe
	cmp	QWORD PTR -1288[rbp], rax
	jle	.L1323
.L1320:
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L1324
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1325
	mov	rax, QWORD PTR -1408[rbp]
	mov	rsi, rax
	lea	rdi, .LC1009[rip]
	mov	eax, 0
	call	printf@PLT
.L1325:
	mov	rax, QWORD PTR -1408[rbp]
	lea	rsi, .LC1010[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -1328[rbp], rax
	cmp	QWORD PTR -1328[rbp], 0
	jne	.L1326
	mov	rax, QWORD PTR -1408[rbp]
	mov	rsi, rax
	lea	rdi, .LC1011[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1326:
	mov	rdx, QWORD PTR -1408[rbp]
	mov	rcx, QWORD PTR -1328[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	lea	rcx, -1336[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1348[rbp], eax
	mov	rax, QWORD PTR -1384[rbp]
	mov	eax, DWORD PTR 82684[rax]
	cmp	DWORD PTR -1348[rbp], eax
	je	.L1324
	mov	rdx, QWORD PTR -1408[rbp]
	mov	rax, QWORD PTR -1400[rbp]
	mov	rsi, rax
	lea	rdi, .LC1013[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1324:
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1327
	lea	rdi, .LC1014[rip]
	call	puts@PLT
.L1327:
	mov	rax, QWORD PTR -1384[rbp]
	mov	rax, QWORD PTR 240[rax]
	sal	rax, 3
	mov	rdi, rax
	mov	eax, 0
	call	trimalloc
	mov	QWORD PTR -1272[rbp], rax
	mov	DWORD PTR -1356[rbp], 0
	jmp	.L1328
.L1329:
	mov	eax, DWORD PTR -1356[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1272[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -1384[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -1356[rbp], 1
.L1328:
	mov	eax, DWORD PTR -1356[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -1384[rbp]
	mov	rax, QWORD PTR 240[rax]
	cmp	rdx, rax
	jl	.L1329
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1330
	lea	rdi, .LC1015[rip]
	call	puts@PLT
.L1330:
	mov	rax, QWORD PTR -1384[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -1384[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -1184[rbp], rax
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 40[rax]
	cdqe
	mov	QWORD PTR -1296[rbp], rax
	jmp	.L1331
.L1353:
	mov	rdx, QWORD PTR -1400[rbp]
	mov	rcx, QWORD PTR -1280[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1336[rbp], rax
	mov	DWORD PTR -1352[rbp], 0
	jmp	.L1332
.L1336:
	mov	rax, QWORD PTR -1336[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1333
	mov	eax, DWORD PTR -1352[rbp]
	lea	esi, 1[rax]
	mov	rdx, QWORD PTR -1400[rbp]
	mov	rax, QWORD PTR -1296[rbp]
	mov	rcx, rdx
	mov	edx, esi
	mov	rsi, rax
	lea	rdi, .LC1016[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	jmp	.L1334
.L1333:
	mov	rax, QWORD PTR -1336[rbp]
	lea	rcx, -1336[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	eax, DWORD PTR -1352[rbp]
	cdqe
	mov	DWORD PTR -1068[rbp+rax*4], edx
	mov	eax, DWORD PTR -1352[rbp]
	cdqe
	mov	edx, DWORD PTR -1068[rbp+rax*4]
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	edx, eax
	jl	.L1335
	mov	eax, DWORD PTR -1352[rbp]
	cdqe
	mov	edx, DWORD PTR -1068[rbp+rax*4]
	mov	rax, QWORD PTR -1392[rbp]
	mov	ecx, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -1384[rbp]
	mov	eax, DWORD PTR 82680[rax]
	add	eax, ecx
	cmp	edx, eax
	jl	.L1334
.L1335:
	mov	rax, QWORD PTR -1296[rbp]
	mov	rsi, rax
	lea	rdi, .LC1017[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1334:
	add	DWORD PTR -1352[rbp], 1
.L1332:
	cmp	DWORD PTR -1352[rbp], 2
	jle	.L1336
	mov	DWORD PTR -1352[rbp], 3
	jmp	.L1337
.L1339:
	mov	rax, QWORD PTR -1336[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1338
	mov	rax, QWORD PTR -1336[rbp]
	lea	rcx, -1336[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1340[rbp], eax
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -1340[rbp], eax
	jl	.L1338
	mov	rax, QWORD PTR -1392[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -1384[rbp]
	mov	eax, DWORD PTR 82680[rax]
	add	eax, edx
	cmp	DWORD PTR -1340[rbp], eax
	jge	.L1338
	mov	edx, DWORD PTR -1340[rbp]
	mov	rcx, QWORD PTR -1392[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	getvertex
	mov	QWORD PTR -1192[rbp], rax
	mov	rax, QWORD PTR -1384[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1192[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, -32768
	je	.L1338
	mov	rdx, QWORD PTR -1192[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	vertexdealloc
.L1338:
	add	DWORD PTR -1352[rbp], 1
.L1337:
	mov	eax, DWORD PTR -1352[rbp]
	cmp	eax, DWORD PTR -1372[rbp]
	jl	.L1339
	mov	DWORD PTR -1352[rbp], 0
	jmp	.L1340
.L1343:
	mov	rax, QWORD PTR -1336[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1341
	mov	rdx, QWORD PTR -1184[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -1352[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	jmp	.L1342
.L1341:
	mov	rax, QWORD PTR -1336[rbp]
	mov	rcx, QWORD PTR -1184[rbp]
	mov	rdx, QWORD PTR -1384[rbp]
	mov	esi, DWORD PTR 82752[rdx]
	mov	edx, DWORD PTR -1352[rbp]
	add	edx, esi
	movsx	rdx, edx
	sal	rdx, 3
	lea	rbx, [rcx+rdx]
	lea	rdx, -1336[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
.L1342:
	add	DWORD PTR -1352[rbp], 1
.L1340:
	mov	rax, QWORD PTR -1384[rbp]
	mov	eax, DWORD PTR 82720[rax]
	cmp	DWORD PTR -1352[rbp], eax
	jl	.L1343
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L1344
	mov	rdx, QWORD PTR -1408[rbp]
	mov	rcx, QWORD PTR -1328[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1345
	movsd	xmm0, QWORD PTR .LC873[rip]
	movsd	QWORD PTR -1312[rbp], xmm0
	jmp	.L1346
.L1345:
	mov	rax, QWORD PTR -1336[rbp]
	lea	rdx, -1336[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR -1312[rbp], rax
.L1346:
	mov	rdx, QWORD PTR -1184[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -1312[rbp]
	movsd	QWORD PTR [rax], xmm0
.L1344:
	mov	DWORD PTR -1176[rbp], 0
	mov	edx, DWORD PTR -1068[rbp]
	mov	rsi, QWORD PTR -1184[rbp]
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rbx, [rsi+rax]
	mov	rcx, QWORD PTR -1392[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	getvertex
	mov	QWORD PTR [rbx], rax
	mov	edx, DWORD PTR -1064[rbp]
	mov	rsi, QWORD PTR -1184[rbp]
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rbx, [rsi+rax]
	mov	rcx, QWORD PTR -1392[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	getvertex
	mov	QWORD PTR [rbx], rax
	mov	edx, DWORD PTR -1060[rbp]
	mov	rcx, QWORD PTR -1184[rbp]
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	lea	rbx, [rcx+rax]
	mov	rcx, QWORD PTR -1392[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	getvertex
	mov	QWORD PTR [rbx], rax
	mov	DWORD PTR -1176[rbp], 0
	jmp	.L1347
.L1352:
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	mov	eax, DWORD PTR -1068[rbp+rax*4]
	mov	DWORD PTR -1344[rbp], eax
	mov	rax, QWORD PTR -1392[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1344[rbp]
	sub	eax, edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1272[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1248[rbp], rax
	mov	rdx, QWORD PTR -1184[rbp]
	mov	eax, DWORD PTR -1176[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -1248[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -1184[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -1392[rbp]
	mov	ecx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1344[rbp]
	sub	eax, ecx
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -1272[rbp]
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -1248[rbp]
	and	eax, 3
	mov	DWORD PTR -1144[rbp], eax
	mov	eax, DWORD PTR -1144[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -1248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -1152[rbp], rax
	mov	rdx, QWORD PTR -1152[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L1348
	mov	rcx, QWORD PTR -1184[rbp]
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1216[rbp], rax
	mov	rdx, QWORD PTR -1184[rbp]
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1208[rbp], rax
.L1351:
	mov	rcx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1232[rbp], rax
	mov	rdx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1200[rbp], rax
	mov	rax, QWORD PTR -1208[rbp]
	cmp	rax, QWORD PTR -1232[rbp]
	jne	.L1349
	mov	rax, QWORD PTR -1184[rbp]
	mov	QWORD PTR -1168[rbp], rax
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -1160[rbp], eax
	mov	rax, QWORD PTR -1152[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -1144[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -1168[rbp]
	mov	eax, DWORD PTR -1160[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -1168[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -1160[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L1349:
	mov	rax, QWORD PTR -1216[rbp]
	cmp	rax, QWORD PTR -1200[rbp]
	jne	.L1350
	mov	rax, QWORD PTR -1152[rbp]
	mov	QWORD PTR -1136[rbp], rax
	mov	eax, DWORD PTR -1144[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -1128[rbp], eax
	mov	rax, QWORD PTR -1136[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -1128[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -1184[rbp]
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -1184[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -1136[rbp]
	mov	eax, DWORD PTR -1128[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
.L1350:
	mov	rdx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1248[rbp], rax
	mov	rax, QWORD PTR -1248[rbp]
	and	eax, 3
	mov	DWORD PTR -1144[rbp], eax
	mov	eax, DWORD PTR -1144[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -1248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -1152[rbp], rax
	mov	rdx, QWORD PTR -1152[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1351
.L1348:
	mov	eax, DWORD PTR -1176[rbp]
	add	eax, 1
	mov	DWORD PTR -1176[rbp], eax
.L1347:
	mov	eax, DWORD PTR -1176[rbp]
	cmp	eax, 2
	jle	.L1352
	mov	rax, QWORD PTR -1384[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -1184[rbp], rax
	add	QWORD PTR -1296[rbp], 1
.L1331:
	mov	rax, QWORD PTR -1184[rbp]
	test	rax, rax
	jne	.L1353
	mov	rax, QWORD PTR -1280[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L1354
	mov	rax, QWORD PTR -1328[rbp]
	mov	rdi, rax
	call	fclose@PLT
.L1354:
	mov	QWORD PTR -1304[rbp], 0
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L1355
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1356
	lea	rdi, .LC1018[rip]
	call	puts@PLT
.L1356:
	mov	DWORD PTR -1364[rbp], 0
	mov	rax, QWORD PTR -1384[rbp]
	add	rax, 88
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -1384[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	subsegtraverse
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 40[rax]
	cdqe
	mov	QWORD PTR -1288[rbp], rax
	jmp	.L1357
.L1375:
	mov	rax, QWORD PTR -1392[rbp]
	lea	rdx, 4264[rax]
	mov	rcx, QWORD PTR -1424[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1358
	mov	rdx, QWORD PTR -1416[rbp]
	mov	rax, QWORD PTR -1288[rbp]
	mov	rsi, rax
	lea	rdi, .LC1019[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	jmp	.L1359
.L1358:
	mov	rax, QWORD PTR -1336[rbp]
	lea	rcx, -1336[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1076[rbp], eax
.L1359:
	mov	rax, QWORD PTR -1336[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1360
	mov	rdx, QWORD PTR -1416[rbp]
	mov	rax, QWORD PTR -1288[rbp]
	mov	rsi, rax
	lea	rdi, .LC1020[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	jmp	.L1361
.L1360:
	mov	rax, QWORD PTR -1336[rbp]
	lea	rcx, -1336[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1072[rbp], eax
.L1361:
	cmp	DWORD PTR -1368[rbp], 0
	je	.L1362
	mov	rax, QWORD PTR -1336[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1336[rbp], rax
	mov	rax, QWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1363
	mov	DWORD PTR -1364[rbp], 0
	jmp	.L1362
.L1363:
	mov	rax, QWORD PTR -1336[rbp]
	lea	rcx, -1336[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1364[rbp], eax
.L1362:
	mov	DWORD PTR -1352[rbp], 0
	jmp	.L1364
.L1367:
	mov	eax, DWORD PTR -1352[rbp]
	cdqe
	mov	edx, DWORD PTR -1076[rbp+rax*4]
	mov	rax, QWORD PTR -1392[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	edx, eax
	jl	.L1365
	mov	eax, DWORD PTR -1352[rbp]
	cdqe
	mov	edx, DWORD PTR -1076[rbp+rax*4]
	mov	rax, QWORD PTR -1392[rbp]
	mov	ecx, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -1384[rbp]
	mov	eax, DWORD PTR 82680[rax]
	add	eax, ecx
	cmp	edx, eax
	jl	.L1366
.L1365:
	mov	rax, QWORD PTR -1288[rbp]
	mov	rsi, rax
	lea	rdi, .LC1021[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1366:
	add	DWORD PTR -1352[rbp], 1
.L1364:
	cmp	DWORD PTR -1352[rbp], 1
	jle	.L1367
	mov	DWORD PTR -1096[rbp], 0
	mov	edx, DWORD PTR -1076[rbp]
	mov	rcx, QWORD PTR -1392[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	getvertex
	mov	QWORD PTR -1264[rbp], rax
	mov	edx, DWORD PTR -1072[rbp]
	mov	rcx, QWORD PTR -1392[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	getvertex
	mov	QWORD PTR -1256[rbp], rax
	mov	rdx, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR -1096[rbp]
	add	eax, 2
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -1264[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -1104[rbp]
	mov	ecx, DWORD PTR -1096[rbp]
	mov	eax, 3
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -1256[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR -1096[rbp]
	add	eax, 4
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -1264[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -1104[rbp]
	mov	ecx, DWORD PTR -1096[rbp]
	mov	eax, 5
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -1256[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -1104[rbp]
	lea	rdx, 64[rax]
	mov	eax, DWORD PTR -1364[rbp]
	mov	DWORD PTR [rdx], eax
	mov	DWORD PTR -1096[rbp], 0
	jmp	.L1368
.L1374:
	mov	edx, DWORD PTR -1096[rbp]
	mov	eax, 1
	sub	eax, edx
	cdqe
	mov	eax, DWORD PTR -1076[rbp+rax*4]
	mov	DWORD PTR -1344[rbp], eax
	mov	rax, QWORD PTR -1392[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1344[rbp]
	sub	eax, edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1272[rbp]
	add	rax, rdx
	mov	QWORD PTR -1320[rbp], rax
	mov	rax, QWORD PTR -1392[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1344[rbp]
	sub	eax, edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1272[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1248[rbp], rax
	mov	rax, QWORD PTR -1248[rbp]
	and	eax, 3
	mov	DWORD PTR -1144[rbp], eax
	mov	eax, DWORD PTR -1144[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -1248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -1152[rbp], rax
	mov	rdx, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR -1096[rbp]
	add	eax, 2
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1240[rbp], rax
	mov	DWORD PTR -1360[rbp], 1
	jmp	.L1369
.L1373:
	mov	rcx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1232[rbp], rax
	mov	rax, QWORD PTR -1240[rbp]
	cmp	rax, QWORD PTR -1232[rbp]
	jne	.L1370
	mov	rdx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1320[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -1096[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -1152[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -1144[rbp]
	cdqe
	or	rdx, rax
	mov	rcx, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR -1096[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1224[rbp], rax
	mov	rax, QWORD PTR -1224[rbp]
	and	eax, 3
	mov	DWORD PTR -1112[rbp], eax
	mov	eax, DWORD PTR -1112[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -1224[rbp]
	xor	rax, rdx
	mov	QWORD PTR -1120[rbp], rax
	mov	rdx, QWORD PTR -1120[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1371
	lea	rdx, -1152[rbp]
	mov	rsi, QWORD PTR -1392[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	ecx, 1
	mov	rdi, rax
	mov	eax, 0
	call	insertsubseg
	add	QWORD PTR -1304[rbp], 1
.L1371:
	mov	DWORD PTR -1360[rbp], 0
.L1370:
	mov	rdx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR -1320[rbp], rax
	mov	rdx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1248[rbp], rax
	mov	rax, QWORD PTR -1248[rbp]
	and	eax, 3
	mov	DWORD PTR -1144[rbp], eax
	mov	eax, DWORD PTR -1144[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -1248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -1152[rbp], rax
.L1369:
	cmp	DWORD PTR -1360[rbp], 0
	je	.L1372
	mov	rdx, QWORD PTR -1152[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1373
.L1372:
	mov	eax, DWORD PTR -1096[rbp]
	add	eax, 1
	mov	DWORD PTR -1096[rbp], eax
.L1368:
	mov	eax, DWORD PTR -1096[rbp]
	cmp	eax, 1
	jle	.L1374
	mov	rax, QWORD PTR -1384[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	subsegtraverse
	mov	QWORD PTR -1104[rbp], rax
	add	QWORD PTR -1288[rbp], 1
.L1357:
	mov	rax, QWORD PTR -1104[rbp]
	test	rax, rax
	jne	.L1375
.L1355:
	mov	DWORD PTR -1356[rbp], 0
	jmp	.L1376
.L1380:
	mov	eax, DWORD PTR -1356[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1272[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1248[rbp], rax
	mov	rax, QWORD PTR -1248[rbp]
	and	eax, 3
	mov	DWORD PTR -1144[rbp], eax
	mov	eax, DWORD PTR -1144[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -1248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -1152[rbp], rax
	jmp	.L1377
.L1379:
	mov	rdx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1248[rbp], rax
	mov	rdx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -1384[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR -1144[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1224[rbp], rax
	mov	rax, QWORD PTR -1224[rbp]
	and	eax, 3
	mov	DWORD PTR -1112[rbp], eax
	mov	eax, DWORD PTR -1112[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -1224[rbp]
	xor	rax, rdx
	mov	QWORD PTR -1120[rbp], rax
	mov	rdx, QWORD PTR -1120[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1378
	lea	rdx, -1152[rbp]
	mov	rsi, QWORD PTR -1392[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	ecx, 1
	mov	rdi, rax
	mov	eax, 0
	call	insertsubseg
	add	QWORD PTR -1304[rbp], 1
.L1378:
	mov	rax, QWORD PTR -1248[rbp]
	and	eax, 3
	mov	DWORD PTR -1144[rbp], eax
	mov	eax, DWORD PTR -1144[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -1248[rbp]
	xor	rax, rdx
	mov	QWORD PTR -1152[rbp], rax
.L1377:
	mov	rdx, QWORD PTR -1152[rbp]
	mov	rax, QWORD PTR -1384[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1379
	add	DWORD PTR -1356[rbp], 1
.L1376:
	mov	eax, DWORD PTR -1356[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -1384[rbp]
	mov	rax, QWORD PTR 240[rax]
	cmp	rdx, rax
	jl	.L1380
	mov	rax, QWORD PTR -1272[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	trifree
	mov	rax, QWORD PTR -1304[rbp]
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L1382
	call	__stack_chk_fail@PLT
.L1382:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	reconstruct, .-reconstruct
	.section	.rodata
	.align 8
.LC1022:
	.string	"Internal error in finddirection():  Unable to find a"
	.align 8
.LC1023:
	.string	"  triangle leading from (%.12g, %.12g) to"
.LC1024:
	.string	"  (%.12g, %.12g).\n"
	.text
	.globl	finddirection
	.type	finddirection, @function
finddirection:
.LFB94:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	QWORD PTR -112[rbp], rcx
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rdi, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -64[rbp], rax
	movsd	xmm0, QWORD PTR -64[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	seta	al
	movzx	eax, al
	mov	DWORD PTR -72[rbp], eax
	mov	rdi, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -56[rbp], rax
	movsd	xmm0, QWORD PTR -56[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	seta	al
	movzx	eax, al
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -72[rbp], 0
	je	.L1386
	cmp	DWORD PTR -68[rbp], 0
	je	.L1386
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -8[rbp], eax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	eax, 3
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	xor	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1385
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1386
.L1385:
	mov	DWORD PTR -68[rbp], 0
	jmp	.L1386
.L1388:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	xor	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1387
	lea	rdi, .LC1022[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1023[rip]
	mov	eax, 2
	call	printf@PLT
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1024[rip]
	mov	eax, 2
	call	printf@PLT
	mov	eax, 0
	call	internalerror
.L1387:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	movsd	xmm0, QWORD PTR -64[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	mov	rdi, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -64[rbp], rax
	movsd	xmm0, QWORD PTR -64[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	seta	al
	movzx	eax, al
	mov	DWORD PTR -72[rbp], eax
.L1386:
	cmp	DWORD PTR -72[rbp], 0
	jne	.L1388
	jmp	.L1389
.L1391:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	xor	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1390
	lea	rdi, .LC1022[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1023[rip]
	mov	eax, 2
	call	printf@PLT
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1024[rip]
	mov	eax, 2
	call	printf@PLT
	mov	eax, 0
	call	internalerror
.L1390:
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	movsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	mov	rdi, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -56[rbp], rax
	movsd	xmm0, QWORD PTR -56[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	seta	al
	movzx	eax, al
	mov	DWORD PTR -68[rbp], eax
.L1389:
	cmp	DWORD PTR -68[rbp], 0
	jne	.L1391
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -64[rbp]
	jp	.L1392
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -64[rbp]
	jne	.L1392
	mov	eax, 1
	jmp	.L1397
.L1392:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jp	.L1395
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jne	.L1395
	mov	eax, 2
	jmp	.L1397
.L1395:
	mov	eax, 0
.L1397:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	finddirection, .-finddirection
	.section	.rodata
	.align 8
.LC1025:
	.string	"Internal error in segmentintersection():"
	.align 8
.LC1026:
	.string	"  Attempt to find intersection of parallel segments."
	.align 8
.LC1027:
	.string	"  Splitting subsegment (%.12g, %.12g) (%.12g, %.12g) at (%.12g, %.12g).\n"
.LC1028:
	.string	"  Failure to split a segment."
	.align 8
.LC1029:
	.string	"  Topological inconsistency after splitting a segment."
	.text
	.globl	segmentintersection
	.type	segmentintersection, @function
segmentintersection:
.LFB95:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -168[rbp], rdi
	mov	QWORD PTR -176[rbp], rsi
	mov	QWORD PTR -184[rbp], rdx
	mov	QWORD PTR -192[rbp], rcx
	mov	QWORD PTR -200[rbp], r8
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -120[rbp], xmm0
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -112[rbp], xmm0
	mov	rax, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -104[rbp], xmm0
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	mulsd	xmm0, QWORD PTR -104[rbp]
	movsd	xmm1, QWORD PTR -120[rbp]
	mulsd	xmm1, QWORD PTR -96[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -72[rbp]
	jp	.L1401
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -72[rbp]
	jne	.L1401
	lea	rdi, .LC1025[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC1026[rip]
	call	puts@PLT
	mov	eax, 0
	call	internalerror
.L1401:
	movsd	xmm0, QWORD PTR -96[rbp]
	mulsd	xmm0, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR -104[rbp]
	mulsd	xmm1, QWORD PTR -80[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -56[rbp], rax
	mov	DWORD PTR -156[rbp], 0
	jmp	.L1403
.L1404:
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm0, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -156[rbp], 1
.L1403:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 82716[rax]
	add	eax, 1
	cmp	DWORD PTR -156[rbp], eax
	jle	.L1404
	mov	rax, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 82740[rdx]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR 64[rax]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 1
	jle	.L1405
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm4, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm3, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1027[rip]
	mov	eax, 6
	call	printf@PLT
.L1405:
	mov	rdi, QWORD PTR -192[rbp]
	mov	rcx, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -168[rbp]
	sub	rsp, 8
	push	0
	mov	r9d, 0
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	insertvertex
	add	rsp, 16
	mov	DWORD PTR -152[rbp], eax
	cmp	DWORD PTR -152[rbp], 0
	je	.L1406
	lea	rdi, .LC1025[rip]
	call	puts@PLT
	lea	rdi, .LC1028[rip]
	call	puts@PLT
	mov	eax, 0
	call	internalerror
.L1406:
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	or	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 82744[rax]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 82736[rax]
	test	eax, eax
	jle	.L1407
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 82736[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 82736[rax], edx
.L1407:
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, 1
	sub	edx, eax
	mov	rax, QWORD PTR -192[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
.L1408:
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 4
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, 1
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	and	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -192[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	and	rax, -4
	mov	rdx, rax
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L1408
.L1409:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 4
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -8[rbp]
	mov	eax, 1
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L1409
	mov	rcx, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	rsi, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	finddirection
	mov	DWORD PTR -148[rbp], eax
	mov	rax, QWORD PTR -184[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1410
	ucomisd	xmm0, xmm1
	jne	.L1410
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1410
	ucomisd	xmm0, xmm1
	jne	.L1410
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	xor	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -184[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1419
.L1410:
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1414
	comisd	xmm0, xmm1
	jne	.L1414
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1414
	comisd	xmm0, xmm1
	jne	.L1414
	jmp	.L1419
.L1414:
	lea	rdi, .LC1025[rip]
	call	puts@PLT
	lea	rdi, .LC1029[rip]
	call	puts@PLT
	mov	eax, 0
	call	internalerror
.L1419:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	segmentintersection, .-segmentintersection
	.globl	scoutsegment
	.type	scoutsegment, @function
scoutsegment:
.LFB96:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	QWORD PTR -112[rbp], rcx
	mov	DWORD PTR -116[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rcx, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	finddirection
	mov	DWORD PTR -76[rbp], eax
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1421
	ucomisd	xmm0, xmm1
	jne	.L1421
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1421
	ucomisd	xmm0, xmm1
	je	.L1423
.L1421:
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1425
	ucomisd	xmm0, xmm1
	jne	.L1425
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1425
	ucomisd	xmm0, xmm1
	jne	.L1425
.L1423:
	mov	rax, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1428
	ucomisd	xmm0, xmm1
	jne	.L1428
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1428
	ucomisd	xmm0, xmm1
	jne	.L1428
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 8[rax], edx
.L1428:
	mov	ecx, DWORD PTR -116[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	insertsubseg
	mov	eax, 1
	jmp	.L1435
.L1425:
	cmp	DWORD PTR -76[rbp], 1
	jne	.L1432
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	ecx, DWORD PTR -116[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	insertsubseg
	mov	edi, DWORD PTR -116[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	scoutsegment
	jmp	.L1435
.L1432:
	cmp	DWORD PTR -76[rbp], 2
	jne	.L1433
	mov	ecx, DWORD PTR -116[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	insertsubseg
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	edi, DWORD PTR -116[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	scoutsegment
	jmp	.L1435
.L1433:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L1434
	mov	eax, 0
	jmp	.L1435
.L1434:
	mov	rdi, QWORD PTR -112[rbp]
	lea	rcx, -32[rbp]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	segmentintersection
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	ecx, DWORD PTR -116[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	insertsubseg
	mov	edi, DWORD PTR -116[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	scoutsegment
.L1435:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L1436
	call	__stack_chk_fail@PLT
.L1436:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	scoutsegment, .-scoutsegment
	.section	.rodata
	.align 8
.LC1030:
	.string	"Forcing segment into triangulation by recursive splitting:"
	.align 8
.LC1031:
	.string	"  (%.12g, %.12g) (%.12g, %.12g)\n"
	.align 8
.LC1032:
	.string	"  Segment intersects existing vertex (%.12g, %.12g).\n"
	.align 8
.LC1033:
	.string	"  Two segments intersect at (%.12g, %.12g).\n"
	.align 8
.LC1034:
	.string	"Internal error in conformingedge():"
	.text
	.globl	conformingedge
	.type	conformingedge, @function
conformingedge:
.LFB97:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	QWORD PTR -136[rbp], rdx
	mov	QWORD PTR -144[rbp], rcx
	mov	DWORD PTR -148[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1442
	lea	rdi, .LC1030[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1031[rip]
	mov	eax, 4
	call	printf@PLT
.L1442:
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -96[rbp], rax
	mov	DWORD PTR -104[rbp], 0
	jmp	.L1443
.L1444:
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	addsd	xmm1, xmm0
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -104[rbp], 1
.L1443:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82716[rax]
	add	eax, 1
	cmp	DWORD PTR -104[rbp], eax
	jle	.L1444
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -148[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR -64[rbp], rax
	lea	rcx, -64[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	sub	rsp, 8
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	rdi, rax
	mov	eax, 0
	call	insertvertex
	add	rsp, 16
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 3
	jne	.L1445
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1446
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1032[rip]
	mov	eax, 2
	call	printf@PLT
.L1446:
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	vertexdealloc
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	jmp	.L1447
.L1445:
	cmp	DWORD PTR -100[rbp], 2
	jne	.L1448
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1449
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1033[rip]
	mov	eax, 2
	call	printf@PLT
.L1449:
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	lea	rdi, -32[rbp]
	lea	rcx, -64[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	sub	rsp, 8
	push	0
	mov	r9d, 0
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	insertvertex
	add	rsp, 16
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 0
	je	.L1448
	lea	rdi, .LC1034[rip]
	call	puts@PLT
	lea	rdi, .LC1028[rip]
	call	puts@PLT
	mov	eax, 0
	call	internalerror
.L1448:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82736[rax]
	test	eax, eax
	jle	.L1447
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82736[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	DWORD PTR 82736[rax], edx
.L1447:
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	rcx, QWORD PTR -144[rbp]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	finddirection
	mov	edi, DWORD PTR -148[rbp]
	mov	rcx, QWORD PTR -136[rbp]
	lea	rdx, -64[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	scoutsegment
	test	eax, eax
	jne	.L1450
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	edi, DWORD PTR -148[rbp]
	mov	rcx, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	conformingedge
.L1450:
	mov	edi, DWORD PTR -148[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	scoutsegment
	test	eax, eax
	jne	.L1453
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	edi, DWORD PTR -148[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	conformingedge
.L1453:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1452
	call	__stack_chk_fail@PLT
.L1452:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	conformingedge, .-conformingedge
	.globl	delaunayfixup
	.type	delaunayfixup, @function
delaunayfixup:
.LFB98:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	QWORD PTR -136[rbp], rdx
	mov	DWORD PTR -140[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -112[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L1468
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -104[rbp]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L1469
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	cmp	DWORD PTR -140[rbp], 0
	je	.L1458
	mov	rdi, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	pxor	xmm1, xmm1
	comisd	xmm1, xmm0
	jnb	.L1470
	jmp	.L1459
.L1458:
	mov	rdi, QWORD PTR -96[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	pxor	xmm1, xmm1
	comisd	xmm1, xmm0
	jnb	.L1471
.L1459:
	mov	rdi, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm2, rax
	comisd	xmm2, xmm0
	jbe	.L1462
	mov	r8, QWORD PTR -96[rbp]
	mov	rdi, QWORD PTR -80[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	incircle
	pxor	xmm1, xmm1
	comisd	xmm1, xmm0
	jnb	.L1472
.L1462:
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	flip
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	ecx, DWORD PTR -140[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	delaunayfixup
	mov	ecx, DWORD PTR -140[rbp]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	delaunayfixup
	jmp	.L1454
.L1468:
	nop
	jmp	.L1454
.L1469:
	nop
	jmp	.L1454
.L1470:
	nop
	jmp	.L1454
.L1471:
	nop
	jmp	.L1454
.L1472:
	nop
.L1454:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1466
	call	__stack_chk_fail@PLT
.L1466:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	delaunayfixup, .-delaunayfixup
	.globl	constrainededge
	.type	constrainededge, @function
constrainededge:
.LFB99:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	QWORD PTR -136[rbp], rdx
	mov	QWORD PTR -144[rbp], rcx
	mov	DWORD PTR -148[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	flip
	mov	DWORD PTR -112[rbp], 0
	mov	DWORD PTR -108[rbp], 0
.L1484:
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1474
	ucomisd	xmm0, xmm1
	jne	.L1474
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1474
	ucomisd	xmm0, xmm1
	jne	.L1474
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	lea	rdx, -64[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 0
	mov	rdi, rax
	mov	eax, 0
	call	delaunayfixup
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 1
	mov	rdi, rax
	mov	eax, 0
	call	delaunayfixup
	mov	DWORD PTR -108[rbp], 1
	jmp	.L1477
.L1474:
	mov	rdi, QWORD PTR -96[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -80[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -80[rbp]
	jp	.L1478
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -80[rbp]
	jne	.L1478
	mov	DWORD PTR -112[rbp], 1
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	lea	rdx, -64[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 0
	mov	rdi, rax
	mov	eax, 0
	call	delaunayfixup
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 1
	mov	rdi, rax
	mov	eax, 0
	call	delaunayfixup
	mov	DWORD PTR -108[rbp], 1
	jmp	.L1477
.L1478:
	movsd	xmm0, QWORD PTR -80[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L1491
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 1
	mov	rdi, rax
	mov	eax, 0
	call	delaunayfixup
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	jmp	.L1482
.L1491:
	lea	rdx, -64[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 0
	mov	rdi, rax
	mov	eax, 0
	call	delaunayfixup
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
.L1482:
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L1483
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	flip
	jmp	.L1477
.L1483:
	mov	DWORD PTR -112[rbp], 1
	mov	rdi, QWORD PTR -144[rbp]
	lea	rcx, -32[rbp]
	lea	rdx, -64[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	segmentintersection
	mov	DWORD PTR -108[rbp], 1
.L1477:
	cmp	DWORD PTR -108[rbp], 0
	je	.L1484
	mov	ecx, DWORD PTR -148[rbp]
	lea	rdx, -64[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	insertsubseg
	cmp	DWORD PTR -112[rbp], 0
	je	.L1492
	mov	edi, DWORD PTR -148[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	lea	rdx, -64[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	scoutsegment
	test	eax, eax
	jne	.L1492
	mov	edi, DWORD PTR -148[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	lea	rdx, -64[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	constrainededge
.L1492:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1486
	call	__stack_chk_fail@PLT
.L1486:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	constrainededge, .-constrainededge
	.section	.rodata
	.align 8
.LC1035:
	.string	"  Connecting (%.12g, %.12g) to (%.12g, %.12g).\n"
	.align 8
.LC1036:
	.string	"Internal error in insertsegment():  Unable to locate PSLG vertex"
	.align 8
.LC1037:
	.string	"  (%.12g, %.12g) in triangulation.\n"
	.text
	.globl	insertsegment
	.type	insertsegment, @function
insertsegment:
.LFB100:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	QWORD PTR -112[rbp], rcx
	mov	DWORD PTR -116[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 1
	jle	.L1494
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1035[rip]
	mov	eax, 4
	call	printf@PLT
.L1494:
	mov	QWORD PTR -72[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 82744[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	cmp	QWORD PTR -64[rbp], 0
	je	.L1495
	mov	rax, QWORD PTR -64[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
.L1495:
	mov	rax, QWORD PTR -72[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	je	.L1496
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	locate
	cmp	eax, 2
	je	.L1496
	lea	rdi, .LC1036[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1037[rip]
	mov	eax, 2
	call	printf@PLT
	mov	eax, 0
	call	internalerror
.L1496:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 82888[rax], rdx
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 82896[rax], edx
	mov	edi, DWORD PTR -116[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	scoutsegment
	test	eax, eax
	jne	.L1506
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	QWORD PTR -72[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 82744[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	cmp	QWORD PTR -64[rbp], 0
	je	.L1499
	mov	rax, QWORD PTR -64[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
.L1499:
	mov	rax, QWORD PTR -72[rbp]
	cmp	rax, QWORD PTR -112[rbp]
	je	.L1500
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -24[rbp], 0
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -32[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	locate
	cmp	eax, 2
	je	.L1500
	lea	rdi, .LC1036[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1037[rip]
	mov	eax, 2
	call	printf@PLT
	mov	eax, 0
	call	internalerror
.L1500:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 82888[rax], rdx
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 82896[rax], edx
	mov	edi, DWORD PTR -116[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	lea	rdx, -32[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	scoutsegment
	test	eax, eax
	jne	.L1507
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 104[rax]
	test	eax, eax
	je	.L1502
	mov	edi, DWORD PTR -116[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	conformingedge
	jmp	.L1493
.L1502:
	mov	edi, DWORD PTR -116[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	constrainededge
	jmp	.L1493
.L1506:
	nop
	jmp	.L1493
.L1507:
	nop
.L1493:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1505
	call	__stack_chk_fail@PLT
.L1505:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	insertsegment, .-insertsegment
	.globl	markhull
	.type	markhull, @function
markhull:
.LFB101:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR -64[rbp], rax
	mov	DWORD PTR -56[rbp], 0
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -24[rbp], eax
.L1511:
	lea	rdx, -64[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, 1
	mov	rdi, rax
	mov	eax, 0
	call	insertsubseg
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L1509
.L1510:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
.L1509:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1510
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -32[rbp]
	cmp	rdx, rax
	jne	.L1511
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	jne	.L1511
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1512
	call	__stack_chk_fail@PLT
.L1512:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE101:
	.size	markhull, .-markhull
	.section	.rodata
	.align 8
.LC1038:
	.string	"Recovering segments in Delaunay triangulation."
.LC1039:
	.string	"  Recovering PSLG segments."
	.align 8
.LC1040:
	.string	"Error:  Segment %d has no endpoints in %s.\n"
	.align 8
.LC1041:
	.string	"Error:  Segment %d is missing its second endpoint in %s.\n"
	.align 8
.LC1042:
	.string	"Warning:  Invalid first endpoint of segment %d in %s.\n"
	.align 8
.LC1043:
	.string	"Warning:  Invalid second endpoint of segment %d in %s.\n"
	.align 8
.LC1044:
	.string	"Warning:  Endpoints of segment %d are coincident in %s.\n"
	.align 8
.LC1045:
	.string	"  Enclosing convex hull with segments."
	.text
	.globl	formskeleton
	.type	formskeleton, @function
formskeleton:
.LFB102:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1120
	mov	QWORD PTR -1096[rbp], rdi
	mov	QWORD PTR -1104[rbp], rsi
	mov	QWORD PTR -1112[rbp], rdx
	mov	QWORD PTR -1120[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L1514
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1515
	lea	rdi, .LC1038[rip]
	call	puts@PLT
.L1515:
	mov	rdx, QWORD PTR -1120[rbp]
	mov	rcx, QWORD PTR -1112[rbp]
	lea	rax, -1040[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1064[rbp], rax
	mov	rax, QWORD PTR -1064[rbp]
	lea	rcx, -1064[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -1096[rbp]
	mov	DWORD PTR 82688[rax], edx
	mov	rax, QWORD PTR -1064[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1064[rbp], rax
	mov	rax, QWORD PTR -1064[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1516
	mov	DWORD PTR -1084[rbp], 0
	jmp	.L1517
.L1516:
	mov	rax, QWORD PTR -1064[rbp]
	lea	rcx, -1064[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1084[rbp], eax
.L1517:
	mov	rax, QWORD PTR -1096[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L1547
	mov	rax, QWORD PTR -1096[rbp]
	mov	eax, DWORD PTR 82688[rax]
	test	eax, eax
	jle	.L1520
	mov	rdx, QWORD PTR -1104[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	makevertexmap
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1520
	lea	rdi, .LC1039[rip]
	call	puts@PLT
.L1520:
	mov	DWORD PTR -1072[rbp], 0
	mov	DWORD PTR -1068[rbp], 0
	jmp	.L1521
.L1539:
	mov	rax, QWORD PTR -1104[rbp]
	lea	rdx, 4264[rax]
	mov	rcx, QWORD PTR -1112[rbp]
	lea	rax, -1040[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1064[rbp], rax
	mov	rax, QWORD PTR -1064[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1064[rbp], rax
	mov	rax, QWORD PTR -1064[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1522
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1068[rbp]
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -1120[rbp]
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC1040[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	jmp	.L1523
.L1522:
	mov	rax, QWORD PTR -1064[rbp]
	lea	rcx, -1064[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1080[rbp], eax
.L1523:
	mov	rax, QWORD PTR -1064[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1064[rbp], rax
	mov	rax, QWORD PTR -1064[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1524
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1068[rbp]
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -1120[rbp]
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC1041[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	jmp	.L1525
.L1524:
	mov	rax, QWORD PTR -1064[rbp]
	lea	rcx, -1064[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1076[rbp], eax
.L1525:
	cmp	DWORD PTR -1084[rbp], 0
	je	.L1526
	mov	rax, QWORD PTR -1064[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1064[rbp], rax
	mov	rax, QWORD PTR -1064[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1527
	mov	DWORD PTR -1072[rbp], 0
	jmp	.L1526
.L1527:
	mov	rax, QWORD PTR -1064[rbp]
	lea	rcx, -1064[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1072[rbp], eax
.L1526:
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -1080[rbp], eax
	jl	.L1528
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -1096[rbp]
	mov	eax, DWORD PTR 82680[rax]
	add	eax, edx
	cmp	DWORD PTR -1080[rbp], eax
	jl	.L1529
.L1528:
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1531
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1068[rbp]
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -1120[rbp]
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC1042[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L1531
.L1529:
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -1076[rbp], eax
	jl	.L1532
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -1096[rbp]
	mov	eax, DWORD PTR 82680[rax]
	add	eax, edx
	cmp	DWORD PTR -1076[rbp], eax
	jl	.L1533
.L1532:
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1531
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1068[rbp]
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -1120[rbp]
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC1043[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L1531
.L1533:
	mov	edx, DWORD PTR -1080[rbp]
	mov	rcx, QWORD PTR -1104[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	getvertex
	mov	QWORD PTR -1056[rbp], rax
	mov	edx, DWORD PTR -1076[rbp]
	mov	rcx, QWORD PTR -1104[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	getvertex
	mov	QWORD PTR -1048[rbp], rax
	mov	rax, QWORD PTR -1056[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -1048[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1535
	ucomisd	xmm0, xmm1
	jne	.L1535
	mov	rax, QWORD PTR -1056[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -1048[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1535
	ucomisd	xmm0, xmm1
	jne	.L1535
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1531
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1068[rbp]
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -1120[rbp]
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC1044[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L1531
.L1535:
	mov	edi, DWORD PTR -1072[rbp]
	mov	rcx, QWORD PTR -1048[rbp]
	mov	rdx, QWORD PTR -1056[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	insertsegment
.L1531:
	add	DWORD PTR -1068[rbp], 1
.L1521:
	mov	rax, QWORD PTR -1096[rbp]
	mov	eax, DWORD PTR 82688[rax]
	cmp	DWORD PTR -1068[rbp], eax
	jl	.L1539
	jmp	.L1540
.L1514:
	mov	rax, QWORD PTR -1096[rbp]
	mov	DWORD PTR 82688[rax], 0
.L1540:
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	jne	.L1541
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1513
.L1541:
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1543
	lea	rdi, .LC1045[rip]
	call	puts@PLT
.L1543:
	mov	rdx, QWORD PTR -1104[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	markhull
	jmp	.L1513
.L1547:
	nop
.L1513:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1544
	call	__stack_chk_fail@PLT
.L1544:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	formskeleton, .-formskeleton
	.section	.rodata
	.align 8
.LC1046:
	.string	"  Marking concavities (external triangles) for elimination."
	.text
	.globl	infecthull
	.type	infecthull, @function
infecthull:
.LFB103:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1549
	lea	rdi, .LC1046[rip]
	call	puts@PLT
.L1549:
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR -64[rbp], rax
	mov	DWORD PTR -56[rbp], 0
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -104[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -24[rbp], eax
.L1555:
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	eax, 2
	test	rax, rax
	jne	.L1550
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -96[rbp]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L1551
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	eax, 2
	test	rax, rax
	jne	.L1550
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	or	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 48
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -72[rbp], rax
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1550
.L1551:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 64
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1550
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 64
	mov	DWORD PTR [rax], 1
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1552
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1
.L1552:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1550
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1
.L1550:
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -104[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L1553
.L1554:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -104[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
.L1553:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1554
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -32[rbp]
	cmp	rdx, rax
	jne	.L1555
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	jne	.L1555
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	infecthull, .-infecthull
	.section	.rodata
	.align 8
.LC1047:
	.string	"  Marking neighbors of marked triangles."
	.align 8
.LC1048:
	.string	"    Checking (%.12g, %.12g) (%.12g, %.12g) (%.12g, %.12g)\n"
	.align 8
.LC1049:
	.string	"    Marking (%.12g, %.12g) (%.12g, %.12g) (%.12g, %.12g)\n"
.LC1050:
	.string	"  Deleting marked triangles."
	.align 8
.LC1051:
	.string	"    Deleting vertex (%.12g, %.12g)\n"
	.text
	.globl	plague
	.type	plague, @function
plague:
.LFB104:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -152[rbp], rdi
	mov	QWORD PTR -160[rbp], rsi
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1557
	lea	rdi, .LC1047[rip]
	call	puts@PLT
.L1557:
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	traverse
	mov	QWORD PTR -128[rbp], rax
	jmp	.L1558
.L1570:
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	rax, -3
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1559
	mov	DWORD PTR -40[rbp], 0
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm4, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm3, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1048[rip]
	mov	eax, 6
	call	printf@PLT
.L1559:
	mov	DWORD PTR -40[rbp], 0
	jmp	.L1560
.L1569:
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -120[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L1561
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	eax, 2
	test	rax, rax
	je	.L1562
.L1561:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L1592
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	subsegdealloc
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L1592
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	rax, -3
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82872[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	or	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	QWORD PTR [rax], rdx
	jmp	.L1592
.L1562:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L1565
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1566
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm4, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm3, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1049[rip]
	mov	eax, 6
	call	printf@PLT
.L1566:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	or	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -56[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1564
.L1565:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 64
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1567
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 64
	mov	DWORD PTR [rax], 1
.L1567:
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1568
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1
.L1568:
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1564
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	jmp	.L1564
.L1592:
	nop
.L1564:
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 1
	mov	DWORD PTR -40[rbp], eax
.L1560:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, 2
	jle	.L1569
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	or	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	traverse
	mov	QWORD PTR -128[rbp], rax
.L1558:
	cmp	QWORD PTR -128[rbp], 0
	jne	.L1570
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1571
	lea	rdi, .LC1050[rip]
	call	puts@PLT
.L1571:
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	traverse
	mov	QWORD PTR -128[rbp], rax
	jmp	.L1572
.L1591:
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L1573
.L1586:
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	cmp	QWORD PTR -112[rbp], 0
	je	.L1574
	mov	DWORD PTR -132[rbp], 1
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -120[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1575
.L1579:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	eax, 2
	test	rax, rax
	je	.L1576
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], 0
	jmp	.L1577
.L1576:
	mov	DWORD PTR -132[rbp], 0
.L1577:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -120[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
.L1575:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L1578
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -48[rbp]
	cmp	rdx, rax
	jne	.L1579
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cmp	edx, eax
	jne	.L1579
.L1578:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1580
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -120[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	jmp	.L1581
.L1584:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	eax, 2
	test	rax, rax
	je	.L1582
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR [rax], 0
	jmp	.L1583
.L1582:
	mov	DWORD PTR -132[rbp], 0
.L1583:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -120[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
.L1581:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1584
.L1580:
	cmp	DWORD PTR -132[rbp], 0
	je	.L1574
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 1
	jle	.L1585
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1051[rip]
	mov	eax, 2
	call	printf@PLT
.L1585:
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], -32767
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 82700[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	DWORD PTR 82700[rax], edx
.L1574:
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 1
	mov	DWORD PTR -40[rbp], eax
.L1573:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, 2
	jle	.L1586
	mov	DWORD PTR -40[rbp], 0
	jmp	.L1587
.L1590:
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -120[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1588
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82728[rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR 82728[rax], rdx
	jmp	.L1589
.L1588:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 82728[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR 82728[rax], rdx
.L1589:
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 1
	mov	DWORD PTR -40[rbp], eax
.L1587:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, 2
	jle	.L1590
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	triangledealloc
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	traverse
	mov	QWORD PTR -128[rbp], rax
.L1572:
	cmp	QWORD PTR -128[rbp], 0
	jne	.L1591
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	poolrestart
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	plague, .-plague
	.section	.rodata
.LC1052:
	.string	"  Unmarking marked triangles."
	.text
	.globl	regionplague
	.type	regionplague, @function
regionplague:
.LFB105:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	QWORD PTR -144[rbp], xmm1
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 1
	jle	.L1594
	lea	rdi, .LC1047[rip]
	call	puts@PLT
.L1594:
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	traverse
	mov	QWORD PTR -104[rbp], rax
	jmp	.L1595
.L1603:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	rax, -3
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L1596
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82720[rax]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -136[rbp]
	movsd	QWORD PTR [rax], xmm0
.L1596:
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L1597
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82756[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
.L1597:
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1598
	mov	DWORD PTR -40[rbp], 0
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm4, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm3, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1048[rip]
	mov	eax, 6
	call	printf@PLT
.L1598:
	mov	DWORD PTR -40[rbp], 0
	jmp	.L1599
.L1602:
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L1600
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	eax, 2
	test	rax, rax
	jne	.L1600
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L1600
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 2
	jle	.L1601
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm4, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm3, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1049[rip]
	mov	eax, 6
	call	printf@PLT
.L1601:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	or	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -56[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
.L1600:
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 1
	mov	DWORD PTR -40[rbp], eax
.L1599:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, 2
	jle	.L1602
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	or	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	traverse
	mov	QWORD PTR -104[rbp], rax
.L1595:
	cmp	QWORD PTR -104[rbp], 0
	jne	.L1603
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 1
	jle	.L1604
	lea	rdi, .LC1052[rip]
	call	puts@PLT
.L1604:
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	traverse
	mov	QWORD PTR -104[rbp], rax
	jmp	.L1605
.L1606:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	rax, -3
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	traverse
	mov	QWORD PTR -104[rbp], rax
.L1605:
	cmp	QWORD PTR -104[rbp], 0
	jne	.L1606
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	poolrestart
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	regionplague, .-regionplague
	.section	.rodata
.LC1053:
	.string	"Removing unwanted triangles."
	.align 8
.LC1054:
	.string	"  Marking holes for elimination."
	.align 8
.LC1055:
	.string	"Spreading regional attributes and area constraints."
	.align 8
.LC1056:
	.string	"Spreading regional attributes."
	.align 8
.LC1057:
	.string	"Spreading regional area constraints."
	.text
	.globl	carveholes
	.type	carveholes, @function
carveholes:
.LFB106:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	QWORD PTR -136[rbp], rdx
	mov	DWORD PTR -140[rbp], ecx
	mov	QWORD PTR -152[rbp], r8
	mov	DWORD PTR -144[rbp], r9d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1608
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 80[rax]
	test	eax, eax
	je	.L1609
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	jne	.L1608
.L1609:
	lea	rdi, .LC1053[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1608
	cmp	DWORD PTR -140[rbp], 0
	jle	.L1608
	lea	rdi, .LC1054[rip]
	call	puts@PLT
.L1608:
	cmp	DWORD PTR -144[rbp], 0
	jle	.L1610
	mov	eax, DWORD PTR -144[rbp]
	sal	eax, 4
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	QWORD PTR -96[rbp], rax
	jmp	.L1611
.L1610:
	mov	QWORD PTR -96[rbp], 0
.L1611:
	cmp	DWORD PTR -140[rbp], 0
	jle	.L1612
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 80[rax]
	test	eax, eax
	je	.L1613
.L1612:
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	je	.L1613
	cmp	DWORD PTR -144[rbp], 0
	jle	.L1614
.L1613:
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	r8d, 0
	mov	ecx, 1020
	mov	edx, 1020
	mov	esi, 8
	mov	rdi, rax
	mov	eax, 0
	call	poolinit
.L1614:
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	jne	.L1615
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	infecthull
.L1615:
	cmp	DWORD PTR -140[rbp], 0
	jle	.L1616
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 80[rax]
	test	eax, eax
	jne	.L1616
	mov	DWORD PTR -104[rbp], 0
	jmp	.L1617
.L1624:
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm1, QWORD PTR 82640[rax]
	comisd	xmm0, xmm1
	jb	.L1618
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR 82648[rax]
	comisd	xmm0, xmm1
	jb	.L1618
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm1, QWORD PTR 82656[rax]
	comisd	xmm0, xmm1
	jb	.L1618
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR 82664[rax]
	comisd	xmm0, xmm1
	jb	.L1618
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	lea	rdi, [rdx+rax]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm2, rax
	comisd	xmm2, xmm0
	jbe	.L1618
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	lea	rdi, [rdx+rax]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rcx, rdx
	mov	rdx, rdi
	mov	rdi, rax
	mov	eax, 0
	call	locate
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 3
	je	.L1618
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	eax, 2
	test	rax, rax
	jne	.L1618
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	or	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -64[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR [rax], rdx
.L1618:
	add	DWORD PTR -104[rbp], 2
.L1617:
	mov	eax, DWORD PTR -140[rbp]
	add	eax, eax
	cmp	DWORD PTR -104[rbp], eax
	jl	.L1624
.L1616:
	cmp	DWORD PTR -144[rbp], 0
	jle	.L1625
	mov	DWORD PTR -104[rbp], 0
	jmp	.L1626
.L1633:
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -104[rbp]
	sal	eax, 2
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm1, QWORD PTR 82640[rax]
	comisd	xmm0, xmm1
	jb	.L1627
	mov	eax, DWORD PTR -104[rbp]
	sal	eax, 2
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR 82648[rax]
	comisd	xmm0, xmm1
	jb	.L1627
	mov	eax, DWORD PTR -104[rbp]
	sal	eax, 2
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm1, QWORD PTR 82656[rax]
	comisd	xmm0, xmm1
	jb	.L1627
	mov	eax, DWORD PTR -104[rbp]
	sal	eax, 2
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR 82664[rax]
	comisd	xmm0, xmm1
	jb	.L1627
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82856[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -104[rbp]
	sal	eax, 2
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	lea	rdi, [rdx+rax]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm3, rax
	comisd	xmm3, xmm0
	jbe	.L1627
	mov	eax, DWORD PTR -104[rbp]
	sal	eax, 2
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	lea	rdi, [rdx+rax]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rcx, rdx
	mov	rdx, rdi
	mov	rdi, rax
	mov	eax, 0
	call	locate
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 3
	je	.L1627
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	and	eax, 2
	test	rax, rax
	jne	.L1627
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR 8[rdx], eax
.L1627:
	add	DWORD PTR -104[rbp], 1
.L1626:
	mov	eax, DWORD PTR -104[rbp]
	cmp	eax, DWORD PTR -144[rbp]
	jl	.L1633
.L1625:
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 328[rax]
	test	rax, rax
	jle	.L1634
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	plague
.L1634:
	cmp	DWORD PTR -144[rbp], 0
	jle	.L1635
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1636
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L1637
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L1638
	lea	rdi, .LC1055[rip]
	call	puts@PLT
	jmp	.L1636
.L1638:
	lea	rdi, .LC1056[rip]
	call	puts@PLT
	jmp	.L1636
.L1637:
	lea	rdi, .LC1057[rip]
	call	puts@PLT
.L1636:
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L1639
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L1639
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1640
.L1641:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82720[rax]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -32[rbp], rax
.L1640:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	jne	.L1641
.L1639:
	mov	DWORD PTR -104[rbp], 0
	jmp	.L1642
.L1644:
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L1643
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1643
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	or	rax, 2
	mov	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	add	rax, 48
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -104[rbp]
	sal	eax, 2
	cdqe
	add	rax, 3
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -104[rbp]
	sal	eax, 2
	cdqe
	add	rax, 2
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 2
	call	regionplague
.L1643:
	add	DWORD PTR -104[rbp], 1
.L1642:
	mov	eax, DWORD PTR -104[rbp]
	cmp	eax, DWORD PTR -144[rbp]
	jl	.L1644
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L1635
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L1635
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 82720[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	DWORD PTR 82720[rax], edx
.L1635:
	cmp	DWORD PTR -140[rbp], 0
	jle	.L1645
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 80[rax]
	test	eax, eax
	je	.L1646
.L1645:
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	je	.L1646
	cmp	DWORD PTR -144[rbp], 0
	jle	.L1647
.L1646:
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 264
	mov	rdi, rax
	mov	eax, 0
	call	pooldeinit
.L1647:
	cmp	DWORD PTR -144[rbp], 0
	jle	.L1660
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	trifree
.L1660:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1649
	call	__stack_chk_fail@PLT
.L1649:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	carveholes, .-carveholes
	.globl	tallyencs
	.type	tallyencs, @function
tallyencs:
.LFB107:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 88
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	subsegtraverse
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1662
.L1663:
	lea	rdx, -32[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	checkseg4encroach
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	subsegtraverse
	mov	QWORD PTR -32[rbp], rax
.L1662:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	jne	.L1663
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1664
	call	__stack_chk_fail@PLT
.L1664:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	tallyencs, .-tallyencs
	.section	.rodata
	.align 8
.LC1058:
	.string	"Try increasing the area criterion and/or reducing the minimum"
	.align 8
.LC1059:
	.string	"  allowable angle so that tiny triangles are not created."
	.text
	.globl	precisionerror
	.type	precisionerror, @function
precisionerror:
.LFB108:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC1058[rip]
	call	puts@PLT
	lea	rdi, .LC1059[rip]
	call	puts@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	precisionerror, .-precisionerror
	.section	.rodata
	.align 8
.LC1061:
	.string	"Error:  Ran out of precision at (%.12g, %.12g).\n"
	.align 8
.LC1062:
	.string	"I attempted to split a segment to a smaller size than"
	.align 8
.LC1063:
	.string	"  can be accommodated by the finite precision of"
.LC1064:
	.string	"  floating point arithmetic."
	.align 8
.LC1065:
	.string	"Internal error in splitencsegs():"
	.text
	.globl	splitencsegs
	.type	splitencsegs, @function
splitencsegs:
.LFB109:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -224[rbp], rsi
	mov	DWORD PTR -228[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	jmp	.L1667
.L1708:
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 352
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -216[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	badsubsegtraverse
	mov	QWORD PTR -176[rbp], rax
	jmp	.L1668
.L1706:
	mov	rax, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR [rax]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR [rax]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 2
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -144[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -24[rbp]
	mov	eax, 3
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1669
	mov	rax, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -144[rbp], rax
	jne	.L1669
	mov	rax, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -136[rbp], rax
	jne	.L1669
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	and	eax, 3
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	xor	rax, rdx
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	and	eax, 1
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	and	rax, -4
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -204[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	and	eax, 1
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	and	rax, -4
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -200[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 88[rax]
	test	eax, eax
	jne	.L1670
	cmp	DWORD PTR -204[rbp], 0
	jne	.L1670
	cmp	DWORD PTR -200[rbp], 0
	jne	.L1670
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -168[rbp], rax
	jmp	.L1671
.L1672:
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	deletevertex
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	and	eax, 3
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	xor	rax, rdx
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
.L1671:
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	jne	.L1670
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	ja	.L1672
.L1670:
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L1673
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	and	eax, 1
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	and	rax, -4
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -192[rbp], eax
	cmp	DWORD PTR -200[rbp], 0
	jne	.L1674
	cmp	DWORD PTR -192[rbp], 0
	je	.L1675
.L1674:
	mov	eax, 1
	jmp	.L1676
.L1675:
	mov	eax, 0
.L1676:
	mov	DWORD PTR -200[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	and	eax, 1
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	and	rax, -4
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -188[rbp], eax
	cmp	DWORD PTR -204[rbp], 0
	jne	.L1677
	cmp	DWORD PTR -188[rbp], 0
	je	.L1678
.L1677:
	mov	eax, 1
	jmp	.L1679
.L1678:
	mov	eax, 0
.L1679:
	mov	DWORD PTR -204[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 88[rax]
	test	eax, eax
	jne	.L1673
	cmp	DWORD PTR -188[rbp], 0
	jne	.L1673
	cmp	DWORD PTR -192[rbp], 0
	jne	.L1673
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -168[rbp], rax
	jmp	.L1680
.L1681:
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	deletevertex
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	and	eax, 3
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	xor	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -168[rbp], rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -56[rbp], eax
.L1680:
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	jne	.L1673
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	ja	.L1681
.L1673:
	cmp	DWORD PTR -204[rbp], 0
	jne	.L1682
	cmp	DWORD PTR -200[rbp], 0
	je	.L1683
.L1682:
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -112[rbp], rax
	movsd	xmm0, QWORD PTR .LC882[rip]
	movsd	QWORD PTR -160[rbp], xmm0
	jmp	.L1684
.L1685:
	movsd	xmm0, QWORD PTR -160[rbp]
	addsd	xmm0, xmm0
	movsd	QWORD PTR -160[rbp], xmm0
.L1684:
	movsd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR .LC918[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	comisd	xmm0, xmm1
	ja	.L1685
	jmp	.L1686
.L1687:
	movsd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -160[rbp], xmm0
.L1686:
	movsd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR .LC1060[rip]
	mulsd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -112[rbp]
	ja	.L1687
	movsd	xmm0, QWORD PTR -160[rbp]
	divsd	xmm0, QWORD PTR -112[rbp]
	movsd	QWORD PTR -152[rbp], xmm0
	cmp	DWORD PTR -200[rbp], 0
	je	.L1689
	movsd	xmm0, QWORD PTR .LC882[rip]
	subsd	xmm0, QWORD PTR -152[rbp]
	movsd	QWORD PTR -152[rbp], xmm0
	jmp	.L1689
.L1683:
	movsd	xmm0, QWORD PTR .LC916[rip]
	movsd	QWORD PTR -152[rbp], xmm0
.L1689:
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -104[rbp], rax
	mov	DWORD PTR -196[rbp], 0
	jmp	.L1690
.L1691:
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm0, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -196[rbp], 1
.L1690:
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 82716[rax]
	add	eax, 1
	cmp	DWORD PTR -196[rbp], eax
	jle	.L1691
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 84[rax]
	test	eax, eax
	jne	.L1692
	mov	rdi, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -144[rbp]
	mov	rsi, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm3, QWORD PTR [rax]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -96[rbp]
	jp	.L1710
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -96[rbp]
	je	.L1692
.L1710:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -88[rbp]
	jp	.L1711
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -88[rbp]
	je	.L1692
.L1711:
	movsd	xmm0, QWORD PTR -96[rbp]
	divsd	xmm0, QWORD PTR -88[rbp]
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	ucomisd	xmm0, QWORD PTR -96[rbp]
	jp	.L1692
	movsd	xmm0, QWORD PTR -96[rbp]
	ucomisd	xmm0, QWORD PTR -96[rbp]
	jne	.L1692
	mov	rax, QWORD PTR -104[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm0, QWORD PTR -96[rbp]
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -104[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm2, QWORD PTR [rax]
	subsd	xmm0, xmm2
	mulsd	xmm0, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
.L1692:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -216[rbp]
	mov	edx, DWORD PTR 82740[rdx]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -104[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR 64[rax]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 1
	jle	.L1696
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm4, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	movsd	xmm3, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1027[rip]
	mov	eax, 6
	call	printf@PLT
.L1696:
	mov	rax, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1697
	ucomisd	xmm0, xmm1
	jne	.L1697
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1697
	ucomisd	xmm0, xmm1
	je	.L1699
.L1697:
	mov	rax, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1701
	ucomisd	xmm0, xmm1
	jne	.L1701
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1701
	ucomisd	xmm0, xmm1
	jne	.L1701
.L1699:
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1061[rip]
	mov	eax, 2
	call	printf@PLT
	lea	rdi, .LC1062[rip]
	call	puts@PLT
	lea	rdi, .LC1063[rip]
	call	puts@PLT
	lea	rdi, .LC1064[rip]
	call	puts@PLT
	mov	eax, 0
	call	precisionerror
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1701:
	lea	r8, -32[rbp]
	lea	rcx, -80[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -216[rbp]
	sub	rsp, 8
	mov	edi, DWORD PTR -228[rbp]
	push	rdi
	mov	r9d, 1
	mov	rdi, rax
	mov	eax, 0
	call	insertvertex
	add	rsp, 16
	mov	DWORD PTR -184[rbp], eax
	cmp	DWORD PTR -184[rbp], 0
	je	.L1704
	cmp	DWORD PTR -184[rbp], 1
	je	.L1704
	lea	rdi, .LC1065[rip]
	call	puts@PLT
	lea	rdi, .LC1028[rip]
	call	puts@PLT
	mov	eax, 0
	call	internalerror
.L1704:
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 82736[rax]
	test	eax, eax
	jle	.L1705
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 82736[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	DWORD PTR 82736[rax], edx
.L1705:
	lea	rdx, -32[rbp]
	mov	rcx, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	checkseg4encroach
	mov	DWORD PTR -180[rbp], eax
	mov	rdx, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -24[rbp]
	mov	eax, 1
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	and	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	and	rax, -4
	mov	QWORD PTR -32[rbp], rax
	lea	rdx, -32[rbp]
	mov	rcx, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	checkseg4encroach
	mov	DWORD PTR -180[rbp], eax
.L1669:
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	badsubsegdealloc
	mov	rax, QWORD PTR -216[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	badsubsegtraverse
	mov	QWORD PTR -176[rbp], rax
.L1668:
	cmp	QWORD PTR -176[rbp], 0
	je	.L1667
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 82736[rax]
	test	eax, eax
	jne	.L1706
.L1667:
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR 416[rax]
	test	rax, rax
	jle	.L1715
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 82736[rax]
	test	eax, eax
	jne	.L1708
.L1715:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1709
	call	__stack_chk_fail@PLT
.L1709:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	splitencsegs, .-splitencsegs
	.section	.rodata
	.align 8
.LC1066:
	.string	"  Making a list of bad triangles."
	.text
	.globl	tallyfaces
	.type	tallyfaces, @function
tallyfaces:
.LFB110:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1717
	lea	rdi, .LC1066[rip]
	call	puts@PLT
.L1717:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1718
.L1719:
	lea	rdx, -32[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	testtriangle
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -32[rbp], rax
.L1718:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	jne	.L1719
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1720
	call	__stack_chk_fail@PLT
.L1720:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	tallyfaces, .-tallyfaces
	.section	.rodata
	.align 8
.LC1067:
	.string	"  Splitting this triangle at its circumcenter:"
	.align 8
.LC1068:
	.string	"Warning:  New vertex (%.12g, %.12g) falls on existing vertex.\n"
.LC1069:
	.string	"  Rejecting (%.12g, %.12g).\n"
	.align 8
.LC1070:
	.string	"  The new vertex is at the circumcenter of triangle"
	.align 8
.LC1071:
	.string	"This probably means that I am trying to refine triangles"
	.align 8
.LC1072:
	.string	"  to a smaller size than can be accommodated by the finite"
	.align 8
.LC1073:
	.string	"  precision of floating point arithmetic.  (You can be"
	.align 8
.LC1074:
	.string	"  sure of this if I fail to terminate.)"
	.text
	.globl	splittriangle
	.type	splittriangle, @function
splittriangle:
.LFB111:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1751
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -64[rbp], rax
	jne	.L1751
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	QWORD PTR -56[rbp], rax
	jne	.L1751
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 32[rax]
	cmp	QWORD PTR -48[rbp], rax
	jne	.L1751
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 1
	jle	.L1723
	lea	rdi, .LC1067[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	movsd	xmm4, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	movsd	xmm3, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC959[rip]
	mov	eax, 6
	call	printf@PLT
.L1723:
	mov	DWORD PTR -92[rbp], 0
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -40[rbp], rax
	mov	r9, QWORD PTR -40[rbp]
	mov	r8, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	1
	lea	rdi, -72[rbp]
	push	rdi
	lea	rdi, -80[rbp]
	push	rdi
	mov	rdi, rax
	mov	eax, 0
	call	findcircumcenter
	add	rsp, 32
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1724
	ucomisd	xmm0, xmm1
	jne	.L1724
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1724
	ucomisd	xmm0, xmm1
	je	.L1726
.L1724:
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1728
	ucomisd	xmm0, xmm1
	jne	.L1728
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1728
	ucomisd	xmm0, xmm1
	je	.L1726
.L1728:
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1731
	ucomisd	xmm0, xmm1
	jne	.L1731
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	ucomisd	xmm0, xmm1
	jp	.L1731
	ucomisd	xmm0, xmm1
	jne	.L1731
.L1726:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1734
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1068[rip]
	mov	eax, 2
	call	printf@PLT
	mov	DWORD PTR -92[rbp], 1
.L1734:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	vertexdealloc
	jmp	.L1735
.L1731:
	mov	DWORD PTR -88[rbp], 2
	jmp	.L1736
.L1737:
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, xmm2
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -88[rbp], 1
.L1736:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82716[rax]
	add	eax, 1
	cmp	DWORD PTR -88[rbp], eax
	jle	.L1737
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 2
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	comisd	xmm0, xmm1
	jbe	.L1738
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
.L1738:
	lea	rcx, -32[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	1
	mov	r9d, 1
	mov	r8d, 0
	mov	rdi, rax
	mov	eax, 0
	call	insertvertex
	add	rsp, 16
	mov	DWORD PTR -84[rbp], eax
	cmp	DWORD PTR -84[rbp], 0
	jne	.L1740
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82736[rax]
	test	eax, eax
	jle	.L1735
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82736[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 82736[rax], edx
	jmp	.L1735
.L1740:
	cmp	DWORD PTR -84[rbp], 1
	jne	.L1741
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	undovertex
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 1
	jle	.L1742
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1069[rip]
	mov	eax, 2
	call	printf@PLT
.L1742:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	vertexdealloc
	jmp	.L1735
.L1741:
	cmp	DWORD PTR -84[rbp], 2
	jne	.L1743
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	vertexdealloc
	jmp	.L1735
.L1743:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1744
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1068[rip]
	mov	eax, 2
	call	printf@PLT
	mov	DWORD PTR -92[rbp], 1
.L1744:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	vertexdealloc
.L1735:
	cmp	DWORD PTR -92[rbp], 0
	je	.L1751
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1745
	lea	rdi, .LC1070[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	movsd	xmm4, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	movsd	xmm3, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC959[rip]
	mov	eax, 6
	call	printf@PLT
.L1745:
	lea	rdi, .LC1071[rip]
	call	puts@PLT
	lea	rdi, .LC1072[rip]
	call	puts@PLT
	lea	rdi, .LC1073[rip]
	call	puts@PLT
	lea	rdi, .LC1074[rip]
	call	puts@PLT
	mov	eax, 0
	call	precisionerror
.L1751:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1746
	call	__stack_chk_fail@PLT
.L1746:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	splittriangle, .-splittriangle
	.section	.rodata
	.align 8
.LC1075:
	.string	"Adding Steiner points to enforce quality."
	.align 8
.LC1076:
	.string	"  Looking for encroached subsegments."
	.align 8
.LC1077:
	.string	"  Splitting encroached subsegments."
.LC1078:
	.string	"  Splitting bad triangles."
	.align 8
.LC1079:
	.string	"\nWarning:  I ran out of Steiner points, but the mesh has"
	.align 8
.LC1080:
	.string	"  one encroached subsegment, and therefore might not be truly"
	.align 8
.LC1081:
	.string	"  %ld encroached subsegments, and therefore might not be truly\n"
	.align 8
.LC1082:
	.string	"  Delaunay.  If the Delaunay property is important to you,"
	.align 8
.LC1083:
	.string	"  try increasing the number of Steiner points (controlled by"
	.align 8
.LC1084:
	.string	"  the -S switch) slightly and try again.\n"
	.text
	.globl	enforcequality
	.type	enforcequality, @function
enforcequality:
.LFB112:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1753
	lea	rdi, .LC1075[rip]
	call	puts@PLT
.L1753:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 352
	mov	r8d, 0
	mov	ecx, 252
	mov	edx, 252
	mov	esi, 24
	mov	rdi, rax
	mov	eax, 0
	call	poolinit
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1754
	lea	rdi, .LC1076[rip]
	call	puts@PLT
.L1754:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	tallyencs
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1755
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 416[rax]
	test	rax, rax
	jle	.L1755
	lea	rdi, .LC1077[rip]
	call	puts@PLT
.L1755:
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	splitencsegs
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR 136[rax]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	ja	.L1756
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L1756
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L1756
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L1757
.L1756:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 440
	mov	r8d, 0
	mov	ecx, 4092
	mov	edx, 4092
	mov	esi, 48
	mov	rdi, rax
	mov	eax, 0
	call	poolinit
	mov	DWORD PTR -12[rbp], 0
	jmp	.L1758
.L1759:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	add	rdx, 88
	mov	QWORD PTR [rax+rdx*8], 0
	add	DWORD PTR -12[rbp], 1
.L1758:
	cmp	DWORD PTR -12[rbp], 4095
	jle	.L1759
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 82624[rax], -1
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	tallyfaces
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 528
	mov	r8d, 0
	mov	ecx, 252
	mov	edx, 252
	mov	esi, 16
	mov	rdi, rax
	mov	eax, 0
	call	poolinit
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 82764[rax], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L1761
	lea	rdi, .LC1078[rip]
	call	puts@PLT
	jmp	.L1761
.L1763:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	dequeuebadtriang
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	splittriangle
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 416[rax]
	test	rax, rax
	jle	.L1762
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	enqueuebadtriang
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	splitencsegs
	jmp	.L1761
.L1762:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 440[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	pooldealloc
.L1761:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 504[rax]
	test	rax, rax
	jle	.L1757
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82736[rax]
	test	eax, eax
	jne	.L1763
.L1757:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1767
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 88[rax]
	test	eax, eax
	je	.L1767
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 416[rax]
	test	rax, rax
	jle	.L1767
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82736[rax]
	test	eax, eax
	jne	.L1767
	lea	rdi, .LC1079[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 416[rax]
	cmp	rax, 1
	jne	.L1765
	lea	rdi, .LC1080[rip]
	call	puts@PLT
	jmp	.L1766
.L1765:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 416[rax]
	mov	rsi, rax
	lea	rdi, .LC1081[rip]
	mov	eax, 0
	call	printf@PLT
.L1766:
	lea	rdi, .LC1082[rip]
	call	puts@PLT
	lea	rdi, .LC1083[rip]
	call	puts@PLT
	lea	rdi, .LC1084[rip]
	call	puts@PLT
.L1767:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE112:
	.size	enforcequality, .-enforcequality
	.section	.rodata
	.align 8
.LC1085:
	.string	"Adding vertices for second-order triangles."
.LC1086:
	.string	"  Creating (%.12g, %.12g).\n"
	.text
	.globl	highorder
	.type	highorder, @function
highorder:
.LFB113:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1769
	lea	rdi, .LC1085[rip]
	call	puts@PLT
.L1769:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR 200[rax], 0
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1770
.L1781:
	mov	DWORD PTR -40[rbp], 0
	jmp	.L1771
.L1780:
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -32[rbp]
	cmp	rdx, rax
	jb	.L1772
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1773
.L1772:
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -64[rbp], rax
	mov	DWORD PTR -92[rbp], 0
	jmp	.L1774
.L1775:
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	addsd	xmm1, xmm0
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -92[rbp], 1
.L1774:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82716[rax]
	add	eax, 1
	cmp	DWORD PTR -92[rbp], eax
	jle	.L1775
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	sete	cl
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rdx, rax
	movzx	eax, cl
	mov	DWORD PTR [rdx], eax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1776
	mov	edx, 2
	jmp	.L1777
.L1776:
	mov	edx, 1
.L1777:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rcx
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 120[rax]
	test	eax, eax
	je	.L1778
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	je	.L1778
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 82740[rdx]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -64[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR 64[rax]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1
.L1778:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	eax, 1
	jle	.L1779
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1086[rip]
	mov	eax, 2
	call	printf@PLT
.L1779:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	ecx, DWORD PTR 82748[rax]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	je	.L1773
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	ecx, DWORD PTR 82748[rax]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR [rdx], rax
.L1773:
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 1
	mov	DWORD PTR -40[rbp], eax
.L1771:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, 2
	jle	.L1780
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -48[rbp], rax
.L1770:
	mov	rax, QWORD PTR -48[rbp]
	test	rax, rax
	jne	.L1781
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE113:
	.size	highorder, .-highorder
	.section	.rodata
	.align 8
.LC1087:
	.string	"  Error:  Unexpected end of file in %s.\n"
	.text
	.globl	readline
	.type	readline, @function
readline:
.LFB114:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
.L1787:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1024
	mov	rdi, rax
	call	fgets@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1784
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, .LC1087[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	jmp	.L1784
.L1786:
	add	QWORD PTR -8[rbp], 1
.L1784:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1785
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	je	.L1785
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L1785
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L1785
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L1785
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L1786
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jg	.L1786
.L1785:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	je	.L1787
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1787
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE114:
	.size	readline, .-readline
	.globl	findfield
	.type	findfield, @function
findfield:
.LFB115:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1790
.L1792:
	add	QWORD PTR -8[rbp], 1
.L1790:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1793
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	je	.L1793
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L1793
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 9
	jne	.L1792
	jmp	.L1793
.L1795:
	add	QWORD PTR -8[rbp], 1
.L1793:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1794
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	je	.L1794
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L1794
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L1794
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L1794
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L1795
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jg	.L1795
.L1794:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	jne	.L1796
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], 0
.L1796:
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE115:
	.size	findfield, .-findfield
	.section	.rodata
	.align 8
.LC1088:
	.string	"Error:  Input must have at least three input vertices."
	.align 8
.LC1089:
	.string	"Error:  Triangle only works with two-dimensional meshes."
	.align 8
.LC1090:
	.string	"Error:  Vertex %d has no x coordinate.\n"
	.align 8
.LC1091:
	.string	"Error:  Vertex %d has no y coordinate.\n"
	.text
	.globl	readnodes
	.type	readnodes, @function
readnodes:
.LFB116:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 1176
	.cfi_offset 3, -24
	mov	QWORD PTR -1144[rbp], rdi
	mov	QWORD PTR -1152[rbp], rsi
	mov	QWORD PTR -1160[rbp], rdx
	mov	QWORD PTR -1168[rbp], rcx
	mov	QWORD PTR -1176[rbp], r8
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L1799
	mov	rax, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1800
	mov	rax, QWORD PTR -1168[rbp]
	mov	rsi, rax
	lea	rdi, .LC1009[rip]
	mov	eax, 0
	call	printf@PLT
.L1800:
	mov	rax, QWORD PTR -1168[rbp]
	lea	rsi, .LC1010[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	rdx, QWORD PTR -1176[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -1176[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1801
	mov	rax, QWORD PTR -1168[rbp]
	mov	rsi, rax
	lea	rdi, .LC1011[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1801:
	mov	rax, QWORD PTR -1176[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -1168[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	lea	rcx, -1104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82680[rax], edx
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1802
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82712[rax], 2
	jmp	.L1803
.L1802:
	mov	rax, QWORD PTR -1104[rbp]
	lea	rcx, -1104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82712[rax], edx
.L1803:
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1804
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82716[rax], 0
	jmp	.L1805
.L1804:
	mov	rax, QWORD PTR -1104[rbp]
	lea	rcx, -1104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82716[rax], edx
.L1805:
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1806
	mov	DWORD PTR -1124[rbp], 0
	jmp	.L1807
.L1806:
	mov	rax, QWORD PTR -1104[rbp]
	lea	rcx, -1104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1124[rbp], eax
.L1807:
	mov	rax, QWORD PTR -1144[rbp]
	mov	eax, DWORD PTR 82680[rax]
	test	eax, eax
	jle	.L1808
	mov	rax, QWORD PTR -1176[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1096[rbp], rax
	mov	rax, QWORD PTR -1168[rbp]
	mov	QWORD PTR -1088[rbp], rax
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82768[rax], 0
	jmp	.L1809
.L1808:
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82768[rax], 1
	mov	rax, QWORD PTR -1160[rbp]
	mov	QWORD PTR -1088[rbp], rax
	jmp	.L1809
.L1799:
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82768[rax], 1
	mov	rax, QWORD PTR -1160[rbp]
	mov	QWORD PTR -1088[rbp], rax
	mov	rax, QWORD PTR -1176[rbp]
	mov	QWORD PTR [rax], 0
.L1809:
	mov	rax, QWORD PTR -1144[rbp]
	mov	eax, DWORD PTR 82768[rax]
	test	eax, eax
	je	.L1810
	mov	rax, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1811
	mov	rax, QWORD PTR -1160[rbp]
	mov	rsi, rax
	lea	rdi, .LC1009[rip]
	mov	eax, 0
	call	printf@PLT
.L1811:
	mov	rax, QWORD PTR -1160[rbp]
	lea	rsi, .LC1010[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -1096[rbp], rax
	cmp	QWORD PTR -1096[rbp], 0
	jne	.L1812
	mov	rax, QWORD PTR -1160[rbp]
	mov	rsi, rax
	lea	rdi, .LC1011[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1812:
	mov	rdx, QWORD PTR -1160[rbp]
	mov	rcx, QWORD PTR -1096[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	lea	rcx, -1104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82680[rax], edx
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1813
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82712[rax], 2
	jmp	.L1814
.L1813:
	mov	rax, QWORD PTR -1104[rbp]
	lea	rcx, -1104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82712[rax], edx
.L1814:
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1815
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82716[rax], 0
	jmp	.L1816
.L1815:
	mov	rax, QWORD PTR -1104[rbp]
	lea	rcx, -1104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -1144[rbp]
	mov	DWORD PTR 82716[rax], edx
.L1816:
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1817
	mov	DWORD PTR -1124[rbp], 0
	jmp	.L1810
.L1817:
	mov	rax, QWORD PTR -1104[rbp]
	lea	rcx, -1104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1124[rbp], eax
.L1810:
	mov	rax, QWORD PTR -1144[rbp]
	mov	eax, DWORD PTR 82680[rax]
	cmp	eax, 2
	jg	.L1818
	lea	rdi, .LC1088[rip]
	call	puts@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1818:
	mov	rax, QWORD PTR -1144[rbp]
	mov	eax, DWORD PTR 82712[rax]
	cmp	eax, 2
	je	.L1819
	lea	rdi, .LC1089[rip]
	call	puts@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1819:
	mov	rax, QWORD PTR -1144[rbp]
	mov	eax, DWORD PTR 82716[rax]
	test	eax, eax
	jne	.L1820
	mov	rax, QWORD PTR -1152[rbp]
	mov	DWORD PTR 32[rax], 0
.L1820:
	mov	rdx, QWORD PTR -1152[rbp]
	mov	rax, QWORD PTR -1144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	initializevertexpool
	mov	DWORD PTR -1120[rbp], 0
	jmp	.L1821
.L1847:
	mov	rax, QWORD PTR -1144[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	poolalloc
	mov	QWORD PTR -1080[rbp], rax
	mov	rdx, QWORD PTR -1088[rbp]
	mov	rcx, QWORD PTR -1096[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1104[rbp], rax
	cmp	DWORD PTR -1120[rbp], 0
	jne	.L1822
	mov	rax, QWORD PTR -1104[rbp]
	lea	rcx, -1104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1112[rbp], eax
	cmp	DWORD PTR -1112[rbp], 0
	je	.L1823
	cmp	DWORD PTR -1112[rbp], 1
	jne	.L1822
.L1823:
	mov	rax, QWORD PTR -1152[rbp]
	mov	edx, DWORD PTR -1112[rbp]
	mov	DWORD PTR 40[rax], edx
.L1822:
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1824
	mov	rax, QWORD PTR -1152[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1120[rbp]
	add	eax, edx
	mov	esi, eax
	lea	rdi, .LC1090[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1824:
	mov	rax, QWORD PTR -1104[rbp]
	lea	rdx, -1104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR -1072[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1825
	mov	rax, QWORD PTR -1152[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1120[rbp]
	add	eax, edx
	mov	esi, eax
	lea	rdi, .LC1091[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1825:
	mov	rax, QWORD PTR -1104[rbp]
	lea	rdx, -1104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR -1064[rbp], rax
	mov	rax, QWORD PTR -1080[rbp]
	movsd	xmm0, QWORD PTR -1072[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -1080[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR -1064[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	DWORD PTR -1116[rbp], 2
	jmp	.L1826
.L1829:
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1827
	mov	eax, DWORD PTR -1116[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1080[rbp]
	add	rax, rdx
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	jmp	.L1828
.L1827:
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR -1116[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -1080[rbp]
	lea	rbx, [rcx+rdx]
	lea	rdx, -1104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
.L1828:
	add	DWORD PTR -1116[rbp], 1
.L1826:
	mov	rax, QWORD PTR -1144[rbp]
	mov	eax, DWORD PTR 82716[rax]
	add	eax, 1
	cmp	DWORD PTR -1116[rbp], eax
	jle	.L1829
	cmp	DWORD PTR -1124[rbp], 0
	je	.L1830
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1104[rbp], rax
	mov	rax, QWORD PTR -1104[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1831
	mov	rax, QWORD PTR -1144[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1080[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	jmp	.L1832
.L1831:
	mov	rax, QWORD PTR -1104[rbp]
	lea	rcx, -1104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -1108[rbp], eax
	mov	rax, QWORD PTR -1144[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1080[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -1108[rbp]
	mov	DWORD PTR [rdx], eax
	jmp	.L1832
.L1830:
	mov	rax, QWORD PTR -1144[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1080[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 0
.L1832:
	mov	rax, QWORD PTR -1144[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1080[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	cmp	DWORD PTR -1120[rbp], 0
	jne	.L1833
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm0, QWORD PTR -1072[rbp]
	movsd	QWORD PTR 82648[rax], xmm0
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm0, QWORD PTR 82648[rax]
	mov	rax, QWORD PTR -1144[rbp]
	movsd	QWORD PTR 82640[rax], xmm0
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm0, QWORD PTR -1064[rbp]
	movsd	QWORD PTR 82664[rax], xmm0
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm0, QWORD PTR 82664[rax]
	mov	rax, QWORD PTR -1144[rbp]
	movsd	QWORD PTR 82656[rax], xmm0
	jmp	.L1834
.L1833:
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm0, QWORD PTR 82640[rax]
	comisd	xmm0, QWORD PTR -1072[rbp]
	jbe	.L1854
	movsd	xmm0, QWORD PTR -1072[rbp]
	jmp	.L1837
.L1854:
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm0, QWORD PTR 82640[rax]
.L1837:
	mov	rax, QWORD PTR -1144[rbp]
	movsd	QWORD PTR 82640[rax], xmm0
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm1, QWORD PTR 82648[rax]
	movsd	xmm0, QWORD PTR -1072[rbp]
	comisd	xmm0, xmm1
	jbe	.L1855
	movsd	xmm0, QWORD PTR -1072[rbp]
	jmp	.L1840
.L1855:
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm0, QWORD PTR 82648[rax]
.L1840:
	mov	rax, QWORD PTR -1144[rbp]
	movsd	QWORD PTR 82648[rax], xmm0
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm0, QWORD PTR 82656[rax]
	comisd	xmm0, QWORD PTR -1064[rbp]
	jbe	.L1856
	movsd	xmm0, QWORD PTR -1064[rbp]
	jmp	.L1843
.L1856:
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm0, QWORD PTR 82656[rax]
.L1843:
	mov	rax, QWORD PTR -1144[rbp]
	movsd	QWORD PTR 82656[rax], xmm0
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm1, QWORD PTR 82664[rax]
	movsd	xmm0, QWORD PTR -1064[rbp]
	comisd	xmm0, xmm1
	jbe	.L1857
	movsd	xmm0, QWORD PTR -1064[rbp]
	jmp	.L1846
.L1857:
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm0, QWORD PTR 82664[rax]
.L1846:
	mov	rax, QWORD PTR -1144[rbp]
	movsd	QWORD PTR 82664[rax], xmm0
.L1834:
	add	DWORD PTR -1120[rbp], 1
.L1821:
	mov	rax, QWORD PTR -1144[rbp]
	mov	eax, DWORD PTR 82680[rax]
	cmp	DWORD PTR -1120[rbp], eax
	jl	.L1847
	mov	rax, QWORD PTR -1144[rbp]
	mov	eax, DWORD PTR 82768[rax]
	test	eax, eax
	je	.L1848
	mov	rax, QWORD PTR -1096[rbp]
	mov	rdi, rax
	call	fclose@PLT
.L1848:
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm1, QWORD PTR 82640[rax]
	movsd	xmm0, QWORD PTR .LC925[rip]
	mulsd	xmm0, xmm1
	mov	rax, QWORD PTR -1144[rbp]
	movsd	xmm2, QWORD PTR 82648[rax]
	movsd	xmm1, QWORD PTR .LC923[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -1144[rbp]
	movsd	QWORD PTR 82672[rax], xmm0
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1849
	call	__stack_chk_fail@PLT
.L1849:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE116:
	.size	readnodes, .-readnodes
	.section	.rodata
	.align 8
.LC1092:
	.string	"Error:  Hole %d has no x coordinate.\n"
	.align 8
.LC1093:
	.string	"Error:  Hole %d has no y coordinate.\n"
	.align 8
.LC1094:
	.string	"Error:  Region %d has no x coordinate.\n"
	.align 8
.LC1095:
	.string	"Error:  Region %d has no y coordinate.\n"
	.align 8
.LC1096:
	.string	"Error:  Region %d has no region attribute or area constraint.\n"
	.text
	.globl	readholes
	.type	readholes, @function
readholes:
.LFB117:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 1144
	.cfi_offset 3, -24
	mov	QWORD PTR -1096[rbp], rdi
	mov	QWORD PTR -1104[rbp], rsi
	mov	QWORD PTR -1112[rbp], rdx
	mov	QWORD PTR -1120[rbp], rcx
	mov	QWORD PTR -1128[rbp], r8
	mov	QWORD PTR -1136[rbp], r9
	mov	rax, QWORD PTR 16[rbp]
	mov	QWORD PTR -1144[rbp], rax
	mov	rax, QWORD PTR 24[rbp]
	mov	QWORD PTR -1152[rbp], rax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -1120[rbp]
	mov	rcx, QWORD PTR -1112[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1080[rbp], rax
	mov	rax, QWORD PTR -1080[rbp]
	lea	rcx, -1080[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -1136[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -1136[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jle	.L1859
	mov	rax, QWORD PTR -1136[rbp]
	mov	eax, DWORD PTR [rax]
	sal	eax, 4
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	QWORD PTR -1072[rbp], rax
	mov	rax, QWORD PTR -1128[rbp]
	mov	rdx, QWORD PTR -1072[rbp]
	mov	QWORD PTR [rax], rdx
	mov	DWORD PTR -1084[rbp], 0
	jmp	.L1860
.L1865:
	mov	rdx, QWORD PTR -1120[rbp]
	mov	rcx, QWORD PTR -1112[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1080[rbp], rax
	mov	rax, QWORD PTR -1080[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1080[rbp], rax
	mov	rax, QWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1861
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1084[rbp]
	sar	eax
	add	eax, edx
	mov	esi, eax
	lea	rdi, .LC1092[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	jmp	.L1862
.L1861:
	mov	rax, QWORD PTR -1080[rbp]
	mov	edx, DWORD PTR -1084[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -1072[rbp]
	lea	rbx, [rcx+rdx]
	lea	rdx, -1080[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
.L1862:
	mov	rax, QWORD PTR -1080[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1080[rbp], rax
	mov	rax, QWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1863
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1084[rbp]
	sar	eax
	add	eax, edx
	mov	esi, eax
	lea	rdi, .LC1093[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	jmp	.L1864
.L1863:
	mov	rax, QWORD PTR -1080[rbp]
	mov	edx, DWORD PTR -1084[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -1072[rbp]
	lea	rbx, [rcx+rdx]
	lea	rdx, -1080[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
.L1864:
	add	DWORD PTR -1084[rbp], 2
.L1860:
	mov	rax, QWORD PTR -1136[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, eax
	cmp	DWORD PTR -1084[rbp], eax
	jl	.L1865
	jmp	.L1866
.L1859:
	mov	rax, QWORD PTR -1128[rbp]
	mov	QWORD PTR [rax], 0
.L1866:
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1867
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L1868
.L1867:
	mov	rax, QWORD PTR -1104[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L1868
	mov	rdx, QWORD PTR -1120[rbp]
	mov	rcx, QWORD PTR -1112[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1080[rbp], rax
	mov	rax, QWORD PTR -1080[rbp]
	lea	rcx, -1080[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -1152[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jle	.L1880
	mov	rax, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR [rax]
	sal	eax, 5
	mov	edi, eax
	mov	eax, 0
	call	trimalloc
	mov	QWORD PTR -1064[rbp], rax
	mov	rax, QWORD PTR -1144[rbp]
	mov	rdx, QWORD PTR -1064[rbp]
	mov	QWORD PTR [rax], rdx
	mov	DWORD PTR -1088[rbp], 0
	mov	DWORD PTR -1084[rbp], 0
	jmp	.L1870
.L1879:
	mov	rdx, QWORD PTR -1120[rbp]
	mov	rcx, QWORD PTR -1112[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	readline
	mov	QWORD PTR -1080[rbp], rax
	mov	rax, QWORD PTR -1080[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1080[rbp], rax
	mov	rax, QWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1871
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1084[rbp]
	add	eax, edx
	mov	esi, eax
	lea	rdi, .LC1094[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	jmp	.L1872
.L1871:
	mov	rdx, QWORD PTR -1080[rbp]
	mov	eax, DWORD PTR -1088[rbp]
	lea	ecx, 1[rax]
	mov	DWORD PTR -1088[rbp], ecx
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -1064[rbp]
	lea	rbx, [rcx+rax]
	lea	rax, -1080[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
.L1872:
	mov	rax, QWORD PTR -1080[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1080[rbp], rax
	mov	rax, QWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1873
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1084[rbp]
	add	eax, edx
	mov	esi, eax
	lea	rdi, .LC1095[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	jmp	.L1874
.L1873:
	mov	rdx, QWORD PTR -1080[rbp]
	mov	eax, DWORD PTR -1088[rbp]
	lea	ecx, 1[rax]
	mov	DWORD PTR -1088[rbp], ecx
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -1064[rbp]
	lea	rbx, [rcx+rax]
	lea	rax, -1080[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
.L1874:
	mov	rax, QWORD PTR -1080[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1080[rbp], rax
	mov	rax, QWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1875
	mov	rax, QWORD PTR -1104[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -1084[rbp]
	add	eax, edx
	mov	esi, eax
	lea	rdi, .LC1096[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
	jmp	.L1876
.L1875:
	mov	rdx, QWORD PTR -1080[rbp]
	mov	eax, DWORD PTR -1088[rbp]
	lea	ecx, 1[rax]
	mov	DWORD PTR -1088[rbp], ecx
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -1064[rbp]
	lea	rbx, [rcx+rax]
	lea	rax, -1080[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
.L1876:
	mov	rax, QWORD PTR -1080[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	findfield
	mov	QWORD PTR -1080[rbp], rax
	mov	rax, QWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1877
	mov	eax, DWORD PTR -1088[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -1064[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -1088[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -1064[rbp]
	add	rax, rcx
	movsd	xmm0, QWORD PTR [rdx]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L1878
.L1877:
	mov	rax, QWORD PTR -1080[rbp]
	mov	edx, DWORD PTR -1088[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -1064[rbp]
	lea	rbx, [rcx+rdx]
	lea	rdx, -1080[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
.L1878:
	add	DWORD PTR -1088[rbp], 1
	add	DWORD PTR -1084[rbp], 1
.L1870:
	mov	rax, QWORD PTR -1152[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -1084[rbp], eax
	jl	.L1879
	jmp	.L1880
.L1868:
	mov	rax, QWORD PTR -1152[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -1144[rbp]
	mov	QWORD PTR [rax], 0
.L1880:
	mov	rax, QWORD PTR -1112[rbp]
	mov	rdi, rax
	call	fclose@PLT
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1881
	call	__stack_chk_fail@PLT
.L1881:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE117:
	.size	readholes, .-readholes
	.section	.rodata
.LC1097:
	.string	"# Generated by"
	.text
	.globl	finishfile
	.type	finishfile, @function
finishfile:
.LFB118:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC1097[rip]
	call	fwrite@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1883
.L1884:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 32
	call	fputc@PLT
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	add	DWORD PTR -4[rbp], 1
.L1883:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L1884
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	fclose@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE118:
	.size	finishfile, .-finishfile
	.section	.rodata
.LC1098:
	.string	"Writing %s.\n"
.LC1099:
	.string	"w"
	.align 8
.LC1100:
	.string	"  Error:  Cannot create file %s.\n"
.LC1101:
	.string	"%ld  %d  %d  %d\n"
.LC1102:
	.string	"%4d    %.17g  %.17g"
.LC1103:
	.string	"  %.17g"
.LC1104:
	.string	"    %d\n"
	.text
	.globl	writenodes
	.type	writenodes, @function
writenodes:
.LFB119:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -60[rbp], ecx
	mov	QWORD PTR -72[rbp], r8
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	je	.L1886
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 240[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 82700[rax]
	movsx	rcx, eax
	mov	rax, rdx
	sub	rax, rcx
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1887
.L1886:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 240[rax]
	mov	QWORD PTR -16[rbp], rax
.L1887:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1888
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	lea	rdi, .LC1098[rip]
	mov	eax, 0
	call	printf@PLT
.L1888:
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC1099[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1889
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	lea	rdi, .LC1100[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1889:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	edx, 1
	mov	edi, edx
	sub	edi, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, DWORD PTR 82716[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 82712[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, edi
	mov	r8d, esi
	lea	rsi, .LC1101[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	vertextraverse
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1890
.L1897:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	je	.L1891
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, -32767
	je	.L1892
.L1891:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -8[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	lea	rsi, .LC1102[rip]
	mov	rdi, rax
	mov	eax, 2
	call	fprintf@PLT
	mov	DWORD PTR -28[rbp], 0
	jmp	.L1893
.L1894:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rax, 2
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC1103[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	add	DWORD PTR -28[rbp], 1
.L1893:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 82716[rax]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L1894
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 60[rax]
	test	eax, eax
	je	.L1895
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	jmp	.L1896
.L1895:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC1104[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1896:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -32[rbp], 1
.L1892:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	vertextraverse
	mov	QWORD PTR -24[rbp], rax
.L1890:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1897
	mov	rdx, QWORD PTR -72[rbp]
	mov	ecx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	finishfile
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE119:
	.size	writenodes, .-writenodes
	.globl	numbernodes
	.type	numbernodes, @function
numbernodes:
.LFB120:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	vertextraverse
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1899
.L1902:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	je	.L1900
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, -32767
	je	.L1901
.L1900:
	add	DWORD PTR -12[rbp], 1
.L1901:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	vertextraverse
	mov	QWORD PTR -8[rbp], rax
.L1899:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1902
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE120:
	.size	numbernodes, .-numbernodes
	.section	.rodata
.LC1105:
	.string	"%ld  %d  %d\n"
.LC1106:
	.string	"%4ld    %4d  %4d  %4d"
	.align 8
.LC1107:
	.string	"%4ld    %4d  %4d  %4d  %4d  %4d  %4d"
	.text
	.globl	writeelements
	.type	writeelements, @function
writeelements:
.LFB121:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	DWORD PTR -124[rbp], ecx
	mov	QWORD PTR -136[rbp], r8
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1904
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rax
	lea	rdi, .LC1098[rip]
	mov	eax, 0
	call	printf@PLT
.L1904:
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC1099[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -72[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L1905
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rax
	lea	rdi, .LC1100[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1905:
	mov	rax, QWORD PTR -104[rbp]
	mov	ecx, DWORD PTR 82720[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 124[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 124[rax]
	add	eax, 2
	imul	eax, edx
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	esi, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	r8d, ecx
	mov	ecx, esi
	lea	rsi, .LC1105[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 40[rax]
	cdqe
	mov	QWORD PTR -80[rbp], rax
	jmp	.L1906
.L1911:
	mov	rcx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rcx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 124[rax]
	cmp	eax, 1
	jne	.L1907
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r9d, edi
	mov	r8d, esi
	lea	rsi, .LC1106[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1908
.L1907:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82748[rax]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82748[rax]
	cdqe
	add	rax, 2
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82748[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	r8d, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	r9d, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	r10d, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	sub	rsp, 8
	push	r8
	push	rdi
	push	rsi
	mov	r8d, r10d
	lea	rsi, .LC1107[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	rsp, 32
.L1908:
	mov	DWORD PTR -84[rbp], 0
	jmp	.L1909
.L1910:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	ecx, DWORD PTR 82752[rax]
	mov	eax, DWORD PTR -84[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC1103[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	add	DWORD PTR -84[rbp], 1
.L1909:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82720[rax]
	cmp	DWORD PTR -84[rbp], eax
	jl	.L1910
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -16[rbp], rax
	add	QWORD PTR -80[rbp], 1
.L1906:
	mov	rax, QWORD PTR -16[rbp]
	test	rax, rax
	jne	.L1911
	mov	rdx, QWORD PTR -136[rbp]
	mov	ecx, DWORD PTR -124[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	finishfile
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE121:
	.size	writeelements, .-writeelements
	.section	.rodata
.LC1108:
	.string	"%d  %d  %d  %d\n"
.LC1109:
	.string	"%ld  %d\n"
.LC1110:
	.string	"%4ld    %4d  %4d\n"
.LC1111:
	.string	"%4ld    %4d  %4d    %4d\n"
.LC1112:
	.string	"%d\n"
.LC1113:
	.string	"%4ld   %.17g  %.17g\n"
	.align 8
.LC1114:
	.string	"%4ld   %.17g  %.17g  %.17g  %.17g\n"
	.text
	.globl	writepoly
	.type	writepoly, @function
writepoly:
.LFB122:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	QWORD PTR -96[rbp], rcx
	mov	DWORD PTR -100[rbp], r8d
	mov	QWORD PTR -112[rbp], r9
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1913
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC1098[rip]
	mov	eax, 0
	call	printf@PLT
.L1913:
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, .LC1099[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L1914
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC1100[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1914:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	edx, 1
	mov	esi, edx
	sub	esi, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	ecx, DWORD PTR 82716[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 82712[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	r9d, esi
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	lea	rsi, .LC1108[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	edx, 1
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 152[rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC1109[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 88
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	subsegtraverse
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 40[rax]
	cdqe
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1915
.L1918:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 2
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -8[rbp]
	mov	eax, 3
	sub	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 60[rax]
	test	eax, eax
	je	.L1916
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, esi
	lea	rsi, .LC1110[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1917
.L1916:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 64
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r9d, edi
	mov	r8d, esi
	lea	rsi, .LC1111[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1917:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	subsegtraverse
	mov	QWORD PTR -16[rbp], rax
	add	QWORD PTR -48[rbp], 1
.L1915:
	mov	rax, QWORD PTR -16[rbp]
	test	rax, rax
	jne	.L1918
	mov	edx, DWORD PTR -100[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC1112[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	DWORD PTR -100[rbp], 0
	jle	.L1919
	mov	QWORD PTR -64[rbp], 0
	jmp	.L1920
.L1921:
	mov	rax, QWORD PTR -64[rbp]
	sal	rax, 4
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 40[rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -64[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rdx
	mov	rdx, rcx
	lea	rsi, .LC1113[rip]
	mov	rdi, rax
	mov	eax, 2
	call	fprintf@PLT
	add	QWORD PTR -64[rbp], 1
.L1920:
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	cmp	QWORD PTR -64[rbp], rax
	jl	.L1921
.L1919:
	cmp	DWORD PTR 16[rbp], 0
	jle	.L1922
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 16[rbp]
	lea	rsi, .LC1112[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	QWORD PTR -56[rbp], 0
	jmp	.L1923
.L1924:
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 5
	lea	rdx, 24[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movsd	xmm2, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 5
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 5
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 5
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 40[rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rdx
	mov	rdx, rcx
	lea	rsi, .LC1114[rip]
	mov	rdi, rax
	mov	eax, 4
	call	fprintf@PLT
	add	QWORD PTR -56[rbp], 1
.L1923:
	mov	eax, DWORD PTR 16[rbp]
	cdqe
	cmp	QWORD PTR -56[rbp], rax
	jl	.L1924
.L1922:
	mov	rdx, QWORD PTR 32[rbp]
	mov	ecx, DWORD PTR 24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	finishfile
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE122:
	.size	writepoly, .-writepoly
	.section	.rodata
.LC1115:
	.string	"%4ld   %d  %d\n"
.LC1116:
	.string	"%4ld   %d  %d  %d\n"
	.text
	.globl	writeedges
	.type	writeedges, @function
writeedges:
.LFB123:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	DWORD PTR -124[rbp], ecx
	mov	QWORD PTR -136[rbp], r8
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1926
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rax
	lea	rdi, .LC1098[rip]
	mov	eax, 0
	call	printf@PLT
.L1926:
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC1099[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -88[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	jne	.L1927
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rax
	lea	rdi, .LC1100[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1927:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	edx, 1
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR 82704[rax]
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, .LC1109[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 40[rax]
	cdqe
	mov	QWORD PTR -96[rbp], rax
	jmp	.L1928
.L1937:
	mov	DWORD PTR -40[rbp], 0
	jmp	.L1929
.L1936:
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	and	eax, 3
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -80[rbp]
	xor	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -32[rbp]
	cmp	rdx, rax
	jb	.L1930
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1931
.L1930:
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 60[rax]
	test	eax, eax
	je	.L1932
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8d, esi
	lea	rsi, .LC1115[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1933
.L1932:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 120[rax]
	test	eax, eax
	je	.L1934
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 6
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	and	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	and	rax, -4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82872[rax]
	cmp	rdx, rax
	jne	.L1935
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r9d, 0
	mov	r8d, esi
	lea	rsi, .LC1116[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1933
.L1935:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 64
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r9d, edi
	mov	r8d, esi
	lea	rsi, .LC1116[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1933
.L1934:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	sete	al
	movzx	edi, al
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r9d, edi
	mov	r8d, esi
	lea	rsi, .LC1116[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1933:
	add	QWORD PTR -96[rbp], 1
.L1931:
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 1
	mov	DWORD PTR -40[rbp], eax
.L1929:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, 2
	jle	.L1936
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -48[rbp], rax
.L1928:
	mov	rax, QWORD PTR -48[rbp]
	test	rax, rax
	jne	.L1937
	mov	rdx, QWORD PTR -136[rbp]
	mov	ecx, DWORD PTR -124[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	finishfile
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE123:
	.size	writeedges, .-writeedges
	.section	.rodata
.LC1117:
	.string	"%4ld    %.17g  %.17g"
.LC1118:
	.string	"%4ld   %d  %d   %.17g  %.17g\n"
	.text
	.globl	writevoronoi
	.type	writevoronoi, @function
writevoronoi:
.LFB124:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -168[rbp], rdi
	mov	QWORD PTR -176[rbp], rsi
	mov	QWORD PTR -184[rbp], rdx
	mov	QWORD PTR -192[rbp], rcx
	mov	DWORD PTR -196[rbp], r8d
	mov	QWORD PTR -208[rbp], r9
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1939
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rax
	lea	rdi, .LC1098[rip]
	mov	eax, 0
	call	printf@PLT
.L1939:
	mov	rax, QWORD PTR -184[rbp]
	lea	rsi, .LC1099[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -104[rbp], rax
	cmp	QWORD PTR -104[rbp], 0
	jne	.L1940
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rax
	lea	rdi, .LC1100[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1940:
	mov	rax, QWORD PTR -168[rbp]
	mov	ecx, DWORD PTR 82716[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	r9d, 0
	mov	r8d, ecx
	mov	ecx, 2
	lea	rsi, .LC1101[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -64[rbp], rax
	mov	DWORD PTR -56[rbp], 0
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 40[rax]
	cdqe
	mov	QWORD PTR -120[rbp], rax
	jmp	.L1941
.L1944:
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	lea	r9, -32[rbp]
	mov	r8, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -168[rbp]
	sub	rsp, 8
	push	0
	lea	rdi, -128[rbp]
	push	rdi
	lea	rdi, -136[rbp]
	push	rdi
	mov	rdi, rax
	mov	eax, 0
	call	findcircumcenter
	add	rsp, 32
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	lea	rsi, .LC1117[rip]
	mov	rdi, rax
	mov	eax, 2
	call	fprintf@PLT
	mov	DWORD PTR -148[rbp], 2
	jmp	.L1942
.L1943:
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	movsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movsd	xmm3, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movq	rdx, xmm1
	mov	rax, QWORD PTR -104[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC1103[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	add	DWORD PTR -148[rbp], 1
.L1942:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 82716[rax]
	add	eax, 1
	cmp	DWORD PTR -148[rbp], eax
	jle	.L1943
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 48
	mov	rdx, QWORD PTR -120[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -64[rbp], rax
	add	QWORD PTR -120[rbp], 1
.L1941:
	mov	rax, QWORD PTR -64[rbp]
	test	rax, rax
	jne	.L1944
	mov	rdx, QWORD PTR -208[rbp]
	mov	ecx, DWORD PTR -196[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	finishfile
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1945
	mov	rax, QWORD PTR -192[rbp]
	mov	rsi, rax
	lea	rdi, .LC1098[rip]
	mov	eax, 0
	call	printf@PLT
.L1945:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC1099[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -104[rbp], rax
	cmp	QWORD PTR -104[rbp], 0
	jne	.L1946
	mov	rax, QWORD PTR -192[rbp]
	mov	rsi, rax
	lea	rdi, .LC1100[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1946:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 82704[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	ecx, 0
	lea	rsi, .LC1109[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 40[rax]
	cdqe
	mov	QWORD PTR -112[rbp], rax
	jmp	.L1947
.L1954:
	mov	DWORD PTR -56[rbp], 0
	jmp	.L1948
.L1953:
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	and	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -96[rbp]
	xor	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -48[rbp]
	cmp	rdx, rax
	jb	.L1949
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1950
.L1949:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	DWORD PTR -144[rbp], eax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 82856[rax]
	cmp	rdx, rax
	jne	.L1951
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm1
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movq	rsi, xmm0
	mov	ecx, DWORD PTR -144[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm1, xmm2
	movq	xmm0, rsi
	mov	r8d, -1
	lea	rsi, .LC1118[rip]
	mov	rdi, rax
	mov	eax, 2
	call	fprintf@PLT
	jmp	.L1952
.L1951:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	DWORD PTR -140[rbp], eax
	mov	esi, DWORD PTR -140[rbp]
	mov	ecx, DWORD PTR -144[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	r8d, esi
	lea	rsi, .LC1115[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1952:
	add	QWORD PTR -112[rbp], 1
.L1950:
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 1
	mov	DWORD PTR -56[rbp], eax
.L1948:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, 2
	jle	.L1953
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -64[rbp], rax
.L1947:
	mov	rax, QWORD PTR -64[rbp]
	test	rax, rax
	jne	.L1954
	mov	rdx, QWORD PTR -208[rbp]
	mov	ecx, DWORD PTR -196[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	finishfile
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1955
	call	__stack_chk_fail@PLT
.L1955:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE124:
	.size	writevoronoi, .-writevoronoi
	.section	.rodata
.LC1119:
	.string	"%4ld    %d  %d  %d\n"
	.text
	.globl	writeneighbors
	.type	writeneighbors, @function
writeneighbors:
.LFB125:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	DWORD PTR -108[rbp], ecx
	mov	QWORD PTR -120[rbp], r8
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1957
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rax
	lea	rdi, .LC1098[rip]
	mov	eax, 0
	call	printf@PLT
.L1957:
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC1099[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1958
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rax
	lea	rdi, .LC1100[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1958:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	ecx, 3
	lea	rsi, .LC1109[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 40[rax]
	cdqe
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1959
.L1960:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 48
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -32[rbp], rax
	add	QWORD PTR -56[rbp], 1
.L1959:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	jne	.L1960
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 82856[rax]
	add	rax, 48
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 40[rax]
	cdqe
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1961
.L1962:
	mov	DWORD PTR -24[rbp], 1
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	and	eax, 3
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	xor	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	DWORD PTR -68[rbp], eax
	mov	DWORD PTR -24[rbp], 2
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	and	eax, 3
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	xor	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	DWORD PTR -64[rbp], eax
	mov	DWORD PTR -24[rbp], 0
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	and	eax, 3
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	xor	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	DWORD PTR -60[rbp], eax
	mov	edi, DWORD PTR -60[rbp]
	mov	esi, DWORD PTR -64[rbp]
	mov	ecx, DWORD PTR -68[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r9d, edi
	mov	r8d, esi
	lea	rsi, .LC1119[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -32[rbp], rax
	add	QWORD PTR -56[rbp], 1
.L1961:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	jne	.L1962
	mov	rdx, QWORD PTR -120[rbp]
	mov	ecx, DWORD PTR -108[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	finishfile
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE125:
	.size	writeneighbors, .-writeneighbors
	.section	.rodata
.LC1120:
	.string	"OFF\n%ld  %ld  %ld\n"
.LC1121:
	.string	" %.17g  %.17g  %.17g\n"
.LC1122:
	.string	" 3   %4d  %4d  %4d\n"
	.text
	.globl	writeoff
	.type	writeoff, @function
writeoff:
.LFB126:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	DWORD PTR -92[rbp], ecx
	mov	QWORD PTR -104[rbp], r8
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	jne	.L1964
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC1098[rip]
	mov	eax, 0
	call	printf@PLT
.L1964:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	je	.L1965
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 240[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 82700[rax]
	movsx	rcx, eax
	mov	rax, rdx
	sub	rax, rcx
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1966
.L1965:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 240[rax]
	mov	QWORD PTR -56[rbp], rax
.L1966:
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, .LC1099[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1967
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC1100[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	triexit
.L1967:
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR 82704[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r8, rsi
	lea	rsi, .LC1120[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 176
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	vertextraverse
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1968
.L1971:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	je	.L1969
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, -32767
	je	.L1970
.L1969:
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	pxor	xmm2, xmm2
	movapd	xmm1, xmm0
	movq	xmm0, rdx
	lea	rsi, .LC1121[rip]
	mov	rdi, rax
	mov	eax, 3
	call	fprintf@PLT
.L1970:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	vertextraverse
	mov	QWORD PTR -64[rbp], rax
.L1968:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L1971
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -8[rbp], 0
	jmp	.L1972
.L1973:
	mov	rcx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rcx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	esi, edx
	sub	esi, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 82740[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 40[rax]
	sub	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	r8d, esi
	lea	rsi, .LC1122[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -16[rbp], rax
.L1972:
	mov	rax, QWORD PTR -16[rbp]
	test	rax, rax
	jne	.L1973
	mov	rdx, QWORD PTR -104[rbp]
	mov	ecx, DWORD PTR -92[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	finishfile
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE126:
	.size	writeoff, .-writeoff
	.section	.rodata
.LC1123:
	.string	"Mesh quality statistics:\n"
	.align 8
.LC1135:
	.string	"  Smallest area: %16.5g   |  Largest area: %16.5g\n"
	.align 8
.LC1136:
	.string	"  Shortest edge: %16.5g   |  Longest edge: %16.5g\n"
	.align 8
.LC1137:
	.string	"  Shortest altitude: %12.5g   |  Largest aspect ratio: %8.5g\n\n"
	.align 8
.LC1138:
	.string	"  Triangle aspect ratio histogram:"
	.align 8
.LC1139:
	.string	"  1.1547 - %-6.6g    :  %8d    | %6.6g - %-6.6g     :  %8d\n"
	.align 8
.LC1140:
	.string	"  %6.6g - %-6.6g    :  %8d    | %6.6g - %-6.6g     :  %8d\n"
	.align 8
.LC1141:
	.string	"  %6.6g - %-6.6g    :  %8d    | %6.6g -            :  %8d\n"
	.align 8
.LC1142:
	.string	"  (Aspect ratio is longest edge divided by shortest altitude)\n"
	.align 8
.LC1143:
	.string	"  Smallest angle: %15.5g   |  Largest angle: %15.5g\n\n"
.LC1144:
	.string	"  Angle histogram:"
	.align 8
.LC1145:
	.string	"    %3d - %3d degrees:  %8d    |    %3d - %3d degrees:  %8d\n"
	.text
	.globl	quality_statistics
	.type	quality_statistics, @function
quality_statistics:
.LFB127:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 672
	mov	QWORD PTR -664[rbp], rdi
	mov	QWORD PTR -672[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdi, .LC1123[rip]
	call	puts@PLT
	movsd	xmm0, QWORD PTR .LC1124[rip]
	movsd	QWORD PTR -552[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1125[rip]
	movsd	QWORD PTR -544[rbp], xmm0
	mov	DWORD PTR -640[rbp], 0
	jmp	.L1975
.L1976:
	mov	eax, DWORD PTR -640[rbp]
	add	eax, 1
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, QWORD PTR -552[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	call	cos@PLT
	movq	rax, xmm0
	mov	edx, DWORD PTR -640[rbp]
	movsx	rdx, edx
	mov	QWORD PTR -352[rbp+rdx*8], rax
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm1, QWORD PTR -352[rbp+rax*8]
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -352[rbp+rax*8]
	mulsd	xmm0, xmm1
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	QWORD PTR -352[rbp+rax*8], xmm0
	add	DWORD PTR -640[rbp], 1
.L1975:
	cmp	DWORD PTR -640[rbp], 7
	jle	.L1976
	mov	DWORD PTR -640[rbp], 0
	jmp	.L1977
.L1978:
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	mov	DWORD PTR -224[rbp+rax*4], 0
	add	DWORD PTR -640[rbp], 1
.L1977:
	cmp	DWORD PTR -640[rbp], 17
	jle	.L1978
	movsd	xmm0, QWORD PTR .LC1060[rip]
	movsd	QWORD PTR -144[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC921[rip]
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1126[rip]
	movsd	QWORD PTR -128[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC918[rip]
	movsd	QWORD PTR -120[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC927[rip]
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1127[rip]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC925[rip]
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1128[rip]
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1129[rip]
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC998[rip]
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1130[rip]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1131[rip]
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1132[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1133[rip]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1134[rip]
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	mov	DWORD PTR -640[rbp], 0
	jmp	.L1979
.L1980:
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	mov	DWORD PTR -288[rbp+rax*4], 0
	add	DWORD PTR -640[rbp], 1
.L1979:
	cmp	DWORD PTR -640[rbp], 15
	jle	.L1980
	pxor	xmm0, xmm0
	movsd	QWORD PTR -576[rbp], xmm0
	mov	rax, QWORD PTR -664[rbp]
	movsd	xmm0, QWORD PTR 82648[rax]
	mov	rax, QWORD PTR -664[rbp]
	movsd	xmm2, QWORD PTR 82640[rax]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	rax, QWORD PTR -664[rbp]
	movsd	xmm0, QWORD PTR 82664[rax]
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -664[rbp]
	movsd	xmm1, QWORD PTR 82656[rax]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -584[rbp], xmm0
	movsd	xmm0, QWORD PTR -584[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -584[rbp], xmm0
	movsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -624[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -616[rbp], xmm0
	movsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -600[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -592[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -576[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -568[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC921[rip]
	movsd	QWORD PTR -560[rbp], xmm0
	mov	DWORD PTR -644[rbp], 1
	mov	rax, QWORD PTR -664[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	traversalinit
	mov	rax, QWORD PTR -664[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -496[rbp], rax
	mov	DWORD PTR -488[rbp], 0
	jmp	.L1981
.L2016:
	mov	rcx, QWORD PTR -496[rbp]
	mov	eax, DWORD PTR -488[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -480[rbp], rax
	mov	rcx, QWORD PTR -496[rbp]
	mov	eax, DWORD PTR -488[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -472[rbp], rax
	mov	rdx, QWORD PTR -496[rbp]
	mov	eax, DWORD PTR -488[rbp]
	cdqe
	add	rax, 3
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -464[rbp], rax
	pxor	xmm0, xmm0
	movsd	QWORD PTR -608[rbp], xmm0
	mov	DWORD PTR -640[rbp], 0
	jmp	.L1982
.L1989:
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -632[rbp], eax
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -628[rbp], eax
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	mov	rax, QWORD PTR -480[rbp+rax*8]
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	mov	rax, QWORD PTR -480[rbp+rax*8]
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	QWORD PTR -448[rbp+rax*8], xmm0
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	mov	rax, QWORD PTR -480[rbp+rax*8]
	add	rax, 8
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	mov	rax, QWORD PTR -480[rbp+rax*8]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	QWORD PTR -416[rbp+rax*8], xmm0
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm1, QWORD PTR -448[rbp+rax*8]
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -448[rbp+rax*8]
	mulsd	xmm1, xmm0
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm2, QWORD PTR -416[rbp+rax*8]
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -416[rbp+rax*8]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	QWORD PTR -384[rbp+rax*8], xmm0
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -384[rbp+rax*8]
	comisd	xmm0, QWORD PTR -608[rbp]
	jbe	.L1983
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -384[rbp+rax*8]
	movsd	QWORD PTR -608[rbp], xmm0
.L1983:
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -384[rbp+rax*8]
	comisd	xmm0, QWORD PTR -616[rbp]
	jbe	.L1985
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -384[rbp+rax*8]
	movsd	QWORD PTR -616[rbp], xmm0
.L1985:
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm1, QWORD PTR -384[rbp+rax*8]
	movsd	xmm0, QWORD PTR -624[rbp]
	comisd	xmm0, xmm1
	jbe	.L1987
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -384[rbp+rax*8]
	movsd	QWORD PTR -624[rbp], xmm0
.L1987:
	add	DWORD PTR -640[rbp], 1
.L1982:
	cmp	DWORD PTR -640[rbp], 2
	jle	.L1989
	mov	rdi, QWORD PTR -464[rbp]
	mov	rcx, QWORD PTR -472[rbp]
	mov	rdx, QWORD PTR -480[rbp]
	mov	rsi, QWORD PTR -672[rbp]
	mov	rax, QWORD PTR -664[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	counterclockwise
	movq	rax, xmm0
	mov	QWORD PTR -536[rbp], rax
	movsd	xmm0, QWORD PTR -600[rbp]
	comisd	xmm0, QWORD PTR -536[rbp]
	jbe	.L1990
	movsd	xmm0, QWORD PTR -536[rbp]
	movsd	QWORD PTR -600[rbp], xmm0
.L1990:
	movsd	xmm0, QWORD PTR -536[rbp]
	comisd	xmm0, QWORD PTR -592[rbp]
	jbe	.L1992
	movsd	xmm0, QWORD PTR -536[rbp]
	movsd	QWORD PTR -592[rbp], xmm0
.L1992:
	movsd	xmm0, QWORD PTR -536[rbp]
	mulsd	xmm0, xmm0
	divsd	xmm0, QWORD PTR -608[rbp]
	movsd	QWORD PTR -528[rbp], xmm0
	movsd	xmm0, QWORD PTR -584[rbp]
	comisd	xmm0, QWORD PTR -528[rbp]
	jbe	.L1994
	movsd	xmm0, QWORD PTR -528[rbp]
	movsd	QWORD PTR -584[rbp], xmm0
.L1994:
	movsd	xmm0, QWORD PTR -608[rbp]
	divsd	xmm0, QWORD PTR -528[rbp]
	movsd	QWORD PTR -520[rbp], xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	comisd	xmm0, QWORD PTR -576[rbp]
	jbe	.L1996
	movsd	xmm0, QWORD PTR -520[rbp]
	movsd	QWORD PTR -576[rbp], xmm0
.L1996:
	mov	DWORD PTR -652[rbp], 0
	jmp	.L1998
.L2001:
	add	DWORD PTR -652[rbp], 1
.L1998:
	mov	eax, DWORD PTR -652[rbp]
	cdqe
	movsd	xmm1, QWORD PTR -144[rbp+rax*8]
	mov	eax, DWORD PTR -652[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -144[rbp+rax*8]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -520[rbp]
	comisd	xmm0, xmm1
	jbe	.L1999
	cmp	DWORD PTR -652[rbp], 14
	jle	.L2001
.L1999:
	mov	eax, DWORD PTR -652[rbp]
	cdqe
	mov	eax, DWORD PTR -288[rbp+rax*4]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -652[rbp]
	cdqe
	mov	DWORD PTR -288[rbp+rax*4], edx
	mov	DWORD PTR -640[rbp], 0
	jmp	.L2002
.L2015:
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, plus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -632[rbp], eax
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, minus1mod3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -628[rbp], eax
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	movsd	xmm1, QWORD PTR -448[rbp+rax*8]
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -448[rbp+rax*8]
	mulsd	xmm1, xmm0
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	movsd	xmm2, QWORD PTR -416[rbp+rax*8]
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -416[rbp+rax*8]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -512[rbp], xmm0
	movsd	xmm0, QWORD PTR -512[rbp]
	mulsd	xmm0, xmm0
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	movsd	xmm2, QWORD PTR -384[rbp+rax*8]
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm1, QWORD PTR -384[rbp+rax*8]
	mulsd	xmm1, xmm2
	divsd	xmm0, xmm1
	movsd	QWORD PTR -504[rbp], xmm0
	mov	DWORD PTR -648[rbp], 8
	mov	DWORD PTR -636[rbp], 7
	jmp	.L2003
.L2006:
	mov	eax, DWORD PTR -636[rbp]
	cdqe
	movsd	xmm1, QWORD PTR -352[rbp+rax*8]
	movsd	xmm0, QWORD PTR -504[rbp]
	comisd	xmm0, xmm1
	jbe	.L2004
	mov	eax, DWORD PTR -636[rbp]
	mov	DWORD PTR -648[rbp], eax
.L2004:
	sub	DWORD PTR -636[rbp], 1
.L2003:
	cmp	DWORD PTR -636[rbp], 0
	jns	.L2006
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -512[rbp]
	jb	.L2043
	mov	eax, DWORD PTR -648[rbp]
	cdqe
	mov	eax, DWORD PTR -224[rbp+rax*4]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -648[rbp]
	cdqe
	mov	DWORD PTR -224[rbp+rax*4], edx
	movsd	xmm0, QWORD PTR -504[rbp]
	comisd	xmm0, QWORD PTR -568[rbp]
	jbe	.L2009
	movsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -568[rbp], xmm0
.L2009:
	cmp	DWORD PTR -644[rbp], 0
	je	.L2011
	movsd	xmm0, QWORD PTR -560[rbp]
	comisd	xmm0, QWORD PTR -504[rbp]
	jbe	.L2011
	movsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -560[rbp], xmm0
	jmp	.L2011
.L2043:
	mov	eax, 17
	sub	eax, DWORD PTR -648[rbp]
	movsx	rdx, eax
	mov	edx, DWORD PTR -224[rbp+rdx*4]
	add	edx, 1
	cdqe
	mov	DWORD PTR -224[rbp+rax*4], edx
	cmp	DWORD PTR -644[rbp], 0
	jne	.L2013
	movsd	xmm0, QWORD PTR -504[rbp]
	comisd	xmm0, QWORD PTR -560[rbp]
	jbe	.L2011
.L2013:
	movsd	xmm0, QWORD PTR -504[rbp]
	movsd	QWORD PTR -560[rbp], xmm0
	mov	DWORD PTR -644[rbp], 0
.L2011:
	add	DWORD PTR -640[rbp], 1
.L2002:
	cmp	DWORD PTR -640[rbp], 2
	jle	.L2015
	mov	rax, QWORD PTR -664[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangletraverse
	mov	QWORD PTR -496[rbp], rax
.L1981:
	mov	rax, QWORD PTR -496[rbp]
	test	rax, rax
	jne	.L2016
	mov	rax, QWORD PTR -624[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -624[rbp], rax
	mov	rax, QWORD PTR -616[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -616[rbp], rax
	mov	rax, QWORD PTR -584[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -584[rbp], rax
	mov	rax, QWORD PTR -576[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -576[rbp], rax
	movsd	xmm1, QWORD PTR -600[rbp]
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -600[rbp], xmm0
	movsd	xmm1, QWORD PTR -592[rbp]
	movsd	xmm0, QWORD PTR .LC916[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -592[rbp], xmm0
	movsd	xmm0, QWORD PTR -568[rbp]
	movsd	xmm1, QWORD PTR .LC882[rip]
	comisd	xmm0, xmm1
	jb	.L2044
	pxor	xmm0, xmm0
	movsd	QWORD PTR -568[rbp], xmm0
	jmp	.L2019
.L2044:
	mov	rax, QWORD PTR -568[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	movq	xmm0, rax
	call	acos@PLT
	movsd	xmm1, QWORD PTR -544[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -568[rbp], xmm0
.L2019:
	movsd	xmm0, QWORD PTR -560[rbp]
	movsd	xmm1, QWORD PTR .LC882[rip]
	comisd	xmm0, xmm1
	jb	.L2045
	movsd	xmm0, QWORD PTR .LC881[rip]
	movsd	QWORD PTR -560[rbp], xmm0
	jmp	.L2022
.L2045:
	cmp	DWORD PTR -644[rbp], 0
	je	.L2023
	mov	rax, QWORD PTR -560[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	movq	xmm0, rax
	call	acos@PLT
	movsd	xmm1, QWORD PTR -544[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -560[rbp], xmm0
	jmp	.L2022
.L2023:
	mov	rax, QWORD PTR -560[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	movq	xmm0, rax
	call	acos@PLT
	movq	rax, xmm0
	movq	xmm1, rax
	mulsd	xmm1, QWORD PTR -544[rbp]
	movsd	xmm0, QWORD PTR .LC881[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -560[rbp], xmm0
.L2022:
	movsd	xmm0, QWORD PTR -592[rbp]
	mov	rax, QWORD PTR -600[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1135[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm0, QWORD PTR -616[rbp]
	mov	rax, QWORD PTR -624[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1136[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm0, QWORD PTR -576[rbp]
	mov	rax, QWORD PTR -584[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1137[rip]
	mov	eax, 2
	call	printf@PLT
	lea	rdi, .LC1138[rip]
	call	puts@PLT
	mov	edx, DWORD PTR -256[rbp]
	movsd	xmm1, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mov	ecx, DWORD PTR -288[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, ecx
	movq	xmm0, rax
	lea	rdi, .LC1139[rip]
	mov	eax, 3
	call	printf@PLT
	mov	DWORD PTR -640[rbp], 1
	jmp	.L2024
.L2025:
	mov	eax, DWORD PTR -640[rbp]
	add	eax, 8
	cdqe
	mov	edx, DWORD PTR -288[rbp+rax*4]
	mov	eax, DWORD PTR -640[rbp]
	add	eax, 8
	cdqe
	movsd	xmm2, QWORD PTR -144[rbp+rax*8]
	mov	eax, DWORD PTR -640[rbp]
	add	eax, 7
	cdqe
	movsd	xmm1, QWORD PTR -144[rbp+rax*8]
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	mov	ecx, DWORD PTR -288[rbp+rax*4]
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -144[rbp+rax*8]
	mov	eax, DWORD PTR -640[rbp]
	sub	eax, 1
	cdqe
	mov	rax, QWORD PTR -144[rbp+rax*8]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1140[rip]
	mov	eax, 4
	call	printf@PLT
	add	DWORD PTR -640[rbp], 1
.L2024:
	cmp	DWORD PTR -640[rbp], 6
	jle	.L2025
	mov	edx, DWORD PTR -228[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -260[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -96[rbp]
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1141[rip]
	mov	eax, 3
	call	printf@PLT
	lea	rdi, .LC1142[rip]
	call	puts@PLT
	movsd	xmm0, QWORD PTR -560[rbp]
	mov	rax, QWORD PTR -568[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC1143[rip]
	mov	eax, 2
	call	printf@PLT
	lea	rdi, .LC1144[rip]
	call	puts@PLT
	mov	DWORD PTR -640[rbp], 0
	jmp	.L2026
.L2027:
	mov	eax, DWORD PTR -640[rbp]
	add	eax, 9
	cdqe
	mov	ecx, DWORD PTR -224[rbp+rax*4]
	mov	edx, DWORD PTR -640[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	lea	r8d, 100[rax]
	mov	edx, DWORD PTR -640[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	lea	edi, 90[rax]
	mov	eax, DWORD PTR -640[rbp]
	cdqe
	mov	edx, DWORD PTR -224[rbp+rax*4]
	mov	eax, DWORD PTR -640[rbp]
	lea	esi, 1[rax]
	mov	eax, esi
	sal	eax, 2
	add	eax, esi
	add	eax, eax
	mov	r10d, eax
	mov	esi, DWORD PTR -640[rbp]
	mov	eax, esi
	sal	eax, 2
	add	eax, esi
	add	eax, eax
	sub	rsp, 8
	push	rcx
	mov	r9d, r8d
	mov	r8d, edi
	mov	ecx, edx
	mov	edx, r10d
	mov	esi, eax
	lea	rdi, .LC1145[rip]
	mov	eax, 0
	call	printf@PLT
	add	rsp, 16
	add	DWORD PTR -640[rbp], 1
.L2026:
	cmp	DWORD PTR -640[rbp], 8
	jle	.L2027
	mov	edi, 10
	call	putchar@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2028
	call	__stack_chk_fail@PLT
.L2028:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE127:
	.size	quality_statistics, .-quality_statistics
	.section	.rodata
.LC1146:
	.string	"\nStatistics:\n"
.LC1147:
	.string	"  Input vertices: %d\n"
.LC1148:
	.string	"  Input triangles: %d\n"
.LC1149:
	.string	"  Input segments: %d\n"
.LC1150:
	.string	"  Input holes: %d\n"
.LC1151:
	.string	"\n  Mesh vertices: %ld\n"
.LC1152:
	.string	"  Mesh triangles: %ld\n"
.LC1153:
	.string	"  Mesh edges: %ld\n"
	.align 8
.LC1154:
	.string	"  Mesh exterior boundary edges: %ld\n"
	.align 8
.LC1155:
	.string	"  Mesh interior boundary edges: %ld\n"
	.align 8
.LC1156:
	.string	"  Mesh subsegments (constrained edges): %ld\n"
	.align 8
.LC1157:
	.string	"Memory allocation statistics:\n"
	.align 8
.LC1158:
	.string	"  Maximum number of vertices: %ld\n"
	.align 8
.LC1159:
	.string	"  Maximum number of triangles: %ld\n"
	.align 8
.LC1160:
	.string	"  Maximum number of subsegments: %ld\n"
	.align 8
.LC1161:
	.string	"  Maximum number of viri: %ld\n"
	.align 8
.LC1162:
	.string	"  Maximum number of encroached subsegments: %ld\n"
	.align 8
.LC1163:
	.string	"  Maximum number of bad triangles: %ld\n"
	.align 8
.LC1164:
	.string	"  Maximum number of stacked triangle flips: %ld\n"
	.align 8
.LC1165:
	.string	"  Maximum number of splay tree nodes: %ld\n"
	.align 8
.LC1166:
	.string	"  Approximate heap memory use (bytes): %ld\n\n"
.LC1167:
	.string	"Algorithmic statistics:\n"
	.align 8
.LC1168:
	.string	"  Number of incircle tests: %ld\n"
	.align 8
.LC1169:
	.string	"  Number of 3D orientation tests: %ld\n"
	.align 8
.LC1170:
	.string	"  Number of 2D orientation tests: %ld\n"
	.align 8
.LC1171:
	.string	"  Number of right-of-hyperbola tests: %ld\n"
	.align 8
.LC1172:
	.string	"  Number of circle top computations: %ld\n"
	.align 8
.LC1173:
	.string	"  Number of triangle circumcenter computations: %ld\n"
	.text
	.globl	statistics
	.type	statistics, @function
statistics:
.LFB128:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	lea	rdi, .LC1146[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 82680[rax]
	mov	esi, eax
	lea	rdi, .LC1147[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	je	.L2047
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 82684[rax]
	mov	esi, eax
	lea	rdi, .LC1148[rip]
	mov	eax, 0
	call	printf@PLT
.L2047:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L2048
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 82688[rax]
	mov	esi, eax
	lea	rdi, .LC1149[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L2048
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 82692[rax]
	mov	esi, eax
	lea	rdi, .LC1150[rip]
	mov	eax, 0
	call	printf@PLT
.L2048:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 240[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 82700[rax]
	movsx	rcx, eax
	mov	rax, rdx
	sub	rax, rcx
	mov	rsi, rax
	lea	rdi, .LC1151[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rsi, rax
	lea	rdi, .LC1152[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82704[rax]
	mov	rsi, rax
	lea	rdi, .LC1153[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82728[rax]
	mov	rsi, rax
	lea	rdi, .LC1154[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L2049
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	je	.L2050
.L2049:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 152[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 82728[rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	rsi, rax
	lea	rdi, .LC1155[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 152[rax]
	mov	rsi, rax
	lea	rdi, .LC1156[rip]
	mov	eax, 0
	call	printf@PLT
.L2050:
	mov	edi, 10
	call	putchar@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L2063
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	quality_statistics
	lea	rdi, .LC1157[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 248[rax]
	mov	rsi, rax
	lea	rdi, .LC1158[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rsi, rax
	lea	rdi, .LC1159[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 160[rax]
	test	rax, rax
	jle	.L2052
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 160[rax]
	mov	rsi, rax
	lea	rdi, .LC1160[rip]
	mov	eax, 0
	call	printf@PLT
.L2052:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 336[rax]
	test	rax, rax
	jle	.L2053
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	rsi, rax
	lea	rdi, .LC1161[rip]
	mov	eax, 0
	call	printf@PLT
.L2053:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 424[rax]
	test	rax, rax
	jle	.L2054
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 424[rax]
	mov	rsi, rax
	lea	rdi, .LC1162[rip]
	mov	eax, 0
	call	printf@PLT
.L2054:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 512[rax]
	test	rax, rax
	jle	.L2055
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 512[rax]
	mov	rsi, rax
	lea	rdi, .LC1163[rip]
	mov	eax, 0
	call	printf@PLT
.L2055:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 600[rax]
	test	rax, rax
	jle	.L2056
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 600[rax]
	mov	rsi, rax
	lea	rdi, .LC1164[rip]
	mov	eax, 0
	call	printf@PLT
.L2056:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 688[rax]
	test	rax, rax
	jle	.L2057
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 688[rax]
	mov	rsi, rax
	lea	rdi, .LC1165[rip]
	mov	eax, 0
	call	printf@PLT
.L2057:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 248[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 228[rax]
	cdqe
	mov	rcx, rdx
	imul	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 52[rax]
	cdqe
	imul	rax, rdx
	add	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 160[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 140[rax]
	cdqe
	imul	rax, rdx
	add	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 336[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 316[rax]
	cdqe
	imul	rax, rdx
	add	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 424[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 404[rax]
	cdqe
	imul	rax, rdx
	add	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 512[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 492[rax]
	cdqe
	imul	rax, rdx
	add	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 600[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 580[rax]
	cdqe
	imul	rax, rdx
	add	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 688[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 668[rax]
	cdqe
	imul	rax, rdx
	add	rax, rcx
	mov	rsi, rax
	lea	rdi, .LC1166[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC1167[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L2058
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82784[rax]
	mov	rsi, rax
	lea	rdi, .LC1168[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L2059
.L2058:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82800[rax]
	mov	rsi, rax
	lea	rdi, .LC1169[rip]
	mov	eax, 0
	call	printf@PLT
.L2059:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82792[rax]
	mov	rsi, rax
	lea	rdi, .LC1170[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82808[rax]
	test	rax, rax
	jle	.L2060
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82808[rax]
	mov	rsi, rax
	lea	rdi, .LC1171[rip]
	mov	eax, 0
	call	printf@PLT
.L2060:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82824[rax]
	test	rax, rax
	jle	.L2061
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82824[rax]
	mov	rsi, rax
	lea	rdi, .LC1172[rip]
	mov	eax, 0
	call	printf@PLT
.L2061:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82816[rax]
	test	rax, rax
	jle	.L2062
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 82816[rax]
	mov	rsi, rax
	lea	rdi, .LC1173[rip]
	mov	eax, 0
	call	printf@PLT
.L2062:
	mov	edi, 10
	call	putchar@PLT
.L2063:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE128:
	.size	statistics, .-statistics
	.section	.rodata
.LC1174:
	.string	"Mesh reconstruction"
.LC1175:
	.string	"Delaunay"
.LC1176:
	.string	" milliseconds:  %ld\n"
.LC1177:
	.string	"Segment milliseconds:  %ld\n"
.LC1178:
	.string	"Hole milliseconds:  %ld\n"
.LC1179:
	.string	"Quality milliseconds:  %ld\n"
.LC1180:
	.string	"NOT writing a .node file."
.LC1181:
	.string	"NOT writing an .ele file."
.LC1182:
	.string	"NOT writing a .poly file."
.LC1183:
	.string	"\nOutput milliseconds:  %ld\n"
	.align 8
.LC1184:
	.string	"Total running milliseconds:  %ld\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB129:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	r11, -106496[rsp]
.LPSRL1:
	sub	rsp, 4096
	or	DWORD PTR [rsp], 0
	cmp	rsp, r11
	jne	.LPSRL1
	sub	rsp, 1328
	mov	DWORD PTR -107812[rbp], edi
	mov	QWORD PTR -107824[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -107784[rbp]
	lea	rax, -107776[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	gettimeofday@PLT
	lea	rax, -82912[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	triangleinit
	lea	rdx, -107664[rbp]
	mov	rcx, QWORD PTR -107824[rbp]
	mov	eax, DWORD PTR -107812[rbp]
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 0
	call	parsecommandline
	mov	eax, DWORD PTR -107532[rbp]
	mov	DWORD PTR -176[rbp], eax
	lea	rdi, -107792[rbp]
	lea	rax, -107664[rbp]
	lea	rcx, 4264[rax]
	lea	rax, -107664[rbp]
	lea	rdx, 168[rax]
	lea	rsi, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	readnodes
	mov	eax, DWORD PTR -107552[rbp]
	test	eax, eax
	jne	.L2065
	lea	rdx, -107784[rbp]
	lea	rax, -107760[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	gettimeofday@PLT
.L2065:
	mov	eax, DWORD PTR -107660[rbp]
	test	eax, eax
	je	.L2066
	mov	rdi, QWORD PTR -107792[rbp]
	lea	rax, -107664[rbp]
	lea	r8, 4264[rax]
	lea	rax, -107664[rbp]
	lea	rcx, 6312[rax]
	lea	rax, -107664[rbp]
	lea	rdx, 2216[rax]
	lea	rsi, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	r9, rdi
	mov	rdi, rax
	mov	eax, 0
	call	reconstruct
	mov	QWORD PTR -184[rbp], rax
	jmp	.L2067
.L2066:
	lea	rdx, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	delaunay
	mov	QWORD PTR -184[rbp], rax
.L2067:
	mov	eax, DWORD PTR -107552[rbp]
	test	eax, eax
	jne	.L2068
	lea	rdx, -107784[rbp]
	lea	rax, -107744[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	eax, DWORD PTR -107660[rbp]
	test	eax, eax
	je	.L2069
	lea	rdi, .LC1174[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L2070
.L2069:
	lea	rdi, .LC1175[rip]
	mov	eax, 0
	call	printf@PLT
.L2070:
	mov	rax, QWORD PTR -107744[rbp]
	mov	rdx, QWORD PTR -107760[rbp]
	sub	rax, rdx
	imul	rsi, rax, 1000
	mov	rax, QWORD PTR -107736[rbp]
	mov	rdx, QWORD PTR -107752[rbp]
	sub	rax, rdx
	mov	rcx, rax
	movabs	rdx, 2361183241434822607
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 7
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	add	rax, rsi
	mov	rsi, rax
	lea	rdi, .LC1176[rip]
	mov	eax, 0
	call	printf@PLT
.L2068:
	mov	QWORD PTR -80[rbp], 0
	mov	QWORD PTR -72[rbp], 0
	mov	QWORD PTR -64[rbp], 0
	mov	eax, DWORD PTR -107544[rbp]
	test	eax, eax
	je	.L2071
	mov	DWORD PTR -152[rbp], 1
	mov	eax, DWORD PTR -107660[rbp]
	test	eax, eax
	jne	.L2071
	mov	rdx, QWORD PTR -107792[rbp]
	lea	rax, -107664[rbp]
	lea	rcx, 4264[rax]
	lea	rsi, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	formskeleton
.L2071:
	mov	eax, DWORD PTR -107552[rbp]
	test	eax, eax
	jne	.L2072
	lea	rdx, -107784[rbp]
	lea	rax, -107728[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	eax, DWORD PTR -107544[rbp]
	test	eax, eax
	je	.L2072
	mov	eax, DWORD PTR -107660[rbp]
	test	eax, eax
	jne	.L2072
	mov	rax, QWORD PTR -107728[rbp]
	mov	rdx, QWORD PTR -107744[rbp]
	sub	rax, rdx
	imul	rsi, rax, 1000
	mov	rax, QWORD PTR -107720[rbp]
	mov	rdx, QWORD PTR -107736[rbp]
	sub	rax, rdx
	mov	rcx, rax
	movabs	rdx, 2361183241434822607
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 7
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	add	rax, rsi
	mov	rsi, rax
	lea	rdi, .LC1177[rip]
	mov	eax, 0
	call	printf@PLT
.L2072:
	mov	eax, DWORD PTR -107664[rbp]
	test	eax, eax
	je	.L2073
	mov	rax, QWORD PTR -82848[rbp]
	test	rax, rax
	jle	.L2073
	mov	rdx, QWORD PTR -107792[rbp]
	lea	rax, -82912[rbp]
	lea	r9, 82692[rax]
	lea	r8, -107808[rbp]
	lea	rax, -107664[rbp]
	lea	rcx, 4264[rax]
	lea	rsi, -107664[rbp]
	lea	rax, -82912[rbp]
	lea	rdi, -82912[rbp]
	add	rdi, 82696
	push	rdi
	lea	rdi, -107800[rbp]
	push	rdi
	mov	rdi, rax
	mov	eax, 0
	call	readholes
	add	rsp, 16
	mov	eax, DWORD PTR -107660[rbp]
	test	eax, eax
	jne	.L2075
	mov	r8d, DWORD PTR -216[rbp]
	mov	rdi, QWORD PTR -107800[rbp]
	mov	ecx, DWORD PTR -220[rbp]
	mov	rdx, QWORD PTR -107808[rbp]
	lea	rsi, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	r9d, r8d
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	carveholes
	jmp	.L2075
.L2073:
	mov	DWORD PTR -220[rbp], 0
	mov	DWORD PTR -216[rbp], 0
.L2075:
	mov	eax, DWORD PTR -107552[rbp]
	test	eax, eax
	jne	.L2076
	lea	rdx, -107784[rbp]
	lea	rax, -107712[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	eax, DWORD PTR -107664[rbp]
	test	eax, eax
	je	.L2076
	mov	eax, DWORD PTR -107660[rbp]
	test	eax, eax
	jne	.L2076
	mov	rax, QWORD PTR -107712[rbp]
	mov	rdx, QWORD PTR -107728[rbp]
	sub	rax, rdx
	imul	rsi, rax, 1000
	mov	rax, QWORD PTR -107704[rbp]
	mov	rdx, QWORD PTR -107720[rbp]
	sub	rax, rdx
	mov	rcx, rax
	movabs	rdx, 2361183241434822607
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 7
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	add	rax, rsi
	mov	rsi, rax
	lea	rdi, .LC1178[rip]
	mov	eax, 0
	call	printf@PLT
.L2076:
	mov	eax, DWORD PTR -107656[rbp]
	test	eax, eax
	je	.L2077
	mov	rax, QWORD PTR -82848[rbp]
	test	rax, rax
	jle	.L2077
	lea	rdx, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	enforcequality
.L2077:
	mov	eax, DWORD PTR -107552[rbp]
	test	eax, eax
	jne	.L2078
	lea	rdx, -107784[rbp]
	lea	rax, -107696[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	eax, DWORD PTR -107656[rbp]
	test	eax, eax
	je	.L2078
	mov	rax, QWORD PTR -107696[rbp]
	mov	rdx, QWORD PTR -107712[rbp]
	sub	rax, rdx
	imul	rsi, rax, 1000
	mov	rax, QWORD PTR -107688[rbp]
	mov	rdx, QWORD PTR -107704[rbp]
	sub	rax, rdx
	mov	rcx, rax
	movabs	rdx, 2361183241434822607
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 7
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	add	rax, rsi
	mov	rsi, rax
	lea	rdi, .LC1179[rip]
	mov	eax, 0
	call	printf@PLT
.L2078:
	mov	rdx, QWORD PTR -82848[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rdx, rax
	mov	rax, QWORD PTR -184[rbp]
	add	rax, rdx
	mov	rdx, rax
	shr	rdx, 63
	add	rax, rdx
	sar	rax
	mov	QWORD PTR -208[rbp], rax
	mov	eax, DWORD PTR -107540[rbp]
	cmp	eax, 1
	jle	.L2079
	lea	rdx, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	highorder
.L2079:
	mov	eax, DWORD PTR -107552[rbp]
	test	eax, eax
	jne	.L2080
	mov	edi, 10
	call	putchar@PLT
.L2080:
	mov	eax, DWORD PTR -107596[rbp]
	test	eax, eax
	jne	.L2081
	mov	eax, DWORD PTR -107588[rbp]
	test	eax, eax
	je	.L2082
	mov	eax, DWORD PTR -144[rbp]
	test	eax, eax
	je	.L2082
.L2081:
	mov	eax, DWORD PTR -107552[rbp]
	test	eax, eax
	jne	.L2083
	lea	rdi, .LC1180[rip]
	call	puts@PLT
.L2083:
	lea	rdx, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	numbernodes
	jmp	.L2084
.L2082:
	mov	rcx, QWORD PTR -107824[rbp]
	mov	edx, DWORD PTR -107812[rbp]
	lea	rax, -107664[rbp]
	lea	rdi, 8360[rax]
	lea	rsi, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	r8, rcx
	mov	ecx, edx
	mov	rdx, rdi
	mov	rdi, rax
	mov	eax, 0
	call	writenodes
.L2084:
	mov	eax, DWORD PTR -107592[rbp]
	test	eax, eax
	je	.L2085
	mov	eax, DWORD PTR -107552[rbp]
	test	eax, eax
	jne	.L2086
	lea	rdi, .LC1181[rip]
	call	puts@PLT
	jmp	.L2086
.L2085:
	mov	rcx, QWORD PTR -107824[rbp]
	mov	edx, DWORD PTR -107812[rbp]
	lea	rax, -107664[rbp]
	lea	rdi, 10408[rax]
	lea	rsi, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	r8, rcx
	mov	ecx, edx
	mov	rdx, rdi
	mov	rdi, rax
	mov	eax, 0
	call	writeelements
.L2086:
	mov	eax, DWORD PTR -107664[rbp]
	test	eax, eax
	jne	.L2087
	mov	eax, DWORD PTR -107636[rbp]
	test	eax, eax
	je	.L2088
.L2087:
	mov	eax, DWORD PTR -107600[rbp]
	test	eax, eax
	jne	.L2089
	mov	eax, DWORD PTR -107588[rbp]
	test	eax, eax
	je	.L2090
.L2089:
	mov	eax, DWORD PTR -107552[rbp]
	test	eax, eax
	jne	.L2088
	lea	rdi, .LC1182[rip]
	call	puts@PLT
	jmp	.L2088
.L2090:
	mov	ecx, DWORD PTR -216[rbp]
	mov	r9, QWORD PTR -107800[rbp]
	mov	r10d, DWORD PTR -220[rbp]
	mov	rdx, QWORD PTR -107808[rbp]
	lea	rax, -107664[rbp]
	lea	rdi, 12456[rax]
	lea	rsi, -107664[rbp]
	lea	rax, -82912[rbp]
	sub	rsp, 8
	push	QWORD PTR -107824[rbp]
	mov	r8d, DWORD PTR -107812[rbp]
	push	r8
	push	rcx
	mov	r8d, r10d
	mov	rcx, rdx
	mov	rdx, rdi
	mov	rdi, rax
	mov	eax, 0
	call	writepoly
	add	rsp, 32
.L2088:
	mov	eax, DWORD PTR -216[rbp]
	test	eax, eax
	jle	.L2092
	mov	rax, QWORD PTR -107800[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	trifree
.L2092:
	mov	eax, DWORD PTR -220[rbp]
	test	eax, eax
	jle	.L2093
	mov	rax, QWORD PTR -107808[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	trifree
.L2093:
	mov	eax, DWORD PTR -107608[rbp]
	test	eax, eax
	je	.L2094
	mov	rcx, QWORD PTR -107824[rbp]
	mov	edx, DWORD PTR -107812[rbp]
	lea	rax, -107664[rbp]
	lea	rdi, 22696[rax]
	lea	rsi, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	r8, rcx
	mov	ecx, edx
	mov	rdx, rdi
	mov	rdi, rax
	mov	eax, 0
	call	writeoff
.L2094:
	mov	eax, DWORD PTR -107620[rbp]
	test	eax, eax
	je	.L2095
	mov	rcx, QWORD PTR -107824[rbp]
	mov	edx, DWORD PTR -107812[rbp]
	lea	rax, -107664[rbp]
	lea	rdi, 14504[rax]
	lea	rsi, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	r8, rcx
	mov	ecx, edx
	mov	rdx, rdi
	mov	rdi, rax
	mov	eax, 0
	call	writeedges
.L2095:
	mov	eax, DWORD PTR -107616[rbp]
	test	eax, eax
	je	.L2096
	mov	r8, QWORD PTR -107824[rbp]
	mov	edi, DWORD PTR -107812[rbp]
	lea	rax, -107664[rbp]
	lea	rcx, 18600[rax]
	lea	rax, -107664[rbp]
	lea	rdx, 16552[rax]
	lea	rsi, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	r9, r8
	mov	r8d, edi
	mov	rdi, rax
	mov	eax, 0
	call	writevoronoi
.L2096:
	mov	eax, DWORD PTR -107612[rbp]
	test	eax, eax
	je	.L2097
	mov	rcx, QWORD PTR -107824[rbp]
	mov	edx, DWORD PTR -107812[rbp]
	lea	rax, -107664[rbp]
	lea	rdi, 20648[rax]
	lea	rsi, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	r8, rcx
	mov	ecx, edx
	mov	rdx, rdi
	mov	rdi, rax
	mov	eax, 0
	call	writeneighbors
.L2097:
	mov	eax, DWORD PTR -107552[rbp]
	test	eax, eax
	jne	.L2098
	lea	rdx, -107784[rbp]
	lea	rax, -107680[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	rax, QWORD PTR -107680[rbp]
	mov	rdx, QWORD PTR -107696[rbp]
	sub	rax, rdx
	imul	rsi, rax, 1000
	mov	rax, QWORD PTR -107672[rbp]
	mov	rdx, QWORD PTR -107688[rbp]
	sub	rax, rdx
	mov	rcx, rax
	movabs	rdx, 2361183241434822607
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 7
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	add	rax, rsi
	mov	rsi, rax
	lea	rdi, .LC1183[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -107680[rbp]
	mov	rdx, QWORD PTR -107776[rbp]
	sub	rax, rdx
	imul	rsi, rax, 1000
	mov	rax, QWORD PTR -107672[rbp]
	mov	rdx, QWORD PTR -107768[rbp]
	sub	rax, rdx
	mov	rcx, rax
	movabs	rdx, 2361183241434822607
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 7
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	add	rax, rsi
	mov	rsi, rax
	lea	rdi, .LC1184[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	statistics
.L2098:
	mov	eax, DWORD PTR -107556[rbp]
	test	eax, eax
	je	.L2099
	lea	rdx, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	checkmesh
	lea	rdx, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	checkdelaunay
.L2099:
	lea	rdx, -107664[rbp]
	lea	rax, -82912[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	triangledeinit
	mov	eax, 0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L2101
	call	__stack_chk_fail@PLT
.L2101:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE129:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC0:
	.long	-1717986918
	.long	1068079513
	.align 8
.LC1:
	.long	1202590843
	.long	1066695393
	.align 8
.LC873:
	.long	0
	.long	-1074790400
	.align 8
.LC874:
	.long	0
	.long	1077149696
	.align 8
.LC880:
	.long	1413754136
	.long	1074340347
	.align 8
.LC881:
	.long	0
	.long	1080459264
	.align 8
.LC882:
	.long	0
	.long	1072693248
	.align 8
.LC883:
	.long	1717986918
	.long	1071539814
	.align 8
.LC916:
	.long	0
	.long	1071644672
	.align 8
.LC917:
	.long	0
	.long	1075838976
	.align 8
.LC918:
	.long	0
	.long	1074266112
	.align 8
.LC919:
	.long	0
	.long	1076887552
	.align 8
.LC920:
	.long	0
	.long	1076363264
	.align 8
.LC921:
	.long	0
	.long	1073741824
	.align 8
.LC922:
	.long	0
	.long	1078984704
	.align 8
.LC923:
	.long	0
	.long	1075970048
	.align 8
.LC924:
	.long	0
	.long	1079508992
	.align 8
.LC925:
	.long	0
	.long	1076101120
	.align 8
.LC926:
	.long	0
	.long	1078460416
	.align 8
.LC927:
	.long	0
	.long	1074790400
	.align 8
.LC928:
	.long	0
	.long	1082261504
	.align 8
.LC929:
	.long	0
	.long	1078329344
	.align 8
.LC930:
	.long	0
	.long	1078722560
	.align 8
.LC931:
	.long	0
	.long	1075576832
	.align 8
.LC932:
	.long	0
	.long	1077673984
	.align 8
.LC933:
	.long	0
	.long	1081212928
	.align 8
.LC934:
	.long	0
	.long	1077542912
	.align 16
.LC935:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.align 8
.LC960:
	.long	1719614413
	.long	1073127582
	.align 8
.LC962:
	.long	-1821066134
	.long	1072694296
	.align 8
.LC963:
	.long	-652835029
	.long	1072691150
	.align 8
.LC998:
	.long	0
	.long	1078525952
	.align 8
.LC999:
	.long	0
	.long	1078198272
	.align 8
.LC1000:
	.long	0
	.long	1078853632
	.align 8
.LC1060:
	.long	0
	.long	1073217536
	.align 8
.LC1124:
	.long	1256670343
	.long	1069963032
	.align 8
.LC1125:
	.long	442745336
	.long	1078765020
	.align 8
.LC1126:
	.long	0
	.long	1074003968
	.align 8
.LC1127:
	.long	0
	.long	1075314688
	.align 8
.LC1128:
	.long	0
	.long	1076756480
	.align 8
.LC1129:
	.long	0
	.long	1077477376
	.align 8
.LC1130:
	.long	0
	.long	1079574528
	.align 8
.LC1131:
	.long	0
	.long	1081262080
	.align 8
.LC1132:
	.long	0
	.long	1083129856
	.align 8
.LC1133:
	.long	0
	.long	1086556160
	.align 8
.LC1134:
	.long	0
	.long	1090021888
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"161395.c"
	.text
	.comm	splitter,8,8
	.comm	epsilon,8,8
	.comm	resulterrbound,8,8
	.comm	ccwerrboundA,8,8
	.comm	ccwerrboundB,8,8
	.comm	ccwerrboundC,8,8
	.comm	iccerrboundA,8,8
	.comm	iccerrboundB,8,8
	.comm	iccerrboundC,8,8
	.comm	o3derrboundA,8,8
	.comm	o3derrboundB,8,8
	.comm	o3derrboundC,8,8
	.comm	randomseed,4,4
	.global	plus1mod3
	.data
	.align	2
	.type	plus1mod3, %object
	.size	plus1mod3, 12
plus1mod3:
	.word	1
	.word	2
	.word	0
	.global	minus1mod3
	.align	2
	.type	minus1mod3, %object
	.size	minus1mod3, 12
minus1mod3:
	.word	2
	.word	0
	.word	1
	.global	__aeabi_dsub
	.global	__aeabi_dmul
	.global	__aeabi_dadd
	.global	__aeabi_dcmpgt
	.text
	.align	2
	.global	triunsuitable
	.syntax unified
	.arm
	.fpu softvfp
	.type	triunsuitable, %function
triunsuitable:
	@ args = 8, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #96
	str	r0, [fp, #-96]
	str	r1, [fp, #-100]
	str	r2, [fp, #-104]
	ldr	r3, [fp, #-96]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-104]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-104]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-100]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-104]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-100]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-104]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-96]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-100]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-100]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L14
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	b	.L4
.L14:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
.L4:
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L15
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	b	.L7
.L15:
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
.L7:
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-96]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-96]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L17
	ldr	r3, .L17+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L17+8
	ldr	r3, .L17+12
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L16
	mov	r3, #1
	b	.L10
.L16:
	mov	r3, #0
.L10:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L18:
	.align	2
.L17:
	.word	-1717986918
	.word	1068079513
	.word	1202590843
	.word	1066695393
	.size	triunsuitable, .-triunsuitable
	.align	2
	.global	triexit
	.syntax unified
	.arm
	.fpu softvfp
	.type	triexit, %function
triexit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	exit
	.size	triexit, .-triexit
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Error:  Out of memory.\000"
	.text
	.align	2
	.global	trimalloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	trimalloc, %function
trimalloc:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L21
	ldr	r0, .L23
	bl	puts
	mov	r0, #1
	bl	triexit
.L21:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L24:
	.align	2
.L23:
	.word	.LC0
	.size	trimalloc, .-trimalloc
	.align	2
	.global	trifree
	.syntax unified
	.arm
	.fpu softvfp
	.type	trifree, %function
trifree:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	trifree, .-trifree
	.section	.rodata
	.align	2
.LC1:
	.ascii	"triangle [-prq__a__uAcDjevngBPNEIOXzo_YS__iFlsCQVh]"
	.ascii	" input_file\000"
	.align	2
.LC2:
	.ascii	"    -p  Triangulates a Planar Straight Line Graph ("
	.ascii	".poly file).\000"
	.align	2
.LC3:
	.ascii	"    -r  Refines a previously generated mesh.\000"
	.align	2
.LC4:
	.ascii	"    -q  Quality mesh generation.  A minimum angle m"
	.ascii	"ay be specified.\000"
	.align	2
.LC5:
	.ascii	"    -a  Applies a maximum triangle area constraint."
	.ascii	"\000"
	.align	2
.LC6:
	.ascii	"    -u  Applies a user-defined triangle constraint."
	.ascii	"\000"
	.align	2
.LC7:
	.ascii	"    -A  Applies attributes to identify triangles in"
	.ascii	" certain regions.\000"
	.align	2
.LC8:
	.ascii	"    -c  Encloses the convex hull with segments.\000"
	.align	2
.LC9:
	.ascii	"    -D  Conforming Delaunay:  all triangles are tru"
	.ascii	"ly Delaunay.\000"
	.align	2
.LC10:
	.ascii	"    -j  Jettison unused vertices from output .node "
	.ascii	"file.\000"
	.align	2
.LC11:
	.ascii	"    -e  Generates an edge list.\000"
	.align	2
.LC12:
	.ascii	"    -v  Generates a Voronoi diagram.\000"
	.align	2
.LC13:
	.ascii	"    -n  Generates a list of triangle neighbors.\000"
	.align	2
.LC14:
	.ascii	"    -g  Generates an .off file for Geomview.\000"
	.align	2
.LC15:
	.ascii	"    -B  Suppresses output of boundary information.\000"
	.align	2
.LC16:
	.ascii	"    -P  Suppresses output of .poly file.\000"
	.align	2
.LC17:
	.ascii	"    -N  Suppresses output of .node file.\000"
	.align	2
.LC18:
	.ascii	"    -E  Suppresses output of .ele file.\000"
	.align	2
.LC19:
	.ascii	"    -I  Suppresses mesh iteration numbers.\000"
	.align	2
.LC20:
	.ascii	"    -O  Ignores holes in .poly file.\000"
	.align	2
.LC21:
	.ascii	"    -X  Suppresses use of exact arithmetic.\000"
	.align	2
.LC22:
	.ascii	"    -z  Numbers all items starting from zero (rathe"
	.ascii	"r than one).\000"
	.align	2
.LC23:
	.ascii	"    -o2 Generates second-order subparametric elemen"
	.ascii	"ts.\000"
	.align	2
.LC24:
	.ascii	"    -Y  Suppresses boundary segment splitting.\000"
	.align	2
.LC25:
	.ascii	"    -S  Specifies maximum number of added Steiner p"
	.ascii	"oints.\000"
	.align	2
.LC26:
	.ascii	"    -i  Uses incremental method, rather than divide"
	.ascii	"-and-conquer.\000"
	.align	2
.LC27:
	.ascii	"    -F  Uses Fortune's sweepline algorithm, rather "
	.ascii	"than d-and-c.\000"
	.align	2
.LC28:
	.ascii	"    -l  Uses vertical cuts only, rather than altern"
	.ascii	"ating cuts.\000"
	.align	2
.LC29:
	.ascii	"    -s  Force segments into mesh by splitting (inst"
	.ascii	"ead of using CDT).\000"
	.align	2
.LC30:
	.ascii	"    -C  Check consistency of final mesh.\000"
	.align	2
.LC31:
	.ascii	"    -Q  Quiet:  No terminal output except errors.\000"
	.align	2
.LC32:
	.ascii	"    -V  Verbose:  Detailed information on what I'm "
	.ascii	"doing.\000"
	.align	2
.LC33:
	.ascii	"    -h  Help:  Detailed instructions for Triangle.\000"
	.text
	.align	2
	.global	syntax
	.syntax unified
	.arm
	.fpu softvfp
	.type	syntax, %function
syntax:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L27
	bl	puts
	ldr	r0, .L27+4
	bl	puts
	ldr	r0, .L27+8
	bl	puts
	ldr	r0, .L27+12
	bl	puts
	ldr	r0, .L27+16
	bl	puts
	ldr	r0, .L27+20
	bl	puts
	ldr	r0, .L27+24
	bl	puts
	ldr	r0, .L27+28
	bl	puts
	ldr	r0, .L27+32
	bl	puts
	ldr	r0, .L27+36
	bl	puts
	ldr	r0, .L27+40
	bl	puts
	ldr	r0, .L27+44
	bl	puts
	ldr	r0, .L27+48
	bl	puts
	ldr	r0, .L27+52
	bl	puts
	ldr	r0, .L27+56
	bl	puts
	ldr	r0, .L27+60
	bl	puts
	ldr	r0, .L27+64
	bl	puts
	ldr	r0, .L27+68
	bl	puts
	ldr	r0, .L27+72
	bl	puts
	ldr	r0, .L27+76
	bl	puts
	ldr	r0, .L27+80
	bl	puts
	ldr	r0, .L27+84
	bl	puts
	ldr	r0, .L27+88
	bl	puts
	ldr	r0, .L27+92
	bl	puts
	ldr	r0, .L27+96
	bl	puts
	ldr	r0, .L27+100
	bl	puts
	ldr	r0, .L27+104
	bl	puts
	ldr	r0, .L27+108
	bl	puts
	ldr	r0, .L27+112
	bl	puts
	ldr	r0, .L27+116
	bl	puts
	ldr	r0, .L27+120
	bl	puts
	ldr	r0, .L27+124
	bl	puts
	ldr	r0, .L27+128
	bl	puts
	mov	r0, #0
	bl	triexit
	nop
	pop	{fp, pc}
.L28:
	.align	2
.L27:
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.size	syntax, .-syntax
	.section	.rodata
	.align	2
.LC34:
	.ascii	"Triangle\000"
	.align	2
.LC35:
	.ascii	"A Two-Dimensional Quality Mesh Generator and Delaun"
	.ascii	"ay Triangulator.\000"
	.align	2
.LC36:
	.ascii	"Version 1.6\012\000"
	.align	2
.LC37:
	.ascii	"Copyright 1993, 1995, 1997, 1998, 2002, 2005 Jonath"
	.ascii	"an Richard Shewchuk\000"
	.align	2
.LC38:
	.ascii	"2360 Woolsey #H / Berkeley, California 94705-1927\000"
	.align	2
.LC39:
	.ascii	"Bugs/comments to jrs@cs.berkeley.edu\000"
	.align	2
.LC40:
	.ascii	"Created as part of the Quake project (tools for ear"
	.ascii	"thquake simulation).\000"
	.align	2
.LC41:
	.ascii	"Supported in part by NSF Grant CMS-9318163 and an N"
	.ascii	"SERC 1967 Scholarship.\000"
	.align	2
.LC42:
	.ascii	"There is no warranty whatsoever.  Use at your own r"
	.ascii	"isk.\000"
	.align	2
.LC43:
	.ascii	"This executable is compiled for double precision ar"
	.ascii	"ithmetic.\012\012\000"
	.align	2
.LC44:
	.ascii	"Triangle generates exact Delaunay triangulations, c"
	.ascii	"onstrained Delaunay\000"
	.align	2
.LC45:
	.ascii	"triangulations, conforming Delaunay triangulations,"
	.ascii	" Voronoi diagrams, and\000"
	.align	2
.LC46:
	.ascii	"high-quality triangular meshes.  The latter can be "
	.ascii	"generated with no small\000"
	.align	2
.LC47:
	.ascii	"or large angles, and are thus suitable for finite e"
	.ascii	"lement analysis.  If no\000"
	.align	2
.LC48:
	.ascii	"command line switch is specified, your .node input "
	.ascii	"file is read, and the\000"
	.align	2
.LC49:
	.ascii	"Delaunay triangulation is returned in .node and .el"
	.ascii	"e output files.  The\000"
	.align	2
.LC50:
	.ascii	"command syntax is:\012\000"
	.align	2
.LC51:
	.ascii	"triangle [-prq__a__uAcDjevngBPNEIOXzo_YS__iFlsCQVh]"
	.ascii	" input_file\012\000"
	.align	2
.LC52:
	.ascii	"Underscores indicate that numbers may optionally fo"
	.ascii	"llow certain switches.\000"
	.align	2
.LC53:
	.ascii	"Do not leave any space between a switch and its num"
	.ascii	"eric parameter.\000"
	.align	2
.LC54:
	.ascii	"input_file must be a file with extension .node, or "
	.ascii	"extension .poly if the\000"
	.align	2
.LC55:
	.ascii	"-p switch is used.  If -r is used, you must supply "
	.ascii	".node and .ele files,\000"
	.align	2
.LC56:
	.ascii	"and possibly a .poly file and an .area file as well"
	.ascii	".  The formats of these\000"
	.align	2
.LC57:
	.ascii	"files are described below.\012\000"
	.align	2
.LC58:
	.ascii	"Command Line Switches:\012\000"
	.align	2
.LC59:
	.ascii	"    -p  Reads a Planar Straight Line Graph (.poly f"
	.ascii	"ile), which can specify\000"
	.align	2
.LC60:
	.ascii	"        vertices, segments, holes, regional attribu"
	.ascii	"tes, and regional area\000"
	.align	2
.LC61:
	.ascii	"        constraints.  Generates a constrained Delau"
	.ascii	"nay triangulation (CDT)\000"
	.align	2
.LC62:
	.ascii	"        fitting the input; or, if -s, -q, -a, or -u"
	.ascii	" is used, a conforming\000"
	.align	2
.LC63:
	.ascii	"        constrained Delaunay triangulation (CCDT). "
	.ascii	" If you want a truly\000"
	.align	2
.LC64:
	.ascii	"        Delaunay (not just constrained Delaunay) tr"
	.ascii	"iangulation, use -D as\000"
	.align	2
.LC65:
	.ascii	"        well.  When -p is not used, Triangle reads "
	.ascii	"a .node file by default.\000"
	.align	2
.LC66:
	.ascii	"    -r  Refines a previously generated mesh.  The m"
	.ascii	"esh is read from a .node\000"
	.align	2
.LC67:
	.ascii	"        file and an .ele file.  If -p is also used,"
	.ascii	" a .poly file is read\000"
	.align	2
.LC68:
	.ascii	"        and used to constrain segments in the mesh."
	.ascii	"  If -a is also used\000"
	.align	2
.LC69:
	.ascii	"        (with no number following), an .area file i"
	.ascii	"s read and used to\000"
	.align	2
.LC70:
	.ascii	"        impose area constraints on the mesh.  Furth"
	.ascii	"er details on refinement\000"
	.align	2
.LC71:
	.ascii	"        appear below.\000"
	.align	2
.LC72:
	.ascii	"    -q  Quality mesh generation by Delaunay refinem"
	.ascii	"ent (a hybrid of Paul\000"
	.align	2
.LC73:
	.ascii	"        Chew's and Jim Ruppert's algorithms).  Adds"
	.ascii	" vertices to the mesh to\000"
	.align	2
.LC74:
	.ascii	"        ensure that all angles are between 20 and 1"
	.ascii	"40 degrees.  An\000"
	.align	2
.LC75:
	.ascii	"        alternative bound on the minimum angle, rep"
	.ascii	"lacing 20 degrees, may\000"
	.align	2
.LC76:
	.ascii	"        be specified after the `q'.  The specified "
	.ascii	"angle may include a\000"
	.align	2
.LC77:
	.ascii	"        decimal point, but not exponential notation"
	.ascii	".  Note that a bound of\000"
	.align	2
.LC78:
	.ascii	"        theta degrees on the smallest angle also im"
	.ascii	"plies a bound of\000"
	.align	2
.LC79:
	.ascii	"        (180 - 2 theta) on the largest angle.  If t"
	.ascii	"he minimum angle is 28.6\000"
	.align	2
.LC80:
	.ascii	"        degrees or smaller, Triangle is mathematica"
	.ascii	"lly guaranteed to\000"
	.align	2
.LC81:
	.ascii	"        terminate (assuming infinite precision arit"
	.ascii	"hmetic--Triangle may\000"
	.align	2
.LC82:
	.ascii	"        fail to terminate if you run out of precisi"
	.ascii	"on).  In practice,\000"
	.align	2
.LC83:
	.ascii	"        Triangle often succeeds for minimum angles "
	.ascii	"up to 34 degrees.  For\000"
	.align	2
.LC84:
	.ascii	"        some meshes, however, you might need to red"
	.ascii	"uce the minimum angle to\000"
	.align	2
.LC85:
	.ascii	"        avoid problems associated with insufficient"
	.ascii	" floating-point\000"
	.align	2
.LC86:
	.ascii	"        precision.\000"
	.align	2
.LC87:
	.ascii	"    -a  Imposes a maximum triangle area.  If a numb"
	.ascii	"er follows the `a', no\000"
	.align	2
.LC88:
	.ascii	"        triangle is generated whose area is larger "
	.ascii	"than that number.  If no\000"
	.align	2
.LC89:
	.ascii	"        number is specified, an .area file (if -r i"
	.ascii	"s used) or .poly file\000"
	.align	2
.LC90:
	.ascii	"        (if -r is not used) specifies a set of maxi"
	.ascii	"mum area constraints.\000"
	.align	2
.LC91:
	.ascii	"        An .area file contains a separate area cons"
	.ascii	"traint for each\000"
	.align	2
.LC92:
	.ascii	"        triangle, and is useful for refining a fini"
	.ascii	"te element mesh based on\000"
	.align	2
.LC93:
	.ascii	"        a posteriori error estimates.  A .poly file"
	.ascii	" can optionally contain\000"
	.align	2
.LC94:
	.ascii	"        an area constraint for each segment-bounded"
	.ascii	" region, thereby\000"
	.align	2
.LC95:
	.ascii	"        controlling triangle densities in a first t"
	.ascii	"riangulation of a PSLG.\000"
	.align	2
.LC96:
	.ascii	"        You can impose both a fixed area constraint"
	.ascii	" and a varying area\000"
	.align	2
.LC97:
	.ascii	"        constraint by invoking the -a switch twice,"
	.ascii	" once with and once\000"
	.align	2
.LC98:
	.ascii	"        without a number following.  Each area spec"
	.ascii	"ified may include a\000"
	.align	2
.LC99:
	.ascii	"        decimal point.\000"
	.align	2
.LC100:
	.ascii	"    -u  Imposes a user-defined constraint on triang"
	.ascii	"le size.  There are two\000"
	.align	2
.LC101:
	.ascii	"        ways to use this feature.  One is to edit t"
	.ascii	"he triunsuitable()\000"
	.align	2
.LC102:
	.ascii	"        procedure in triangle.c to encode any const"
	.ascii	"raint you like, then\000"
	.align	2
.LC103:
	.ascii	"        recompile Triangle.  The other is to compil"
	.ascii	"e triangle.c with the\000"
	.align	2
.LC104:
	.ascii	"        EXTERNAL_TEST symbol set (compiler switch -"
	.ascii	"DEXTERNAL_TEST), then\000"
	.align	2
.LC105:
	.ascii	"        link Triangle with a separate object file t"
	.ascii	"hat implements\000"
	.align	2
.LC106:
	.ascii	"        triunsuitable().  In either case, the -u sw"
	.ascii	"itch causes the user-\000"
	.align	2
.LC107:
	.ascii	"        defined test to be applied to every triangl"
	.ascii	"e.\000"
	.align	2
.LC108:
	.ascii	"    -A  Assigns an additional floating-point attrib"
	.ascii	"ute to each triangle\000"
	.align	2
.LC109:
	.ascii	"        that identifies what segment-bounded region"
	.ascii	" each triangle belongs\000"
	.align	2
.LC110:
	.ascii	"        to.  Attributes are assigned to regions by "
	.ascii	"the .poly file.  If a\000"
	.align	2
.LC111:
	.ascii	"        region is not explicitly marked by the .pol"
	.ascii	"y file, triangles in\000"
	.align	2
.LC112:
	.ascii	"        that region are assigned an attribute of ze"
	.ascii	"ro.  The -A switch has\000"
	.align	2
.LC113:
	.ascii	"        an effect only when the -p switch is used a"
	.ascii	"nd the -r switch is not.\000"
	.align	2
.LC114:
	.ascii	"    -c  Creates segments on the convex hull of the "
	.ascii	"triangulation.  If you\000"
	.align	2
.LC115:
	.ascii	"        are triangulating a vertex set, this switch"
	.ascii	" causes a .poly file to\000"
	.align	2
.LC116:
	.ascii	"        be written, containing all edges of the con"
	.ascii	"vex hull.  If you are\000"
	.align	2
.LC117:
	.ascii	"        triangulating a PSLG, this switch specifies"
	.ascii	" that the whole convex\000"
	.align	2
.LC118:
	.ascii	"        hull of the PSLG should be triangulated, re"
	.ascii	"gardless of what\000"
	.align	2
.LC119:
	.ascii	"        segments the PSLG has.  If you do not use t"
	.ascii	"his switch when\000"
	.align	2
.LC120:
	.ascii	"        triangulating a PSLG, Triangle assumes that"
	.ascii	" you have identified the\000"
	.align	2
.LC121:
	.ascii	"        region to be triangulated by surrounding it"
	.ascii	" with segments of the\000"
	.align	2
.LC122:
	.ascii	"        input PSLG.  Beware:  if you are not carefu"
	.ascii	"l, this switch can cause\000"
	.align	2
.LC123:
	.ascii	"        the introduction of an extremely thin angle"
	.ascii	" between a PSLG segment\000"
	.align	2
.LC124:
	.ascii	"        and a convex hull segment, which can cause "
	.ascii	"overrefinement (and\000"
	.align	2
.LC125:
	.ascii	"        possibly failure if Triangle runs out of pr"
	.ascii	"ecision).  If you are\000"
	.align	2
.LC126:
	.ascii	"        refining a mesh, the -c switch works differ"
	.ascii	"ently:  it causes a\000"
	.align	2
.LC127:
	.ascii	"        .poly file to be written containing the bou"
	.ascii	"ndary edges of the mesh\000"
	.align	2
.LC128:
	.ascii	"        (useful if no .poly file was read).\000"
	.align	2
.LC129:
	.ascii	"    -D  Conforming Delaunay triangulation:  use thi"
	.ascii	"s switch if you want to\000"
	.align	2
.LC130:
	.ascii	"        ensure that all the triangles in the mesh a"
	.ascii	"re Delaunay, and not\000"
	.align	2
.LC131:
	.ascii	"        merely constrained Delaunay; or if you want"
	.ascii	" to ensure that all the\000"
	.align	2
.LC132:
	.ascii	"        Voronoi vertices lie within the triangulati"
	.ascii	"on.  (Some finite volume\000"
	.align	2
.LC133:
	.ascii	"        methods have this requirement.)  This switc"
	.ascii	"h invokes Ruppert's\000"
	.align	2
.LC134:
	.ascii	"        original algorithm, which splits every subs"
	.ascii	"egment whose diametral\000"
	.align	2
.LC135:
	.ascii	"        circle is encroached.  It usually increases"
	.ascii	" the number of vertices\000"
	.align	2
.LC136:
	.ascii	"        and triangles.\000"
	.align	2
.LC137:
	.ascii	"    -j  Jettisons vertices that are not part of the"
	.ascii	" final triangulation\000"
	.align	2
.LC138:
	.ascii	"        from the output .node file.  By default, Tr"
	.ascii	"iangle copies all\000"
	.align	2
.LC139:
	.ascii	"        vertices in the input .node file to the out"
	.ascii	"put .node file, in the\000"
	.align	2
.LC140:
	.ascii	"        same order, so their indices do not change."
	.ascii	"  The -j switch prevents\000"
	.align	2
.LC141:
	.ascii	"        duplicated input vertices, or vertices `eat"
	.ascii	"en' by holes, from\000"
	.align	2
.LC142:
	.ascii	"        appearing in the output .node file.  Thus, "
	.ascii	"if two input vertices\000"
	.align	2
.LC143:
	.ascii	"        have exactly the same coordinates, only the"
	.ascii	" first appears in the\000"
	.align	2
.LC144:
	.ascii	"        output.  If any vertices are jettisoned, th"
	.ascii	"e vertex numbering in\000"
	.align	2
.LC145:
	.ascii	"        the output .node file differs from that of "
	.ascii	"the input .node file.\000"
	.align	2
.LC146:
	.ascii	"    -e  Outputs (to an .edge file) a list of edges "
	.ascii	"of the triangulation.\000"
	.align	2
.LC147:
	.ascii	"    -v  Outputs the Voronoi diagram associated with"
	.ascii	" the triangulation.\000"
	.align	2
.LC148:
	.ascii	"        Does not attempt to detect degeneracies, so"
	.ascii	" some Voronoi vertices\000"
	.align	2
.LC149:
	.ascii	"        may be duplicated.  See the discussion of V"
	.ascii	"oronoi diagrams below.\000"
	.align	2
.LC150:
	.ascii	"    -n  Outputs (to a .neigh file) a list of triang"
	.ascii	"les neighboring each\000"
	.align	2
.LC151:
	.ascii	"        triangle.\000"
	.align	2
.LC152:
	.ascii	"    -g  Outputs the mesh to an Object File Format ("
	.ascii	".off) file, suitable for\000"
	.align	2
.LC153:
	.ascii	"        viewing with the Geometry Center's Geomview"
	.ascii	" package.\000"
	.align	2
.LC154:
	.ascii	"    -B  No boundary markers in the output .node, .p"
	.ascii	"oly, and .edge output\000"
	.align	2
.LC155:
	.ascii	"        files.  See the detailed discussion of boun"
	.ascii	"dary markers below.\000"
	.align	2
.LC156:
	.ascii	"    -P  No output .poly file.  Saves disk space, bu"
	.ascii	"t you lose the ability\000"
	.align	2
.LC157:
	.ascii	"        to maintain constraining segments on later "
	.ascii	"refinements of the mesh.\000"
	.align	2
.LC158:
	.ascii	"    -N  No output .node file.\000"
	.align	2
.LC159:
	.ascii	"    -E  No output .ele file.\000"
	.align	2
.LC160:
	.ascii	"    -I  No iteration numbers.  Suppresses the outpu"
	.ascii	"t of .node and .poly\000"
	.align	2
.LC161:
	.ascii	"        files, so your input files won't be overwri"
	.ascii	"tten.  (If your input is\000"
	.align	2
.LC162:
	.ascii	"        a .poly file only, a .node file is written."
	.ascii	")  Cannot be used with\000"
	.align	2
.LC163:
	.ascii	"        the -r switch, because that would overwrite"
	.ascii	" your input .ele file.\000"
	.align	2
.LC164:
	.ascii	"        Shouldn't be used with the -q, -a, -u, or -"
	.ascii	"s switch if you are\000"
	.align	2
.LC165:
	.ascii	"        using a .node file for input, because no .n"
	.ascii	"ode file is written, so\000"
	.align	2
.LC166:
	.ascii	"        there is no record of any added Steiner poi"
	.ascii	"nts.\000"
	.align	2
.LC167:
	.ascii	"    -O  No holes.  Ignores the holes in the .poly f"
	.ascii	"ile.\000"
	.align	2
.LC168:
	.ascii	"    -X  No exact arithmetic.  Normally, Triangle us"
	.ascii	"es exact floating-point\000"
	.align	2
.LC169:
	.ascii	"        arithmetic for certain tests if it thinks t"
	.ascii	"he inexact tests are not\000"
	.align	2
.LC170:
	.ascii	"        accurate enough.  Exact arithmetic ensures "
	.ascii	"the robustness of the\000"
	.align	2
.LC171:
	.ascii	"        triangulation algorithms, despite floating-"
	.ascii	"point roundoff error.\000"
	.align	2
.LC172:
	.ascii	"        Disabling exact arithmetic with the -X swit"
	.ascii	"ch causes a small\000"
	.align	2
.LC173:
	.ascii	"        improvement in speed and creates the possib"
	.ascii	"ility that Triangle will\000"
	.align	2
.LC174:
	.ascii	"        fail to produce a valid mesh.  Not recommen"
	.ascii	"ded.\000"
	.align	2
.LC175:
	.ascii	"    -z  Numbers all items starting from zero (rathe"
	.ascii	"r than one).  Note that\000"
	.align	2
.LC176:
	.ascii	"        this switch is normally overridden by the v"
	.ascii	"alue used to number the\000"
	.align	2
.LC177:
	.ascii	"        first vertex of the input .node or .poly fi"
	.ascii	"le.  However, this\000"
	.align	2
.LC178:
	.ascii	"        switch is useful when calling Triangle from"
	.ascii	" another program.\000"
	.align	2
.LC179:
	.ascii	"    -o2 Generates second-order subparametric elemen"
	.ascii	"ts with six nodes each.\000"
	.align	2
.LC180:
	.ascii	"    -Y  No new vertices on the boundary.  This swit"
	.ascii	"ch is useful when the\000"
	.align	2
.LC181:
	.ascii	"        mesh boundary must be preserved so that it "
	.ascii	"conforms to some\000"
	.align	2
.LC182:
	.ascii	"        adjacent mesh.  Be forewarned that you will"
	.ascii	" probably sacrifice much\000"
	.align	2
.LC183:
	.ascii	"        of the quality of the mesh; Triangle will t"
	.ascii	"ry, but the resulting\000"
	.align	2
.LC184:
	.ascii	"        mesh may contain poorly shaped triangles.  "
	.ascii	"Works well if all the\000"
	.align	2
.LC185:
	.ascii	"        boundary vertices are closely spaced.  Spec"
	.ascii	"ify this switch twice\000"
	.align	2
.LC186:
	.ascii	"        (`-YY') to prevent all segment splitting, i"
	.ascii	"ncluding internal\000"
	.align	2
.LC187:
	.ascii	"        boundaries.\000"
	.align	2
.LC188:
	.ascii	"    -S  Specifies the maximum number of Steiner poi"
	.ascii	"nts (vertices that are\000"
	.align	2
.LC189:
	.ascii	"        not in the input, but are added to meet the"
	.ascii	" constraints on minimum\000"
	.align	2
.LC190:
	.ascii	"        angle and maximum area).  The default is to"
	.ascii	" allow an unlimited\000"
	.align	2
.LC191:
	.ascii	"        number.  If you specify this switch with no"
	.ascii	" number after it,\000"
	.align	2
.LC192:
	.ascii	"        the limit is set to zero.  Triangle always "
	.ascii	"adds vertices at segment\000"
	.align	2
.LC193:
	.ascii	"        intersections, even if it needs to use more"
	.ascii	" vertices than the limit\000"
	.align	2
.LC194:
	.ascii	"        you set.  When Triangle inserts segments by"
	.ascii	" splitting (-s), it\000"
	.align	2
.LC195:
	.ascii	"        always adds enough vertices to ensure that "
	.ascii	"all the segments of the\000"
	.align	2
.LC196:
	.ascii	"        PLSG are recovered, ignoring the limit if n"
	.ascii	"ecessary.\000"
	.align	2
.LC197:
	.ascii	"    -i  Uses an incremental rather than a divide-an"
	.ascii	"d-conquer algorithm to\000"
	.align	2
.LC198:
	.ascii	"        construct a Delaunay triangulation.  Try it"
	.ascii	" if the divide-and-\000"
	.align	2
.LC199:
	.ascii	"        conquer algorithm fails.\000"
	.align	2
.LC200:
	.ascii	"    -F  Uses Steven Fortune's sweepline algorithm t"
	.ascii	"o construct a Delaunay\000"
	.align	2
.LC201:
	.ascii	"        triangulation.  Warning:  does not use exac"
	.ascii	"t arithmetic for all\000"
	.align	2
.LC202:
	.ascii	"        calculations.  An exact result is not guara"
	.ascii	"nteed.\000"
	.align	2
.LC203:
	.ascii	"    -l  Uses only vertical cuts in the divide-and-c"
	.ascii	"onquer algorithm.  By\000"
	.align	2
.LC204:
	.ascii	"        default, Triangle alternates between vertic"
	.ascii	"al and horizontal cuts,\000"
	.align	2
.LC205:
	.ascii	"        which usually improve the speed except with"
	.ascii	" vertex sets that are\000"
	.align	2
.LC206:
	.ascii	"        small or short and wide.  This switch is pr"
	.ascii	"imarily of theoretical\000"
	.align	2
.LC207:
	.ascii	"        interest.\000"
	.align	2
.LC208:
	.ascii	"    -s  Specifies that segments should be forced in"
	.ascii	"to the triangulation by\000"
	.align	2
.LC209:
	.ascii	"        recursively splitting them at their midpoin"
	.ascii	"ts, rather than by\000"
	.align	2
.LC210:
	.ascii	"        generating a constrained Delaunay triangula"
	.ascii	"tion.  Segment splitting\000"
	.align	2
.LC211:
	.ascii	"        is true to Ruppert's original algorithm, bu"
	.ascii	"t can create needlessly\000"
	.align	2
.LC212:
	.ascii	"        small triangles.  This switch is primarily "
	.ascii	"of theoretical interest.\000"
	.align	2
.LC213:
	.ascii	"    -C  Check the consistency of the final mesh.  U"
	.ascii	"ses exact arithmetic for\000"
	.align	2
.LC214:
	.ascii	"        checking, even if the -X switch is used.  U"
	.ascii	"seful if you suspect\000"
	.align	2
.LC215:
	.ascii	"        Triangle is buggy.\000"
	.align	2
.LC216:
	.ascii	"    -Q  Quiet:  Suppresses all explanation of what "
	.ascii	"Triangle is doing,\000"
	.align	2
.LC217:
	.ascii	"        unless an error occurs.\000"
	.align	2
.LC218:
	.ascii	"    -V  Verbose:  Gives detailed information about "
	.ascii	"what Triangle is doing.\000"
	.align	2
.LC219:
	.ascii	"        Add more `V's for increasing amount of deta"
	.ascii	"il.  `-V' is most\000"
	.align	2
.LC220:
	.ascii	"        useful; itgives information on algorithmic "
	.ascii	"progress and much more\000"
	.align	2
.LC221:
	.ascii	"        detailed statistics.  `-VV' gives vertex-by"
	.ascii	"-vertex details, and\000"
	.align	2
.LC222:
	.ascii	"        prints so much that Triangle runs much more"
	.ascii	" slowly.  `-VVVV' gives\000"
	.align	2
.LC223:
	.ascii	"        information only a debugger could love.\000"
	.align	2
.LC224:
	.ascii	"    -h  Help:  Displays these instructions.\000"
	.align	2
.LC225:
	.ascii	"Definitions:\000"
	.align	2
.LC226:
	.ascii	"  A Delaunay triangulation of a vertex set is a tri"
	.ascii	"angulation whose\000"
	.align	2
.LC227:
	.ascii	"  vertices are the vertex set, that covers the conv"
	.ascii	"ex hull of the vertex\000"
	.align	2
.LC228:
	.ascii	"  set.  A Delaunay triangulation has the property t"
	.ascii	"hat no vertex lies\000"
	.align	2
.LC229:
	.ascii	"  inside the circumscribing circle (circle that pas"
	.ascii	"ses through all three\000"
	.align	2
.LC230:
	.ascii	"  vertices) of any triangle in the triangulation.\012"
	.ascii	"\000"
	.align	2
.LC231:
	.ascii	"  A Voronoi diagram of a vertex set is a subdivisio"
	.ascii	"n of the plane into\000"
	.align	2
.LC232:
	.ascii	"  polygonal cells (some of which may be unbounded, "
	.ascii	"meaning infinitely\000"
	.align	2
.LC233:
	.ascii	"  large), where each cell is the set of points in t"
	.ascii	"he plane that are closer\000"
	.align	2
.LC234:
	.ascii	"  to some input vertex than to any other input vert"
	.ascii	"ex.  The Voronoi diagram\000"
	.align	2
.LC235:
	.ascii	"  is a geometric dual of the Delaunay triangulation"
	.ascii	".\012\000"
	.align	2
.LC236:
	.ascii	"  A Planar Straight Line Graph (PSLG) is a set of v"
	.ascii	"ertices and segments.\000"
	.align	2
.LC237:
	.ascii	"  Segments are simply edges, whose endpoints are al"
	.ascii	"l vertices in the PSLG.\000"
	.align	2
.LC238:
	.ascii	"  Segments may intersect each other only at their e"
	.ascii	"ndpoints.  The file\000"
	.align	2
.LC239:
	.ascii	"  format for PSLGs (.poly files) is described below"
	.ascii	".\012\000"
	.align	2
.LC240:
	.ascii	"  A constrained Delaunay triangulation (CDT) of a P"
	.ascii	"SLG is similar to a\000"
	.align	2
.LC241:
	.ascii	"  Delaunay triangulation, but each PSLG segment is "
	.ascii	"present as a single edge\000"
	.align	2
.LC242:
	.ascii	"  of the CDT.  (A constrained Delaunay triangulatio"
	.ascii	"n is not truly a\000"
	.align	2
.LC243:
	.ascii	"  Delaunay triangulation, because some of its trian"
	.ascii	"gles might not be\000"
	.align	2
.LC244:
	.ascii	"  Delaunay.)  By definition, a CDT does not have an"
	.ascii	"y vertices other than\000"
	.align	2
.LC245:
	.ascii	"  those specified in the input PSLG.  Depending on "
	.ascii	"context, a CDT might\000"
	.align	2
.LC246:
	.ascii	"  cover the convex hull of the PSLG, or it might co"
	.ascii	"ver only a segment-\000"
	.align	2
.LC247:
	.ascii	"  bounded region (e.g. a polygon).\012\000"
	.align	2
.LC248:
	.ascii	"  A conforming Delaunay triangulation of a PSLG is "
	.ascii	"a triangulation in which\000"
	.align	2
.LC249:
	.ascii	"  each triangle is truly Delaunay, and each PSLG se"
	.ascii	"gment is represented by\000"
	.align	2
.LC250:
	.ascii	"  a linear contiguous sequence of edges of the tria"
	.ascii	"ngulation.  New vertices\000"
	.align	2
.LC251:
	.ascii	"  (not part of the PSLG) may appear, and each input"
	.ascii	" segment may have been\000"
	.align	2
.LC252:
	.ascii	"  subdivided into shorter edges (subsegments) by th"
	.ascii	"ese additional vertices.\000"
	.align	2
.LC253:
	.ascii	"  The new vertices are frequently necessary to main"
	.ascii	"tain the Delaunay\000"
	.align	2
.LC254:
	.ascii	"  property while ensuring that every segment is rep"
	.ascii	"resented.\012\000"
	.align	2
.LC255:
	.ascii	"  A conforming constrained Delaunay triangulation ("
	.ascii	"CCDT) of a PSLG is a\000"
	.align	2
.LC256:
	.ascii	"  triangulation of a PSLG whose triangles are const"
	.ascii	"rained Delaunay.  New\000"
	.align	2
.LC257:
	.ascii	"  vertices may appear, and input segments may be su"
	.ascii	"bdivided into\000"
	.align	2
.LC258:
	.ascii	"  subsegments, but not to guarantee that segments a"
	.ascii	"re respected; rather, to\000"
	.align	2
.LC259:
	.ascii	"  improve the quality of the triangles.  The high-q"
	.ascii	"uality meshes produced\000"
	.align	2
.LC260:
	.ascii	"  by the -q switch are usually CCDTs, but can be ma"
	.ascii	"de conforming Delaunay\000"
	.align	2
.LC261:
	.ascii	"  with the -D switch.\012\000"
	.align	2
.LC262:
	.ascii	"File Formats:\012\000"
	.align	2
.LC263:
	.ascii	"  All files may contain comments prefixed by the ch"
	.ascii	"aracter '#'.  Vertices,\000"
	.align	2
.LC264:
	.ascii	"  triangles, edges, holes, and maximum area constra"
	.ascii	"ints must be numbered\000"
	.align	2
.LC265:
	.ascii	"  consecutively, starting from either 1 or 0.  Whic"
	.ascii	"hever you choose, all\000"
	.align	2
.LC266:
	.ascii	"  input files must be consistent; if the vertices a"
	.ascii	"re numbered from 1, so\000"
	.align	2
.LC267:
	.ascii	"  must be all other objects.  Triangle automaticall"
	.ascii	"y detects your choice\000"
	.align	2
.LC268:
	.ascii	"  while reading the .node (or .poly) file.  (When c"
	.ascii	"alling Triangle from\000"
	.align	2
.LC269:
	.ascii	"  another program, use the -z switch if you wish to"
	.ascii	" number objects from\000"
	.align	2
.LC270:
	.ascii	"  zero.)  Examples of these file formats are given "
	.ascii	"below.\012\000"
	.align	2
.LC271:
	.ascii	"  .node files:\000"
	.align	2
.LC272:
	.ascii	"    First line:  <# of vertices> <dimension (must b"
	.ascii	"e 2)> <# of attributes>\000"
	.align	2
.LC273:
	.ascii	"                                           <# of bo"
	.ascii	"undary markers (0 or 1)>\000"
	.align	2
.LC274:
	.ascii	"    Remaining lines:  <vertex #> <x> <y> [attribute"
	.ascii	"s] [boundary marker]\000"
	.align	2
.LC275:
	.ascii	"    The attributes, which are typically floating-po"
	.ascii	"int values of physical\000"
	.align	2
.LC276:
	.ascii	"    quantities (such as mass or conductivity) assoc"
	.ascii	"iated with the nodes of\000"
	.align	2
.LC277:
	.ascii	"    a finite element mesh, are copied unchanged to "
	.ascii	"the output mesh.  If -q,\000"
	.align	2
.LC278:
	.ascii	"    -a, -u, -D, or -s is selected, each new Steiner"
	.ascii	" point added to the mesh\000"
	.align	2
.LC279:
	.ascii	"    has attributes assigned to it by linear interpo"
	.ascii	"lation.\012\000"
	.align	2
.LC280:
	.ascii	"    If the fourth entry of the first line is `1', t"
	.ascii	"he last column of the\000"
	.align	2
.LC281:
	.ascii	"    remainder of the file is assumed to contain bou"
	.ascii	"ndary markers.  Boundary\000"
	.align	2
.LC282:
	.ascii	"    markers are used to identify boundary vertices "
	.ascii	"and vertices resting on\000"
	.align	2
.LC283:
	.ascii	"    PSLG segments; a complete description appears i"
	.ascii	"n a section below.  The\000"
	.align	2
.LC284:
	.ascii	"    .node file produced by Triangle contains bounda"
	.ascii	"ry markers in the last\000"
	.align	2
.LC285:
	.ascii	"    column unless they are suppressed by the -B swi"
	.ascii	"tch.\012\000"
	.align	2
.LC286:
	.ascii	"  .ele files:\000"
	.align	2
.LC287:
	.ascii	"    First line:  <# of triangles> <nodes per triang"
	.ascii	"le> <# of attributes>\000"
	.align	2
.LC288:
	.ascii	"    Remaining lines:  <triangle #> <node> <node> <n"
	.ascii	"ode> ... [attributes]\000"
	.align	2
.LC289:
	.ascii	"    Nodes are indices into the corresponding .node "
	.ascii	"file.  The first three\000"
	.align	2
.LC290:
	.ascii	"    nodes are the corner vertices, and are listed i"
	.ascii	"n counterclockwise order\000"
	.align	2
.LC291:
	.ascii	"    around each triangle.  (The remaining nodes, if"
	.ascii	" any, depend on the type\000"
	.align	2
.LC292:
	.ascii	"    of finite element used.)\012\000"
	.align	2
.LC293:
	.ascii	"    The attributes are just like those of .node fil"
	.ascii	"es.  Because there is no\000"
	.align	2
.LC294:
	.ascii	"    simple mapping from input to output triangles, "
	.ascii	"Triangle attempts to\000"
	.align	2
.LC295:
	.ascii	"    interpolate attributes, and may cause a lot of "
	.ascii	"diffusion of attributes\000"
	.align	2
.LC296:
	.ascii	"    among nearby triangles as the triangulation is "
	.ascii	"refined.  Attributes do\000"
	.align	2
.LC297:
	.ascii	"    not diffuse across segments, so attributes used"
	.ascii	" to identify\000"
	.align	2
.LC298:
	.ascii	"    segment-bounded regions remain intact.\012\000"
	.align	2
.LC299:
	.ascii	"    In .ele files produced by Triangle, each triang"
	.ascii	"ular element has three\000"
	.align	2
.LC300:
	.ascii	"    nodes (vertices) unless the -o2 switch is used,"
	.ascii	" in which case\000"
	.align	2
.LC301:
	.ascii	"    subparametric quadratic elements with six nodes"
	.ascii	" each are generated.\000"
	.align	2
.LC302:
	.ascii	"    The first three nodes are the corners in counte"
	.ascii	"rclockwise order, and\000"
	.align	2
.LC303:
	.ascii	"    the fourth, fifth, and sixth nodes lie on the m"
	.ascii	"idpoints of the edges\000"
	.align	2
.LC304:
	.ascii	"    opposite the first, second, and third vertices,"
	.ascii	" respectively.\000"
	.align	2
.LC305:
	.ascii	"  .poly files:\000"
	.align	2
.LC306:
	.ascii	"    Following lines:  <vertex #> <x> <y> [attribute"
	.ascii	"s] [boundary marker]\000"
	.align	2
.LC307:
	.ascii	"    One line:  <# of segments> <# of boundary marke"
	.ascii	"rs (0 or 1)>\000"
	.align	2
.LC308:
	.ascii	"    Following lines:  <segment #> <endpoint> <endpo"
	.ascii	"int> [boundary marker]\000"
	.align	2
.LC309:
	.ascii	"    One line:  <# of holes>\000"
	.align	2
.LC310:
	.ascii	"    Following lines:  <hole #> <x> <y>\000"
	.align	2
.LC311:
	.ascii	"    Optional line:  <# of regional attributes and/o"
	.ascii	"r area constraints>\000"
	.align	2
.LC312:
	.ascii	"    Optional following lines:  <region #> <x> <y> <"
	.ascii	"attribute> <max area>\000"
	.align	2
.LC313:
	.ascii	"    A .poly file represents a PSLG, as well as some"
	.ascii	" additional information.\000"
	.align	2
.LC314:
	.ascii	"    The first section lists all the vertices, and i"
	.ascii	"s identical to the\000"
	.align	2
.LC315:
	.ascii	"    format of .node files.  <# of vertices> may be "
	.ascii	"set to zero to indicate\000"
	.align	2
.LC316:
	.ascii	"    that the vertices are listed in a separate .nod"
	.ascii	"e file; .poly files\000"
	.align	2
.LC317:
	.ascii	"    produced by Triangle always have this format.  "
	.ascii	"A vertex set represented\000"
	.align	2
.LC318:
	.ascii	"    this way has the advantage that it may easily b"
	.ascii	"e triangulated with or\000"
	.align	2
.LC319:
	.ascii	"    without segments (depending on whether the -p s"
	.ascii	"witch is invoked).\000"
	.align	2
.LC320:
	.ascii	"    The second section lists the segments.  Segment"
	.ascii	"s are edges whose\000"
	.align	2
.LC321:
	.ascii	"    presence in the triangulation is enforced.  (De"
	.ascii	"pending on the choice of\000"
	.align	2
.LC322:
	.ascii	"    switches, segment might be subdivided into smal"
	.ascii	"ler edges).  Each\000"
	.align	2
.LC323:
	.ascii	"    segment is specified by listing the indices of "
	.ascii	"its two endpoints.  This\000"
	.align	2
.LC324:
	.ascii	"    means that you must include its endpoints in th"
	.ascii	"e vertex list.  Each\000"
	.align	2
.LC325:
	.ascii	"    segment, like each point, may have a boundary m"
	.ascii	"arker.\012\000"
	.align	2
.LC326:
	.ascii	"    If -q, -a, -u, and -s are not selected, Triangl"
	.ascii	"e produces a constrained\000"
	.align	2
.LC327:
	.ascii	"    Delaunay triangulation (CDT), in which each seg"
	.ascii	"ment appears as a single\000"
	.align	2
.LC328:
	.ascii	"    edge in the triangulation.  If -q, -a, -u, or -"
	.ascii	"s is selected, Triangle\000"
	.align	2
.LC329:
	.ascii	"    produces a conforming constrained Delaunay tria"
	.ascii	"ngulation (CCDT), in\000"
	.align	2
.LC330:
	.ascii	"    which segments may be subdivided into smaller e"
	.ascii	"dges.  If -D is\000"
	.align	2
.LC331:
	.ascii	"    selected, Triangle produces a conforming Delaun"
	.ascii	"ay triangulation, so\000"
	.align	2
.LC332:
	.ascii	"    that every triangle is Delaunay, and not just c"
	.ascii	"onstrained Delaunay.\000"
	.align	2
.LC333:
	.ascii	"    The third section lists holes (and concavities,"
	.ascii	" if -c is selected) in\000"
	.align	2
.LC334:
	.ascii	"    the triangulation.  Holes are specified by iden"
	.ascii	"tifying a point inside\000"
	.align	2
.LC335:
	.ascii	"    each hole.  After the triangulation is formed, "
	.ascii	"Triangle creates holes\000"
	.align	2
.LC336:
	.ascii	"    by eating triangles, spreading out from each ho"
	.ascii	"le point until its\000"
	.align	2
.LC337:
	.ascii	"    progress is blocked by segments in the PSLG.  Y"
	.ascii	"ou must be careful to\000"
	.align	2
.LC338:
	.ascii	"    enclose each hole in segments, or your whole tr"
	.ascii	"iangulation might be\000"
	.align	2
.LC339:
	.ascii	"    eaten away.  If the two triangles abutting a se"
	.ascii	"gment are eaten, the\000"
	.align	2
.LC340:
	.ascii	"    segment itself is also eaten.  Do not place a h"
	.ascii	"ole directly on a\000"
	.align	2
.LC341:
	.ascii	"    segment; if you do, Triangle chooses one side o"
	.ascii	"f the segment\000"
	.align	2
.LC342:
	.ascii	"    arbitrarily.\012\000"
	.align	2
.LC343:
	.ascii	"    The optional fourth section lists regional attr"
	.ascii	"ibutes (to be assigned\000"
	.align	2
.LC344:
	.ascii	"    to all triangles in a region) and regional cons"
	.ascii	"traints on the maximum\000"
	.align	2
.LC345:
	.ascii	"    triangle area.  Triangle reads this section onl"
	.ascii	"y if the -A switch is\000"
	.align	2
.LC346:
	.ascii	"    used or the -a switch is used without a number "
	.ascii	"following it, and the -r\000"
	.align	2
.LC347:
	.ascii	"    switch is not used.  Regional attributes and ar"
	.ascii	"ea constraints are\000"
	.align	2
.LC348:
	.ascii	"    propagated in the same manner as holes:  you sp"
	.ascii	"ecify a point for each\000"
	.align	2
.LC349:
	.ascii	"    attribute and/or constraint, and the attribute "
	.ascii	"and/or constraint\000"
	.align	2
.LC350:
	.ascii	"    affects the whole region (bounded by segments) "
	.ascii	"containing the point.\000"
	.align	2
.LC351:
	.ascii	"    If two values are written on a line after the x"
	.ascii	" and y coordinate, the\000"
	.align	2
.LC352:
	.ascii	"    first such value is assumed to be a regional at"
	.ascii	"tribute (but is only\000"
	.align	2
.LC353:
	.ascii	"    applied if the -A switch is selected), and the "
	.ascii	"second value is assumed\000"
	.align	2
.LC354:
	.ascii	"    to be a regional area constraint (but is only a"
	.ascii	"pplied if the -a switch\000"
	.align	2
.LC355:
	.ascii	"    is selected).  You may specify just one value a"
	.ascii	"fter the coordinates,\000"
	.align	2
.LC356:
	.ascii	"    which can serve as both an attribute and an are"
	.ascii	"a constraint, depending\000"
	.align	2
.LC357:
	.ascii	"    on the choice of switches.  If you are using th"
	.ascii	"e -A and -a switches\000"
	.align	2
.LC358:
	.ascii	"    simultaneously and wish to assign an attribute "
	.ascii	"to some region without\000"
	.align	2
.LC359:
	.ascii	"    imposing an area constraint, use a negative max"
	.ascii	"imum area.\012\000"
	.align	2
.LC360:
	.ascii	"    When a triangulation is created from a .poly fi"
	.ascii	"le, you must either\000"
	.align	2
.LC361:
	.ascii	"    enclose the entire region to be triangulated in"
	.ascii	" PSLG segments, or\000"
	.align	2
.LC362:
	.ascii	"    use the -c switch, which automatically creates "
	.ascii	"extra segments that\000"
	.align	2
.LC363:
	.ascii	"    enclose the convex hull of the PSLG.  If you do"
	.ascii	" not use the -c switch,\000"
	.align	2
.LC364:
	.ascii	"    Triangle eats all triangles that are not enclos"
	.ascii	"ed by segments; if you\000"
	.align	2
.LC365:
	.ascii	"    are not careful, your whole triangulation may b"
	.ascii	"e eaten away.  If you do\000"
	.align	2
.LC366:
	.ascii	"    use the -c switch, you can still produce concav"
	.ascii	"ities by the appropriate\000"
	.align	2
.LC367:
	.ascii	"    placement of holes just inside the boundary of "
	.ascii	"the convex hull.\000"
	.align	2
.LC368:
	.ascii	"    An ideal PSLG has no intersecting segments, nor"
	.ascii	" any vertices that lie\000"
	.align	2
.LC369:
	.ascii	"    upon segments (except, of course, the endpoints"
	.ascii	" of each segment).  You\000"
	.align	2
.LC370:
	.ascii	"    aren't required to make your .poly files ideal,"
	.ascii	" but you should be aware\000"
	.align	2
.LC371:
	.ascii	"    of what can go wrong.  Segment intersections ar"
	.ascii	"e relatively safe--\000"
	.align	2
.LC372:
	.ascii	"    Triangle calculates the intersection points for"
	.ascii	" you and adds them to\000"
	.align	2
.LC373:
	.ascii	"    the triangulation--as long as your machine's fl"
	.ascii	"oating-point precision\000"
	.align	2
.LC374:
	.ascii	"    doesn't become a problem.  You are tempting the"
	.ascii	" fates if you have three\000"
	.align	2
.LC375:
	.ascii	"    segments that cross at the same location, and e"
	.ascii	"xpect Triangle to figure\000"
	.align	2
.LC376:
	.ascii	"    out where the intersection point is.  Thanks to"
	.ascii	" floating-point roundoff\000"
	.align	2
.LC377:
	.ascii	"    error, Triangle will probably decide that the t"
	.ascii	"hree segments intersect\000"
	.align	2
.LC378:
	.ascii	"    at three different points, and you will find a "
	.ascii	"minuscule triangle in\000"
	.align	2
.LC379:
	.ascii	"    your output--unless Triangle tries to refine th"
	.ascii	"e tiny triangle, uses\000"
	.align	2
.LC380:
	.ascii	"    up the last bit of machine precision, and fails"
	.ascii	" to terminate at all.\000"
	.align	2
.LC381:
	.ascii	"    You're better off putting the intersection poin"
	.ascii	"t in the input files,\000"
	.align	2
.LC382:
	.ascii	"    and manually breaking up each segment into two."
	.ascii	"  Similarly, if you\000"
	.align	2
.LC383:
	.ascii	"    place a vertex at the middle of a segment, and "
	.ascii	"hope that Triangle will\000"
	.align	2
.LC384:
	.ascii	"    break up the segment at that vertex, you might "
	.ascii	"get lucky.  On the other\000"
	.align	2
.LC385:
	.ascii	"    hand, Triangle might decide that the vertex doe"
	.ascii	"sn't lie precisely on\000"
	.align	2
.LC386:
	.ascii	"    the segment, and you'll have a needle-sharp tri"
	.ascii	"angle in your output--or\000"
	.align	2
.LC387:
	.ascii	"    a lot of tiny triangles if you're generating a "
	.ascii	"quality mesh.\000"
	.align	2
.LC388:
	.ascii	"    When Triangle reads a .poly file, it also write"
	.ascii	"s a .poly file, which\000"
	.align	2
.LC389:
	.ascii	"    includes all the subsegments--the edges that ar"
	.ascii	"e parts of input\000"
	.align	2
.LC390:
	.ascii	"    segments.  If the -c switch is used, the output"
	.ascii	" .poly file also\000"
	.align	2
.LC391:
	.ascii	"    includes all of the edges on the convex hull.  "
	.ascii	"Hence, the output .poly\000"
	.align	2
.LC392:
	.ascii	"    file is useful for finding edges associated wit"
	.ascii	"h input segments and for\000"
	.align	2
.LC393:
	.ascii	"    setting boundary conditions in finite element s"
	.ascii	"imulations.  Moreover,\000"
	.align	2
.LC394:
	.ascii	"    you will need the output .poly file if you plan"
	.ascii	" to refine the output\000"
	.align	2
.LC395:
	.ascii	"    mesh, and don't want segments to be missing in "
	.ascii	"later triangulations.\000"
	.align	2
.LC396:
	.ascii	"  .area files:\000"
	.align	2
.LC397:
	.ascii	"    First line:  <# of triangles>\000"
	.align	2
.LC398:
	.ascii	"    Following lines:  <triangle #> <maximum area>\000"
	.align	2
.LC399:
	.ascii	"    An .area file associates with each triangle a m"
	.ascii	"aximum area that is used\000"
	.align	2
.LC400:
	.ascii	"    for mesh refinement.  As with other file format"
	.ascii	"s, every triangle must\000"
	.align	2
.LC401:
	.ascii	"    be represented, and the triangles must be numbe"
	.ascii	"red consecutively.  A\000"
	.align	2
.LC402:
	.ascii	"    triangle may be left unconstrained by assigning"
	.ascii	" it a negative maximum\000"
	.align	2
.LC403:
	.ascii	"    area.\012\000"
	.align	2
.LC404:
	.ascii	"  .edge files:\000"
	.align	2
.LC405:
	.ascii	"    First line:  <# of edges> <# of boundary marker"
	.ascii	"s (0 or 1)>\000"
	.align	2
.LC406:
	.ascii	"    Following lines:  <edge #> <endpoint> <endpoint"
	.ascii	"> [boundary marker]\000"
	.align	2
.LC407:
	.ascii	"    Endpoints are indices into the corresponding .n"
	.ascii	"ode file.  Triangle can\000"
	.align	2
.LC408:
	.ascii	"    produce .edge files (use the -e switch), but ca"
	.ascii	"nnot read them.  The\000"
	.align	2
.LC409:
	.ascii	"    optional column of boundary markers is suppress"
	.ascii	"ed by the -B switch.\000"
	.align	2
.LC410:
	.ascii	"    In Voronoi diagrams, one also finds a special k"
	.ascii	"ind of edge that is an\000"
	.align	2
.LC411:
	.ascii	"    infinite ray with only one endpoint.  For these"
	.ascii	" edges, a different\000"
	.align	2
.LC412:
	.ascii	"    format is used:\012\000"
	.align	2
.LC413:
	.ascii	"        <edge #> <endpoint> -1 <direction x> <direc"
	.ascii	"tion y>\012\000"
	.align	2
.LC414:
	.ascii	"    The `direction' is a floating-point vector that"
	.ascii	" indicates the direction\000"
	.align	2
.LC415:
	.ascii	"    of the infinite ray.\012\000"
	.align	2
.LC416:
	.ascii	"  .neigh files:\000"
	.align	2
.LC417:
	.ascii	"    First line:  <# of triangles> <# of neighbors p"
	.ascii	"er triangle (always 3)>\000"
	.align	2
.LC418:
	.ascii	"    Following lines:  <triangle #> <neighbor> <neig"
	.ascii	"hbor> <neighbor>\000"
	.align	2
.LC419:
	.ascii	"    Neighbors are indices into the corresponding .e"
	.ascii	"le file.  An index of -1\000"
	.align	2
.LC420:
	.ascii	"    indicates no neighbor (because the triangle is "
	.ascii	"on an exterior\000"
	.align	2
.LC421:
	.ascii	"    boundary).  The first neighbor of triangle i is"
	.ascii	" opposite the first\000"
	.align	2
.LC422:
	.ascii	"    corner of triangle i, and so on.\012\000"
	.align	2
.LC423:
	.ascii	"    Triangle can produce .neigh files (use the -n s"
	.ascii	"witch), but cannot read\000"
	.align	2
.LC424:
	.ascii	"    them.\012\000"
	.align	2
.LC425:
	.ascii	"Boundary Markers:\012\000"
	.align	2
.LC426:
	.ascii	"  Boundary markers are tags used mainly to identify"
	.ascii	" which output vertices\000"
	.align	2
.LC427:
	.ascii	"  and edges are associated with which PSLG segment,"
	.ascii	" and to identify which\000"
	.align	2
.LC428:
	.ascii	"  vertices and edges occur on a boundary of the tri"
	.ascii	"angulation.  A common\000"
	.align	2
.LC429:
	.ascii	"  use is to determine where boundary conditions sho"
	.ascii	"uld be applied to a\000"
	.align	2
.LC430:
	.ascii	"  finite element mesh.  You can prevent boundary ma"
	.ascii	"rkers from being written\000"
	.align	2
.LC431:
	.ascii	"  into files produced by Triangle by using the -B s"
	.ascii	"witch.\012\000"
	.align	2
.LC432:
	.ascii	"  The boundary marker associated with each segment "
	.ascii	"in an output .poly file\000"
	.align	2
.LC433:
	.ascii	"  and each edge in an output .edge file is chosen a"
	.ascii	"s follows:\000"
	.align	2
.LC434:
	.ascii	"    - If an output edge is part or all of a PSLG se"
	.ascii	"gment with a nonzero\000"
	.align	2
.LC435:
	.ascii	"      boundary marker, then the edge is assigned th"
	.ascii	"e same marker.\000"
	.align	2
.LC436:
	.ascii	"    - Otherwise, if the edge lies on a boundary of "
	.ascii	"the triangulation\000"
	.align	2
.LC437:
	.ascii	"      (even the boundary of a hole), then the edge "
	.ascii	"is assigned the marker\000"
	.align	2
.LC438:
	.ascii	"      one (1).\000"
	.align	2
.LC439:
	.ascii	"    - Otherwise, the edge is assigned the marker ze"
	.ascii	"ro (0).\000"
	.align	2
.LC440:
	.ascii	"  The boundary marker associated with each vertex i"
	.ascii	"n an output .node file\000"
	.align	2
.LC441:
	.ascii	"  is chosen as follows:\000"
	.align	2
.LC442:
	.ascii	"    - If a vertex is assigned a nonzero boundary ma"
	.ascii	"rker in the input file,\000"
	.align	2
.LC443:
	.ascii	"      then it is assigned the same marker in the ou"
	.ascii	"tput .node file.\000"
	.align	2
.LC444:
	.ascii	"    - Otherwise, if the vertex lies on a PSLG segme"
	.ascii	"nt (even if it is an\000"
	.align	2
.LC445:
	.ascii	"      endpoint of the segment) with a nonzero bound"
	.ascii	"ary marker, then the\000"
	.align	2
.LC446:
	.ascii	"      vertex is assigned the same marker.  If the v"
	.ascii	"ertex lies on several\000"
	.align	2
.LC447:
	.ascii	"      such segments, one of the markers is chosen a"
	.ascii	"rbitrarily.\000"
	.align	2
.LC448:
	.ascii	"    - Otherwise, if the vertex occurs on a boundary"
	.ascii	" of the triangulation,\000"
	.align	2
.LC449:
	.ascii	"      then the vertex is assigned the marker one (1"
	.ascii	").\000"
	.align	2
.LC450:
	.ascii	"    - Otherwise, the vertex is assigned the marker "
	.ascii	"zero (0).\000"
	.align	2
.LC451:
	.ascii	"  If you want Triangle to determine for you which v"
	.ascii	"ertices and edges are on\000"
	.align	2
.LC452:
	.ascii	"  the boundary, assign them the boundary marker zer"
	.ascii	"o (or use no markers at\000"
	.align	2
.LC453:
	.ascii	"  all) in your input files.  In the output files, a"
	.ascii	"ll boundary vertices,\000"
	.align	2
.LC454:
	.ascii	"  edges, and segments will be assigned the value on"
	.ascii	"e.\012\000"
	.align	2
.LC455:
	.ascii	"Triangulation Iteration Numbers:\012\000"
	.align	2
.LC456:
	.ascii	"  Because Triangle can read and refine its own tria"
	.ascii	"ngulations, input\000"
	.align	2
.LC457:
	.ascii	"  and output files have iteration numbers.  For ins"
	.ascii	"tance, Triangle might\000"
	.align	2
.LC458:
	.ascii	"  read the files mesh.3.node, mesh.3.ele, and mesh."
	.ascii	"3.poly, refine the\000"
	.align	2
.LC459:
	.ascii	"  triangulation, and output the files mesh.4.node, "
	.ascii	"mesh.4.ele, and\000"
	.align	2
.LC460:
	.ascii	"  mesh.4.poly.  Files with no iteration number are "
	.ascii	"treated as if\000"
	.align	2
.LC461:
	.ascii	"  their iteration number is zero; hence, Triangle m"
	.ascii	"ight read the file\000"
	.align	2
.LC462:
	.ascii	"  points.node, triangulate it, and produce the file"
	.ascii	"s points.1.node and\000"
	.align	2
.LC463:
	.ascii	"  points.1.ele.\012\000"
	.align	2
.LC464:
	.ascii	"  Iteration numbers allow you to create a sequence "
	.ascii	"of successively finer\000"
	.align	2
.LC465:
	.ascii	"  meshes suitable for multigrid methods.  They also"
	.ascii	" allow you to produce a\000"
	.align	2
.LC466:
	.ascii	"  sequence of meshes using error estimate-driven me"
	.ascii	"sh refinement.\000"
	.align	2
.LC467:
	.ascii	"  If you're not using refinement or quality meshing"
	.ascii	", and you don't like\000"
	.align	2
.LC468:
	.ascii	"  iteration numbers, use the -I switch to disable t"
	.ascii	"hem.  This switch also\000"
	.align	2
.LC469:
	.ascii	"  disables output of .node and .poly files to preve"
	.ascii	"nt your input files from\000"
	.align	2
.LC470:
	.ascii	"  being overwritten.  (If the input is a .poly file"
	.ascii	" that contains its own\000"
	.align	2
.LC471:
	.ascii	"  points, a .node file is written.  This can be qui"
	.ascii	"te convenient for\000"
	.align	2
.LC472:
	.ascii	"  computing CDTs or quality meshes.)\012\000"
	.align	2
.LC473:
	.ascii	"Examples of How to Use Triangle:\012\000"
	.align	2
.LC474:
	.ascii	"  `triangle dots' reads vertices from dots.node, an"
	.ascii	"d writes their Delaunay\000"
	.align	2
.LC475:
	.ascii	"  triangulation to dots.1.node and dots.1.ele.  (do"
	.ascii	"ts.1.node is identical\000"
	.align	2
.LC476:
	.ascii	"  to dots.node.)  `triangle -I dots' writes the tri"
	.ascii	"angulation to dots.ele\000"
	.align	2
.LC477:
	.ascii	"  instead.  (No additional .node file is needed, so"
	.ascii	" none is written.)\000"
	.align	2
.LC478:
	.ascii	"  `triangle -pe object.1' reads a PSLG from object."
	.ascii	"1.poly (and possibly\000"
	.align	2
.LC479:
	.ascii	"  object.1.node, if the vertices are omitted from o"
	.ascii	"bject.1.poly) and writes\000"
	.align	2
.LC480:
	.ascii	"  its constrained Delaunay triangulation to object."
	.ascii	"2.node and object.2.ele.\000"
	.align	2
.LC481:
	.ascii	"  The segments are copied to object.2.poly, and all"
	.ascii	" edges are written to\000"
	.align	2
.LC482:
	.ascii	"  object.2.edge.\012\000"
	.align	2
.LC483:
	.ascii	"  `triangle -pq31.5a.1 object' reads a PSLG from ob"
	.ascii	"ject.poly (and possibly\000"
	.align	2
.LC484:
	.ascii	"  object.node), generates a mesh whose angles are a"
	.ascii	"ll between 31.5 and 117\000"
	.align	2
.LC485:
	.ascii	"  degrees and whose triangles all have areas of 0.1"
	.ascii	" or less, and writes the\000"
	.align	2
.LC486:
	.ascii	"  mesh to object.1.node and object.1.ele.  Each seg"
	.ascii	"ment may be broken up\000"
	.align	2
.LC487:
	.ascii	"  into multiple subsegments; these are written to o"
	.ascii	"bject.1.poly.\000"
	.align	2
.LC488:
	.ascii	"  Here is a sample file `box.poly' describing a squ"
	.ascii	"are with a square hole:\000"
	.align	2
.LC489:
	.ascii	"    # A box with eight vertices in 2D, no attribute"
	.ascii	"s, one boundary marker.\000"
	.align	2
.LC490:
	.ascii	"    8 2 0 1\000"
	.align	2
.LC491:
	.ascii	"     # Outer box has these vertices:\000"
	.align	2
.LC492:
	.ascii	"     1   0 0   0\000"
	.align	2
.LC493:
	.ascii	"     2   0 3   0\000"
	.align	2
.LC494:
	.ascii	"     3   3 0   0\000"
	.align	2
.LC495:
	.ascii	"     4   3 3   33     # A special marker for this v"
	.ascii	"ertex.\000"
	.align	2
.LC496:
	.ascii	"     # Inner square has these vertices:\000"
	.align	2
.LC497:
	.ascii	"     5   1 1   0\000"
	.align	2
.LC498:
	.ascii	"     6   1 2   0\000"
	.align	2
.LC499:
	.ascii	"     7   2 1   0\000"
	.align	2
.LC500:
	.ascii	"     8   2 2   0\000"
	.align	2
.LC501:
	.ascii	"    # Five segments with boundary markers.\000"
	.align	2
.LC502:
	.ascii	"    5 1\000"
	.align	2
.LC503:
	.ascii	"     1   1 2   5      # Left side of outer box.\000"
	.align	2
.LC504:
	.ascii	"     # Square hole has these segments:\000"
	.align	2
.LC505:
	.ascii	"     2   5 7   0\000"
	.align	2
.LC506:
	.ascii	"     3   7 8   0\000"
	.align	2
.LC507:
	.ascii	"     4   8 6   10\000"
	.align	2
.LC508:
	.ascii	"     5   6 5   0\000"
	.align	2
.LC509:
	.ascii	"    # One hole in the middle of the inner square.\000"
	.align	2
.LC510:
	.ascii	"    1\000"
	.align	2
.LC511:
	.ascii	"     1   1.5 1.5\000"
	.align	2
.LC512:
	.ascii	"  Note that some segments are missing from the oute"
	.ascii	"r square, so you must\000"
	.align	2
.LC513:
	.ascii	"  use the `-c' switch.  After `triangle -pqc box.po"
	.ascii	"ly', here is the output\000"
	.align	2
.LC514:
	.ascii	"  file `box.1.node', with twelve vertices.  The las"
	.ascii	"t four vertices were\000"
	.align	2
.LC515:
	.ascii	"  added to meet the angle constraint.  Vertices 1, "
	.ascii	"2, and 9 have markers\000"
	.align	2
.LC516:
	.ascii	"  from segment 1.  Vertices 6 and 8 have markers fr"
	.ascii	"om segment 4.  All the\000"
	.align	2
.LC517:
	.ascii	"  other vertices but 4 have been marked to indicate"
	.ascii	" that they lie on a\000"
	.align	2
.LC518:
	.ascii	"  boundary.\012\000"
	.align	2
.LC519:
	.ascii	"    12  2  0  1\000"
	.align	2
.LC520:
	.ascii	"       1    0   0      5\000"
	.align	2
.LC521:
	.ascii	"       2    0   3      5\000"
	.align	2
.LC522:
	.ascii	"       3    3   0      1\000"
	.align	2
.LC523:
	.ascii	"       4    3   3     33\000"
	.align	2
.LC524:
	.ascii	"       5    1   1      1\000"
	.align	2
.LC525:
	.ascii	"       6    1   2     10\000"
	.align	2
.LC526:
	.ascii	"       7    2   1      1\000"
	.align	2
.LC527:
	.ascii	"       8    2   2     10\000"
	.align	2
.LC528:
	.ascii	"       9    0   1.5    5\000"
	.align	2
.LC529:
	.ascii	"      10    1.5   0    1\000"
	.align	2
.LC530:
	.ascii	"      11    3   1.5    1\000"
	.align	2
.LC531:
	.ascii	"      12    1.5   3    1\000"
	.align	2
.LC532:
	.ascii	"    # Generated by triangle -pqc box.poly\000"
	.align	2
.LC533:
	.ascii	"  Here is the output file `box.1.ele', with twelve "
	.ascii	"triangles.\000"
	.align	2
.LC534:
	.ascii	"    12  3  0\000"
	.align	2
.LC535:
	.ascii	"       1     5   6   9\000"
	.align	2
.LC536:
	.ascii	"       2    10   3   7\000"
	.align	2
.LC537:
	.ascii	"       3     6   8  12\000"
	.align	2
.LC538:
	.ascii	"       4     9   1   5\000"
	.align	2
.LC539:
	.ascii	"       5     6   2   9\000"
	.align	2
.LC540:
	.ascii	"       6     7   3  11\000"
	.align	2
.LC541:
	.ascii	"       7    11   4   8\000"
	.align	2
.LC542:
	.ascii	"       8     7   5  10\000"
	.align	2
.LC543:
	.ascii	"       9    12   2   6\000"
	.align	2
.LC544:
	.ascii	"      10     8   7  11\000"
	.align	2
.LC545:
	.ascii	"      11     5   1  10\000"
	.align	2
.LC546:
	.ascii	"      12     8   4  12\000"
	.align	2
.LC547:
	.ascii	"    # Generated by triangle -pqc box.poly\012\000"
	.align	2
.LC548:
	.ascii	"  Here is the output file `box.1.poly'.  Note that "
	.ascii	"segments have been added\000"
	.align	2
.LC549:
	.ascii	"  to represent the convex hull, and some segments h"
	.ascii	"ave been subdivided by\000"
	.align	2
.LC550:
	.ascii	"  newly added vertices.  Note also that <# of verti"
	.ascii	"ces> is set to zero to\000"
	.align	2
.LC551:
	.ascii	"  indicate that the vertices should be read from th"
	.ascii	"e .node file.\000"
	.align	2
.LC552:
	.ascii	"    0  2  0  1\000"
	.align	2
.LC553:
	.ascii	"    12  1\000"
	.align	2
.LC554:
	.ascii	"       1     1   9     5\000"
	.align	2
.LC555:
	.ascii	"       2     5   7     1\000"
	.align	2
.LC556:
	.ascii	"       3     8   7     1\000"
	.align	2
.LC557:
	.ascii	"       4     6   8    10\000"
	.align	2
.LC558:
	.ascii	"       5     5   6     1\000"
	.align	2
.LC559:
	.ascii	"       6     3  10     1\000"
	.align	2
.LC560:
	.ascii	"       7     4  11     1\000"
	.align	2
.LC561:
	.ascii	"       8     2  12     1\000"
	.align	2
.LC562:
	.ascii	"       9     9   2     5\000"
	.align	2
.LC563:
	.ascii	"      10    10   1     1\000"
	.align	2
.LC564:
	.ascii	"      11    11   3     1\000"
	.align	2
.LC565:
	.ascii	"      12    12   4     1\000"
	.align	2
.LC566:
	.ascii	"       1   1.5 1.5\000"
	.align	2
.LC567:
	.ascii	"Refinement and Area Constraints:\000"
	.align	2
.LC568:
	.ascii	"  The -r switch causes a mesh (.node and .ele files"
	.ascii	") to be read and\000"
	.align	2
.LC569:
	.ascii	"  refined.  If the -p switch is also used, a .poly "
	.ascii	"file is read and used to\000"
	.align	2
.LC570:
	.ascii	"  specify edges that are constrained and cannot be "
	.ascii	"eliminated (although\000"
	.align	2
.LC571:
	.ascii	"  they can be subdivided into smaller edges) by the"
	.ascii	" refinement process.\000"
	.align	2
.LC572:
	.ascii	"  When you refine a mesh, you generally want to imp"
	.ascii	"ose tighter constraints.\000"
	.align	2
.LC573:
	.ascii	"  One way to accomplish this is to use -q with a la"
	.ascii	"rger angle, or -a\000"
	.align	2
.LC574:
	.ascii	"  followed by a smaller area than you used to gener"
	.ascii	"ate the mesh you are\000"
	.align	2
.LC575:
	.ascii	"  refining.  Another way to do this is to create an"
	.ascii	" .area file, which\000"
	.align	2
.LC576:
	.ascii	"  specifies a maximum area for each triangle, and u"
	.ascii	"se the -a switch\000"
	.align	2
.LC577:
	.ascii	"  (without a number following).  Each triangle's ar"
	.ascii	"ea constraint is applied\000"
	.align	2
.LC578:
	.ascii	"  to that triangle.  Area constraints tend to diffu"
	.ascii	"se as the mesh is\000"
	.align	2
.LC579:
	.ascii	"  refined, so if there are large variations in area"
	.ascii	" constraint between\000"
	.align	2
.LC580:
	.ascii	"  adjacent triangles, you may not get the results y"
	.ascii	"ou want.  In that case,\000"
	.align	2
.LC581:
	.ascii	"  consider instead using the -u switch and writing "
	.ascii	"a C procedure that\000"
	.align	2
.LC582:
	.ascii	"  determines which triangles are too large.\012\000"
	.align	2
.LC583:
	.ascii	"  If you are refining a mesh composed of linear (th"
	.ascii	"ree-node) elements, the\000"
	.align	2
.LC584:
	.ascii	"  output mesh contains all the nodes present in the"
	.ascii	" input mesh, in the same\000"
	.align	2
.LC585:
	.ascii	"  order, with new nodes added at the end of the .no"
	.ascii	"de file.  However, the\000"
	.align	2
.LC586:
	.ascii	"  refinement is not hierarchical: there is no guara"
	.ascii	"ntee that each output\000"
	.align	2
.LC587:
	.ascii	"  element is contained in a single input element.  "
	.ascii	"Often, an output element\000"
	.align	2
.LC588:
	.ascii	"  can overlap two or three input elements, and some"
	.ascii	" input edges are not\000"
	.align	2
.LC589:
	.ascii	"  present in the output mesh.  Hence, a sequence of"
	.ascii	" refined meshes forms a\000"
	.align	2
.LC590:
	.ascii	"  hierarchy of nodes, but not a hierarchy of elemen"
	.ascii	"ts.  If you refine a\000"
	.align	2
.LC591:
	.ascii	"  mesh of higher-order elements, the hierarchical p"
	.ascii	"roperty applies only to\000"
	.align	2
.LC592:
	.ascii	"  the nodes at the corners of an element; the midpo"
	.ascii	"int nodes on each edge\000"
	.align	2
.LC593:
	.ascii	"  are discarded before the mesh is refined.\012\000"
	.align	2
.LC594:
	.ascii	"  Maximum area constraints in .poly files operate d"
	.ascii	"ifferently from those in\000"
	.align	2
.LC595:
	.ascii	"  .area files.  A maximum area in a .poly file appl"
	.ascii	"ies to the whole\000"
	.align	2
.LC596:
	.ascii	"  (segment-bounded) region in which a point falls, "
	.ascii	"whereas a maximum area\000"
	.align	2
.LC597:
	.ascii	"  in an .area file applies to only one triangle.  A"
	.ascii	"rea constraints in .poly\000"
	.align	2
.LC598:
	.ascii	"  files are used only when a mesh is first generate"
	.ascii	"d, whereas area\000"
	.align	2
.LC599:
	.ascii	"  constraints in .area files are used only to refin"
	.ascii	"e an existing mesh, and\000"
	.align	2
.LC600:
	.ascii	"  are typically based on a posteriori error estimat"
	.ascii	"es resulting from a\000"
	.align	2
.LC601:
	.ascii	"  finite element simulation on that mesh.\012\000"
	.align	2
.LC602:
	.ascii	"  `triangle -rq25 object.1' reads object.1.node and"
	.ascii	" object.1.ele, then\000"
	.align	2
.LC603:
	.ascii	"  refines the triangulation to enforce a 25 degree "
	.ascii	"minimum angle, and then\000"
	.align	2
.LC604:
	.ascii	"  writes the refined triangulation to object.2.node"
	.ascii	" and object.2.ele.\000"
	.align	2
.LC605:
	.ascii	"  `triangle -rpaa6.2 z.3' reads z.3.node, z.3.ele, "
	.ascii	"z.3.poly, and z.3.area.\000"
	.align	2
.LC606:
	.ascii	"  After reconstructing the mesh and its subsegments"
	.ascii	", Triangle refines the\000"
	.align	2
.LC607:
	.ascii	"  mesh so that no triangle has area greater than 6."
	.ascii	"2, and furthermore the\000"
	.align	2
.LC608:
	.ascii	"  triangles satisfy the maximum area constraints in"
	.ascii	" z.3.area.  No angle\000"
	.align	2
.LC609:
	.ascii	"  bound is imposed at all.  The output is written t"
	.ascii	"o z.4.node, z.4.ele, and\000"
	.align	2
.LC610:
	.ascii	"  z.4.poly.\012\000"
	.align	2
.LC611:
	.ascii	"  The sequence `triangle -qa1 x', `triangle -rqa.3 "
	.ascii	"x.1', `triangle -rqa.1\000"
	.align	2
.LC612:
	.ascii	"  x.2' creates a sequence of successively finer mes"
	.ascii	"hes x.1, x.2, and x.3,\000"
	.align	2
.LC613:
	.ascii	"  suitable for multigrid.\012\000"
	.align	2
.LC614:
	.ascii	"Convex Hulls and Mesh Boundaries:\012\000"
	.align	2
.LC615:
	.ascii	"  If the input is a vertex set (not a PSLG), Triang"
	.ascii	"le produces its convex\000"
	.align	2
.LC616:
	.ascii	"  hull as a by-product in the output .poly file if "
	.ascii	"you use the -c switch.\000"
	.align	2
.LC617:
	.ascii	"  There are faster algorithms for finding a two-dim"
	.ascii	"ensional convex hull\000"
	.align	2
.LC618:
	.ascii	"  than triangulation, of course, but this one comes"
	.ascii	" for free.\012\000"
	.align	2
.LC619:
	.ascii	"  If the input is an unconstrained mesh (you are us"
	.ascii	"ing the -r switch but\000"
	.align	2
.LC620:
	.ascii	"  not the -p switch), Triangle produces a list of i"
	.ascii	"ts boundary edges\000"
	.align	2
.LC621:
	.ascii	"  (including hole boundaries) as a by-product when "
	.ascii	"you use the -c switch.\000"
	.align	2
.LC622:
	.ascii	"  If you also use the -p switch, the output .poly f"
	.ascii	"ile contains all the\000"
	.align	2
.LC623:
	.ascii	"  segments from the input .poly file as well.\012\000"
	.align	2
.LC624:
	.ascii	"Voronoi Diagrams:\012\000"
	.align	2
.LC625:
	.ascii	"  The -v switch produces a Voronoi diagram, in file"
	.ascii	"s suffixed .v.node and\000"
	.align	2
.LC626:
	.ascii	"  .v.edge.  For example, `triangle -v points' reads"
	.ascii	" points.node, produces\000"
	.align	2
.LC627:
	.ascii	"  its Delaunay triangulation in points.1.node and p"
	.ascii	"oints.1.ele, and\000"
	.align	2
.LC628:
	.ascii	"  produces its Voronoi diagram in points.1.v.node a"
	.ascii	"nd points.1.v.edge.  The\000"
	.align	2
.LC629:
	.ascii	"  .v.node file contains a list of all Voronoi verti"
	.ascii	"ces, and the .v.edge\000"
	.align	2
.LC630:
	.ascii	"  file contains a list of all Voronoi edges, some o"
	.ascii	"f which may be infinite\000"
	.align	2
.LC631:
	.ascii	"  rays.  (The choice of filenames makes it easy to "
	.ascii	"run the set of Voronoi\000"
	.align	2
.LC632:
	.ascii	"  vertices through Triangle, if so desired.)\012\000"
	.align	2
.LC633:
	.ascii	"  This implementation does not use exact arithmetic"
	.ascii	" to compute the Voronoi\000"
	.align	2
.LC634:
	.ascii	"  vertices, and does not check whether neighboring "
	.ascii	"vertices are identical.\000"
	.align	2
.LC635:
	.ascii	"  Be forewarned that if the Delaunay triangulation "
	.ascii	"is degenerate or\000"
	.align	2
.LC636:
	.ascii	"  near-degenerate, the Voronoi diagram may have dup"
	.ascii	"licate vertices or\000"
	.align	2
.LC637:
	.ascii	"  crossing edges.\012\000"
	.align	2
.LC638:
	.ascii	"  The result is a valid Voronoi diagram only if Tri"
	.ascii	"angle's output is a true\000"
	.align	2
.LC639:
	.ascii	"  Delaunay triangulation.  The Voronoi output is us"
	.ascii	"ually meaningless (and\000"
	.align	2
.LC640:
	.ascii	"  may contain crossing edges and other pathology) i"
	.ascii	"f the output is a CDT or\000"
	.align	2
.LC641:
	.ascii	"  CCDT, or if it has holes or concavities.  If the "
	.ascii	"triangulated domain is\000"
	.align	2
.LC642:
	.ascii	"  convex and has no holes, you can use -D switch to"
	.ascii	" force Triangle to\000"
	.align	2
.LC643:
	.ascii	"  construct a conforming Delaunay triangulation ins"
	.ascii	"tead of a CCDT, so the\000"
	.align	2
.LC644:
	.ascii	"  Voronoi diagram will be valid.\012\000"
	.align	2
.LC645:
	.ascii	"Mesh Topology:\012\000"
	.align	2
.LC646:
	.ascii	"  You may wish to know which triangles are adjacent"
	.ascii	" to a certain Delaunay\000"
	.align	2
.LC647:
	.ascii	"  edge in an .edge file, which Voronoi cells are ad"
	.ascii	"jacent to a certain\000"
	.align	2
.LC648:
	.ascii	"  Voronoi edge in a .v.edge file, or which Voronoi "
	.ascii	"cells are adjacent to\000"
	.align	2
.LC649:
	.ascii	"  each other.  All of this information can be found"
	.ascii	" by cross-referencing\000"
	.align	2
.LC650:
	.ascii	"  output files with the recollection that the Delau"
	.ascii	"nay triangulation and\000"
	.align	2
.LC651:
	.ascii	"  the Voronoi diagram are planar duals.\012\000"
	.align	2
.LC652:
	.ascii	"  Specifically, edge i of an .edge file is the dual"
	.ascii	" of Voronoi edge i of\000"
	.align	2
.LC653:
	.ascii	"  the corresponding .v.edge file, and is rotated 90"
	.ascii	" degrees counterclock-\000"
	.align	2
.LC654:
	.ascii	"  wise from the Voronoi edge.  Triangle j of an .el"
	.ascii	"e file is the dual of\000"
	.align	2
.LC655:
	.ascii	"  vertex j of the corresponding .v.node file.  Voro"
	.ascii	"noi cell k is the dual\000"
	.align	2
.LC656:
	.ascii	"  of vertex k of the corresponding .node file.\012\000"
	.align	2
.LC657:
	.ascii	"  Hence, to find the triangles adjacent to a Delaun"
	.ascii	"ay edge, look at the\000"
	.align	2
.LC658:
	.ascii	"  vertices of the corresponding Voronoi edge.  If t"
	.ascii	"he endpoints of a\000"
	.align	2
.LC659:
	.ascii	"  Voronoi edge are Voronoi vertices 2 and 6 respect"
	.ascii	"ively, then triangles 2\000"
	.align	2
.LC660:
	.ascii	"  and 6 adjoin the left and right sides of the corr"
	.ascii	"esponding Delaunay edge,\000"
	.align	2
.LC661:
	.ascii	"  respectively.  To find the Voronoi cells adjacent"
	.ascii	" to a Voronoi edge, look\000"
	.align	2
.LC662:
	.ascii	"  at the endpoints of the corresponding Delaunay ed"
	.ascii	"ge.  If the endpoints of\000"
	.align	2
.LC663:
	.ascii	"  a Delaunay edge are input vertices 7 and 12, then"
	.ascii	" Voronoi cells 7 and 12\000"
	.align	2
.LC664:
	.ascii	"  adjoin the right and left sides of the correspond"
	.ascii	"ing Voronoi edge,\000"
	.align	2
.LC665:
	.ascii	"  respectively.  To find which Voronoi cells are ad"
	.ascii	"jacent to each other,\000"
	.align	2
.LC666:
	.ascii	"  just read the list of Delaunay edges.\012\000"
	.align	2
.LC667:
	.ascii	"  Triangle does not write a list of the edges adjoi"
	.ascii	"ning each Voronoi cell,\000"
	.align	2
.LC668:
	.ascii	"  but you can reconstructed it straightforwardly.  "
	.ascii	"For instance, to find\000"
	.align	2
.LC669:
	.ascii	"  all the edges of Voronoi cell 1, search the outpu"
	.ascii	"t .edge file for every\000"
	.align	2
.LC670:
	.ascii	"  edge that has input vertex 1 as an endpoint.  The"
	.ascii	" corresponding dual\000"
	.align	2
.LC671:
	.ascii	"  edges in the output .v.edge file form the boundar"
	.ascii	"y of Voronoi cell 1.\000"
	.align	2
.LC672:
	.ascii	"  For each Voronoi vertex, the .neigh file gives a "
	.ascii	"list of the three\000"
	.align	2
.LC673:
	.ascii	"  Voronoi vertices attached to it.  You might find "
	.ascii	"this more convenient\000"
	.align	2
.LC674:
	.ascii	"  than the .v.edge file.\012\000"
	.align	2
.LC675:
	.ascii	"Quadratic Elements:\012\000"
	.align	2
.LC676:
	.ascii	"  Triangle generates meshes with subparametric quad"
	.ascii	"ratic elements if the\000"
	.align	2
.LC677:
	.ascii	"  -o2 switch is specified.  Quadratic elements have"
	.ascii	" six nodes per element,\000"
	.align	2
.LC678:
	.ascii	"  rather than three.  `Subparametric' means that th"
	.ascii	"e edges of the triangles\000"
	.align	2
.LC679:
	.ascii	"  are always straight, so that subparametric quadra"
	.ascii	"tic elements are\000"
	.align	2
.LC680:
	.ascii	"  geometrically identical to linear elements, even "
	.ascii	"though they can be used\000"
	.align	2
.LC681:
	.ascii	"  with quadratic interpolating functions.  The thre"
	.ascii	"e extra nodes of an\000"
	.align	2
.LC682:
	.ascii	"  element fall at the midpoints of the three edges,"
	.ascii	" with the fourth, fifth,\000"
	.align	2
.LC683:
	.ascii	"  and sixth nodes appearing opposite the first, sec"
	.ascii	"ond, and third corners\000"
	.align	2
.LC684:
	.ascii	"  respectively.\012\000"
	.align	2
.LC685:
	.ascii	"Domains with Small Angles:\012\000"
	.align	2
.LC686:
	.ascii	"  If two input segments adjoin each other at a smal"
	.ascii	"l angle, clearly the -q\000"
	.align	2
.LC687:
	.ascii	"  switch cannot remove the small angle.  Moreover, "
	.ascii	"Triangle may have no\000"
	.align	2
.LC688:
	.ascii	"  choice but to generate additional triangles whose"
	.ascii	" smallest angles are\000"
	.align	2
.LC689:
	.ascii	"  smaller than the specified bound.  However, these"
	.ascii	" triangles only appear\000"
	.align	2
.LC690:
	.ascii	"  between input segments separated by small angles."
	.ascii	"  Moreover, if you\000"
	.align	2
.LC691:
	.ascii	"  request a minimum angle of theta degrees, Triangl"
	.ascii	"e will generally produce\000"
	.align	2
.LC692:
	.ascii	"  no angle larger than 180 - 2 theta, even if it is"
	.ascii	" forced to compromise on\000"
	.align	2
.LC693:
	.ascii	"  the minimum angle.\012\000"
	.align	2
.LC694:
	.ascii	"Statistics:\012\000"
	.align	2
.LC695:
	.ascii	"  After generating a mesh, Triangle prints a count "
	.ascii	"of entities in the\000"
	.align	2
.LC696:
	.ascii	"  output mesh, including the number of vertices, tr"
	.ascii	"iangles, edges, exterior\000"
	.align	2
.LC697:
	.ascii	"  boundary edges (i.e. subsegments on the boundary "
	.ascii	"of the triangulation,\000"
	.align	2
.LC698:
	.ascii	"  including hole boundaries), interior boundary edg"
	.ascii	"es (i.e. subsegments of\000"
	.align	2
.LC699:
	.ascii	"  input segments not on the boundary), and total su"
	.ascii	"bsegments.  If you've\000"
	.align	2
.LC700:
	.ascii	"  forgotten the statistics for an existing mesh, ru"
	.ascii	"n Triangle on that mesh\000"
	.align	2
.LC701:
	.ascii	"  with the -rNEP switches to read the mesh and prin"
	.ascii	"t the statistics without\000"
	.align	2
.LC702:
	.ascii	"  writing any files.  Use -rpNEP if you've got a .p"
	.ascii	"oly file for the mesh.\000"
	.align	2
.LC703:
	.ascii	"  The -V switch produces extended statistics, inclu"
	.ascii	"ding a rough estimate\000"
	.align	2
.LC704:
	.ascii	"  of memory use, the number of calls to geometric p"
	.ascii	"redicates, and\000"
	.align	2
.LC705:
	.ascii	"  histograms of the angles and the aspect ratios of"
	.ascii	" the triangles in the\000"
	.align	2
.LC706:
	.ascii	"  mesh.\012\000"
	.align	2
.LC707:
	.ascii	"Exact Arithmetic:\012\000"
	.align	2
.LC708:
	.ascii	"  Triangle uses adaptive exact arithmetic to perfor"
	.ascii	"m what computational\000"
	.align	2
.LC709:
	.ascii	"  geometers call the `orientation' and `incircle' t"
	.ascii	"ests.  If the floating-\000"
	.align	2
.LC710:
	.ascii	"  point arithmetic of your machine conforms to the "
	.ascii	"IEEE 754 standard (as\000"
	.align	2
.LC711:
	.ascii	"  most workstations do), and does not use extended "
	.ascii	"precision internal\000"
	.align	2
.LC712:
	.ascii	"  floating-point registers, then your output is gua"
	.ascii	"ranteed to be an\000"
	.align	2
.LC713:
	.ascii	"  absolutely true Delaunay or constrained Delaunay "
	.ascii	"triangulation, roundoff\000"
	.align	2
.LC714:
	.ascii	"  error notwithstanding.  The word `adaptive' impli"
	.ascii	"es that these arithmetic\000"
	.align	2
.LC715:
	.ascii	"  routines compute the result only to the precision"
	.ascii	" necessary to guarantee\000"
	.align	2
.LC716:
	.ascii	"  correctness, so they are usually nearly as fast a"
	.ascii	"s their approximate\000"
	.align	2
.LC717:
	.ascii	"  counterparts.\012\000"
	.align	2
.LC718:
	.ascii	"  May CPUs, including Intel x86 processors, have ex"
	.ascii	"tended precision\000"
	.align	2
.LC719:
	.ascii	"  floating-point registers.  These must be reconfig"
	.ascii	"ured so their precision\000"
	.align	2
.LC720:
	.ascii	"  is reduced to memory precision.  Triangle does th"
	.ascii	"is if it is compiled\000"
	.align	2
.LC721:
	.ascii	"  correctly.  See the makefile for details.\012\000"
	.align	2
.LC722:
	.ascii	"  The exact tests can be disabled with the -X switc"
	.ascii	"h.  On most inputs, this\000"
	.align	2
.LC723:
	.ascii	"  switch reduces the computation time by about eigh"
	.ascii	"t percent--it's not\000"
	.align	2
.LC724:
	.ascii	"  worth the risk.  There are rare difficult inputs "
	.ascii	"(having many collinear\000"
	.align	2
.LC725:
	.ascii	"  and cocircular vertices), however, for which the "
	.ascii	"difference in speed\000"
	.align	2
.LC726:
	.ascii	"  could be a factor of two.  Be forewarned that the"
	.ascii	"se are precisely the\000"
	.align	2
.LC727:
	.ascii	"  inputs most likely to cause errors if you use the"
	.ascii	" -X switch.  Hence, the\000"
	.align	2
.LC728:
	.ascii	"  -X switch is not recommended.\012\000"
	.align	2
.LC729:
	.ascii	"  Unfortunately, the exact tests don't solve every "
	.ascii	"numerical problem.\000"
	.align	2
.LC730:
	.ascii	"  Exact arithmetic is not used to compute the posit"
	.ascii	"ions of new vertices,\000"
	.align	2
.LC731:
	.ascii	"  because the bit complexity of vertex coordinates "
	.ascii	"would grow without\000"
	.align	2
.LC732:
	.ascii	"  bound.  Hence, segment intersections aren't compu"
	.ascii	"ted exactly; in very\000"
	.align	2
.LC733:
	.ascii	"  unusual cases, roundoff error in computing an int"
	.ascii	"ersection point might\000"
	.align	2
.LC734:
	.ascii	"  actually lead to an inverted triangle and an inva"
	.ascii	"lid triangulation.\000"
	.align	2
.LC735:
	.ascii	"  (This is one reason to specify your own intersect"
	.ascii	"ion points in your .poly\000"
	.align	2
.LC736:
	.ascii	"  files.)  Similarly, exact arithmetic is not used "
	.ascii	"to compute the vertices\000"
	.align	2
.LC737:
	.ascii	"  of the Voronoi diagram.\012\000"
	.align	2
.LC738:
	.ascii	"  Another pair of problems not solved by the exact "
	.ascii	"arithmetic routines is\000"
	.align	2
.LC739:
	.ascii	"  underflow and overflow.  If Triangle is compiled "
	.ascii	"for double precision\000"
	.align	2
.LC740:
	.ascii	"  arithmetic, I believe that Triangle's geometric p"
	.ascii	"redicates work correctly\000"
	.align	2
.LC741:
	.ascii	"  if the exponent of every input coordinate falls i"
	.ascii	"n the range [-148, 201].\000"
	.align	2
.LC742:
	.ascii	"  Underflow can silently prevent the orientation an"
	.ascii	"d incircle tests from\000"
	.align	2
.LC743:
	.ascii	"  being performed exactly, while overflow typically"
	.ascii	" causes a floating\000"
	.align	2
.LC744:
	.ascii	"  exception.\012\000"
	.align	2
.LC745:
	.ascii	"Calling Triangle from Another Program:\012\000"
	.align	2
.LC746:
	.ascii	"  Read the file triangle.h for details.\012\000"
	.align	2
.LC747:
	.ascii	"Troubleshooting:\012\000"
	.align	2
.LC748:
	.ascii	"  Please read this section before mailing me bugs.\012"
	.ascii	"\000"
	.align	2
.LC749:
	.ascii	"  `My output mesh has no triangles!'\012\000"
	.align	2
.LC750:
	.ascii	"    If you're using a PSLG, you've probably failed "
	.ascii	"to specify a proper set\000"
	.align	2
.LC751:
	.ascii	"    of bounding segments, or forgotten to use the -"
	.ascii	"c switch.  Or you may\000"
	.align	2
.LC752:
	.ascii	"    have placed a hole badly, thereby eating all yo"
	.ascii	"ur triangles.  To test\000"
	.align	2
.LC753:
	.ascii	"    these possibilities, try again with the -c and "
	.ascii	"-O switches.\000"
	.align	2
.LC754:
	.ascii	"    Alternatively, all your input vertices may be c"
	.ascii	"ollinear, in which case\000"
	.align	2
.LC755:
	.ascii	"    you can hardly expect to triangulate them.\012\000"
	.align	2
.LC756:
	.ascii	"  `Triangle doesn't terminate, or just crashes.'\012"
	.ascii	"\000"
	.align	2
.LC757:
	.ascii	"    Bad things can happen when triangles get so sma"
	.ascii	"ll that the distance\000"
	.align	2
.LC758:
	.ascii	"    between their vertices isn't much larger than t"
	.ascii	"he precision of your\000"
	.align	2
.LC759:
	.ascii	"    machine's arithmetic.  If you've compiled Trian"
	.ascii	"gle for single-precision\000"
	.align	2
.LC760:
	.ascii	"    arithmetic, you might do better by recompiling "
	.ascii	"it for double-precision.\000"
	.align	2
.LC761:
	.ascii	"    Then again, you might just have to settle for m"
	.ascii	"ore lenient constraints\000"
	.align	2
.LC762:
	.ascii	"    on the minimum angle and the maximum area than "
	.ascii	"you had planned.\000"
	.align	2
.LC763:
	.ascii	"    You can minimize precision problems by ensuring"
	.ascii	" that the origin lies\000"
	.align	2
.LC764:
	.ascii	"    inside your vertex set, or even inside the dens"
	.ascii	"est part of your\000"
	.align	2
.LC765:
	.ascii	"    mesh.  If you're triangulating an object whose "
	.ascii	"x-coordinates all fall\000"
	.align	2
.LC766:
	.ascii	"    between 6247133 and 6247134, you're not leaving"
	.ascii	" much floating-point\000"
	.align	2
.LC767:
	.ascii	"    precision for Triangle to work with.\012\000"
	.align	2
.LC768:
	.ascii	"    Precision problems can occur covertly if the in"
	.ascii	"put PSLG contains two\000"
	.align	2
.LC769:
	.ascii	"    segments that meet (or intersect) at an extreme"
	.ascii	"ly small angle, or if\000"
	.align	2
.LC770:
	.ascii	"    such an angle is introduced by the -c switch.  "
	.ascii	"If you don't realize\000"
	.align	2
.LC771:
	.ascii	"    that a tiny angle is being formed, you might ne"
	.ascii	"ver discover why\000"
	.align	2
.LC772:
	.ascii	"    Triangle is crashing.  To check for this possib"
	.ascii	"ility, use the -S switch\000"
	.align	2
.LC773:
	.ascii	"    (with an appropriate limit on the number of Ste"
	.ascii	"iner points, found by\000"
	.align	2
.LC774:
	.ascii	"    trial-and-error) to stop Triangle early, and vi"
	.ascii	"ew the output .poly file\000"
	.align	2
.LC775:
	.ascii	"    with Show Me (described below).  Look carefully"
	.ascii	" for regions where dense\000"
	.align	2
.LC776:
	.ascii	"    clusters of vertices are forming and for small "
	.ascii	"angles between segments.\000"
	.align	2
.LC777:
	.ascii	"    Zoom in closely, as such segments might look li"
	.ascii	"ke a single segment from\000"
	.align	2
.LC778:
	.ascii	"    a distance.\012\000"
	.align	2
.LC779:
	.ascii	"    If some of the input values are too large, Tria"
	.ascii	"ngle may suffer a\000"
	.align	2
.LC780:
	.ascii	"    floating exception due to overflow when attempt"
	.ascii	"ing to perform an\000"
	.align	2
.LC781:
	.ascii	"    orientation or incircle test.  (Read the sectio"
	.ascii	"n on exact arithmetic\000"
	.align	2
.LC782:
	.ascii	"    above.)  Again, I recommend compiling Triangle "
	.ascii	"for double (rather\000"
	.align	2
.LC783:
	.ascii	"    than single) precision arithmetic.\012\000"
	.align	2
.LC784:
	.ascii	"    Unexpected problems can arise if you use qualit"
	.ascii	"y meshing (-q, -a, or\000"
	.align	2
.LC785:
	.ascii	"    -u) with an input that is not segment-bounded--"
	.ascii	"that is, if your input\000"
	.align	2
.LC786:
	.ascii	"    is a vertex set, or you're using the -c switch."
	.ascii	"  If the convex hull of\000"
	.align	2
.LC787:
	.ascii	"    your input vertices has collinear vertices on i"
	.ascii	"ts boundary, an input\000"
	.align	2
.LC788:
	.ascii	"    vertex that you think lies on the convex hull m"
	.ascii	"ight actually lie just\000"
	.align	2
.LC789:
	.ascii	"    inside the convex hull.  If so, the vertex and "
	.ascii	"the nearby convex hull\000"
	.align	2
.LC790:
	.ascii	"    edge form an extremely thin triangle.  When Tri"
	.ascii	"angle tries to refine\000"
	.align	2
.LC791:
	.ascii	"    the mesh to enforce angle and area constraints,"
	.ascii	" Triangle might generate\000"
	.align	2
.LC792:
	.ascii	"    extremely tiny triangles, or it might fail beca"
	.ascii	"use of insufficient\000"
	.align	2
.LC793:
	.ascii	"    floating-point precision.\012\000"
	.align	2
.LC794:
	.ascii	"  `The numbering of the output vertices doesn't mat"
	.ascii	"ch the input vertices.'\000"
	.align	2
.LC795:
	.ascii	"    You may have had duplicate input vertices, or y"
	.ascii	"ou may have eaten some\000"
	.align	2
.LC796:
	.ascii	"    of your input vertices with a hole, or by placi"
	.ascii	"ng them outside the area\000"
	.align	2
.LC797:
	.ascii	"    enclosed by segments.  In any case, you can sol"
	.ascii	"ve the problem by not\000"
	.align	2
.LC798:
	.ascii	"    using the -j switch.\012\000"
	.align	2
.LC799:
	.ascii	"  `Triangle executes without incident, but when I l"
	.ascii	"ook at the resulting\000"
	.align	2
.LC800:
	.ascii	"  mesh, it has overlapping triangles or other geome"
	.ascii	"tric inconsistencies.'\000"
	.align	2
.LC801:
	.ascii	"    If you select the -X switch, Triangle occasiona"
	.ascii	"lly makes mistakes due\000"
	.align	2
.LC802:
	.ascii	"    to floating-point roundoff error.  Although the"
	.ascii	"se errors are rare,\000"
	.align	2
.LC803:
	.ascii	"    don't use the -X switch.  If you still have pro"
	.ascii	"blems, please report the\000"
	.align	2
.LC804:
	.ascii	"    bug.\012\000"
	.align	2
.LC805:
	.ascii	"  Voronoi diagram, it has overlapping edges or othe"
	.ascii	"r geometric\000"
	.align	2
.LC806:
	.ascii	"  inconsistencies.'\000"
	.align	2
.LC807:
	.ascii	"    If your input is a PSLG (-p), you can only expe"
	.ascii	"ct a meaningful Voronoi\000"
	.align	2
.LC808:
	.ascii	"    diagram if the domain you are triangulating is "
	.ascii	"convex and free of\000"
	.align	2
.LC809:
	.ascii	"    holes, and you use the -D switch to construct a"
	.ascii	" conforming Delaunay\000"
	.align	2
.LC810:
	.ascii	"    triangulation (instead of a CDT or CCDT).\012\000"
	.align	2
.LC811:
	.ascii	"  Strange things can happen if you've taken liberti"
	.ascii	"es with your PSLG.  Do\000"
	.align	2
.LC812:
	.ascii	"  you have a vertex lying in the middle of a segmen"
	.ascii	"t?  Triangle sometimes\000"
	.align	2
.LC813:
	.ascii	"  copes poorly with that sort of thing.  Do you wan"
	.ascii	"t to lay out a collinear\000"
	.align	2
.LC814:
	.ascii	"  row of evenly spaced, segment-connected vertices?"
	.ascii	"  Have you simply\000"
	.align	2
.LC815:
	.ascii	"  defined one long segment connecting the leftmost "
	.ascii	"vertex to the rightmost\000"
	.align	2
.LC816:
	.ascii	"  vertex, and a bunch of vertices lying along it?  "
	.ascii	"This method occasionally\000"
	.align	2
.LC817:
	.ascii	"  works, especially with horizontal and vertical li"
	.ascii	"nes, but often it\000"
	.align	2
.LC818:
	.ascii	"  doesn't, and you'll have to connect each adjacent"
	.ascii	" pair of vertices with a\000"
	.align	2
.LC819:
	.ascii	"  separate segment.  If you don't like it, tough.\012"
	.ascii	"\000"
	.align	2
.LC820:
	.ascii	"  Furthermore, if you have segments that intersect "
	.ascii	"other than at their\000"
	.align	2
.LC821:
	.ascii	"  endpoints, try not to let the intersections fall "
	.ascii	"extremely close to PSLG\000"
	.align	2
.LC822:
	.ascii	"  vertices or each other.\012\000"
	.align	2
.LC823:
	.ascii	"  If you have problems refining a triangulation not"
	.ascii	" produced by Triangle:\000"
	.align	2
.LC824:
	.ascii	"  Are you sure the triangulation is geometrically v"
	.ascii	"alid?  Is it formatted\000"
	.align	2
.LC825:
	.ascii	"  correctly for Triangle?  Are the triangles all li"
	.ascii	"sted so the first three\000"
	.align	2
.LC826:
	.ascii	"  vertices are their corners in counterclockwise or"
	.ascii	"der?  Are all of the\000"
	.align	2
.LC827:
	.ascii	"  triangles constrained Delaunay?  Triangle's Delau"
	.ascii	"nay refinement algorithm\000"
	.align	2
.LC828:
	.ascii	"  assumes that it starts with a CDT.\012\000"
	.align	2
.LC829:
	.ascii	"Show Me:\012\000"
	.align	2
.LC830:
	.ascii	"  Triangle comes with a separate program named `Sho"
	.ascii	"w Me', whose primary\000"
	.align	2
.LC831:
	.ascii	"  purpose is to draw meshes on your screen or in Po"
	.ascii	"stScript.  Its secondary\000"
	.align	2
.LC832:
	.ascii	"  purpose is to check the validity of your input fi"
	.ascii	"les, and do so more\000"
	.align	2
.LC833:
	.ascii	"  thoroughly than Triangle does.  Unlike Triangle, "
	.ascii	"Show Me requires that\000"
	.align	2
.LC834:
	.ascii	"  you have the X Windows system.  Sorry, Microsoft "
	.ascii	"Windows users.\000"
	.align	2
.LC835:
	.ascii	"Triangle on the Web:\000"
	.align	2
.LC836:
	.ascii	"  To see an illustrated version of these instructio"
	.ascii	"ns, check out\000"
	.align	2
.LC837:
	.ascii	"    http://www.cs.cmu.edu/~quake/triangle.html\000"
	.align	2
.LC838:
	.ascii	"A Brief Plea:\000"
	.align	2
.LC839:
	.ascii	"  If you use Triangle, and especially if you use it"
	.ascii	" to accomplish real\000"
	.align	2
.LC840:
	.ascii	"  work, I would like very much to hear from you.  A"
	.ascii	" short letter or email\000"
	.align	2
.LC841:
	.ascii	"  (to jrs@cs.berkeley.edu) describing how you use T"
	.ascii	"riangle will mean a lot\000"
	.align	2
.LC842:
	.ascii	"  to me.  The more people I know are using this pro"
	.ascii	"gram, the more easily I\000"
	.align	2
.LC843:
	.ascii	"  can justify spending time on improvements, which "
	.ascii	"in turn will benefit\000"
	.align	2
.LC844:
	.ascii	"  you.  Also, I can put you on a list to receive em"
	.ascii	"ail whenever a new\000"
	.align	2
.LC845:
	.ascii	"  version of Triangle is available.\012\000"
	.align	2
.LC846:
	.ascii	"  If you use a mesh generated by Triangle in a publ"
	.ascii	"ication, please include\000"
	.align	2
.LC847:
	.ascii	"  an acknowledgment as well.  And please spell Tria"
	.ascii	"ngle with a capital `T'!\000"
	.align	2
.LC848:
	.ascii	"  If you want to include a citation, use `Jonathan "
	.ascii	"Richard Shewchuk,\000"
	.align	2
.LC849:
	.ascii	"  ``Triangle: Engineering a 2D Quality Mesh Generat"
	.ascii	"or and Delaunay\000"
	.align	2
.LC850:
	.ascii	"  Triangulator,'' in Applied Computational Geometry"
	.ascii	":  Towards Geometric\000"
	.align	2
.LC851:
	.ascii	"  Engineering (Ming C. Lin and Dinesh Manocha, edit"
	.ascii	"ors), volume 1148 of\000"
	.align	2
.LC852:
	.ascii	"  Lecture Notes in Computer Science, pages 203-222,"
	.ascii	" Springer-Verlag,\000"
	.align	2
.LC853:
	.ascii	"  Berlin, May 1996.  (From the First ACM Workshop o"
	.ascii	"n Applied Computational\000"
	.align	2
.LC854:
	.ascii	"  Geometry.)'\012\000"
	.align	2
.LC855:
	.ascii	"Research credit:\012\000"
	.align	2
.LC856:
	.ascii	"  Of course, I can take credit for only a fraction "
	.ascii	"of the ideas that made\000"
	.align	2
.LC857:
	.ascii	"  this mesh generator possible.  Triangle owes its "
	.ascii	"existence to the efforts\000"
	.align	2
.LC858:
	.ascii	"  of many fine computational geometers and other re"
	.ascii	"searchers, including\000"
	.align	2
.LC859:
	.ascii	"  Marshall Bern, L. Paul Chew, Kenneth L. Clarkson,"
	.ascii	" Boris Delaunay, Rex A.\000"
	.align	2
.LC860:
	.ascii	"  Dwyer, David Eppstein, Steven Fortune, Leonidas J"
	.ascii	". Guibas, Donald E.\000"
	.align	2
.LC861:
	.ascii	"  Knuth, Charles L. Lawson, Der-Tsai Lee, Gary L. M"
	.ascii	"iller, Ernst P. Mucke,\000"
	.align	2
.LC862:
	.ascii	"  Steven E. Pav, Douglas M. Priest, Jim Ruppert, Is"
	.ascii	"aac Saias, Bruce J.\000"
	.align	2
.LC863:
	.ascii	"  Schachter, Micha Sharir, Peter W. Shor, Daniel D."
	.ascii	" Sleator, Jorge Stolfi,\000"
	.align	2
.LC864:
	.ascii	"  Robert E. Tarjan, Alper Ungor, Christopher J. Van"
	.ascii	" Wyk, Noel J.\000"
	.align	2
.LC865:
	.ascii	"  Walkington, and Binhai Zhu.  See the comments at "
	.ascii	"the beginning of the\000"
	.align	2
.LC866:
	.ascii	"  source code for references.\012\000"
	.text
	.align	2
	.global	info
	.syntax unified
	.arm
	.fpu softvfp
	.type	info, %function
info:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L30
	bl	puts
	ldr	r0, .L30+4
	bl	puts
	ldr	r0, .L30+8
	bl	puts
	ldr	r0, .L30+12
	bl	puts
	ldr	r0, .L30+16
	bl	puts
	ldr	r0, .L30+20
	bl	puts
	ldr	r0, .L30+24
	bl	puts
	ldr	r0, .L30+28
	bl	puts
	ldr	r0, .L30+32
	bl	puts
	ldr	r0, .L30+36
	bl	puts
	ldr	r0, .L30+40
	bl	puts
	ldr	r0, .L30+44
	bl	puts
	ldr	r0, .L30+48
	bl	puts
	ldr	r0, .L30+52
	bl	puts
	ldr	r0, .L30+56
	bl	puts
	ldr	r0, .L30+60
	bl	puts
	ldr	r0, .L30+64
	bl	puts
	ldr	r0, .L30+68
	bl	puts
	ldr	r0, .L30+72
	bl	puts
	ldr	r0, .L30+76
	bl	puts
	ldr	r0, .L30+80
	bl	puts
	ldr	r0, .L30+84
	bl	puts
	ldr	r0, .L30+88
	bl	puts
	ldr	r0, .L30+92
	bl	puts
	ldr	r0, .L30+96
	bl	puts
	ldr	r0, .L30+100
	bl	puts
	ldr	r0, .L30+104
	bl	puts
	ldr	r0, .L30+108
	bl	puts
	ldr	r0, .L30+112
	bl	puts
	ldr	r0, .L30+116
	bl	puts
	ldr	r0, .L30+120
	bl	puts
	ldr	r0, .L30+124
	bl	puts
	ldr	r0, .L30+128
	bl	puts
	ldr	r0, .L30+132
	bl	puts
	ldr	r0, .L30+136
	bl	puts
	ldr	r0, .L30+140
	bl	puts
	ldr	r0, .L30+144
	bl	puts
	ldr	r0, .L30+148
	bl	puts
	ldr	r0, .L30+152
	bl	puts
	ldr	r0, .L30+156
	bl	puts
	ldr	r0, .L30+160
	bl	puts
	ldr	r0, .L30+164
	bl	puts
	ldr	r0, .L30+168
	bl	puts
	ldr	r0, .L30+172
	bl	puts
	ldr	r0, .L30+176
	bl	puts
	ldr	r0, .L30+180
	bl	puts
	ldr	r0, .L30+184
	bl	puts
	ldr	r0, .L30+188
	bl	puts
	ldr	r0, .L30+192
	bl	puts
	ldr	r0, .L30+196
	bl	puts
	ldr	r0, .L30+200
	bl	puts
	ldr	r0, .L30+204
	bl	puts
	ldr	r0, .L30+208
	bl	puts
	ldr	r0, .L30+212
	bl	puts
	ldr	r0, .L30+216
	bl	puts
	ldr	r0, .L30+220
	bl	puts
	ldr	r0, .L30+224
	bl	puts
	ldr	r0, .L30+228
	bl	puts
	ldr	r0, .L30+232
	bl	puts
	ldr	r0, .L30+236
	bl	puts
	ldr	r0, .L30+240
	bl	puts
	ldr	r0, .L30+244
	bl	puts
	ldr	r0, .L30+248
	bl	puts
	ldr	r0, .L30+252
	bl	puts
	ldr	r0, .L30+256
	bl	puts
	ldr	r0, .L30+260
	bl	puts
	ldr	r0, .L30+264
	bl	puts
	ldr	r0, .L30+268
	bl	puts
	ldr	r0, .L30+272
	bl	puts
	ldr	r0, .L30+276
	bl	puts
	ldr	r0, .L30+280
	bl	puts
	ldr	r0, .L30+284
	bl	puts
	ldr	r0, .L30+288
	bl	puts
	ldr	r0, .L30+292
	bl	puts
	ldr	r0, .L30+296
	bl	puts
	ldr	r0, .L30+300
	bl	puts
	ldr	r0, .L30+304
	bl	puts
	ldr	r0, .L30+308
	bl	puts
	ldr	r0, .L30+312
	bl	puts
	ldr	r0, .L30+316
	bl	puts
	ldr	r0, .L30+320
	bl	puts
	ldr	r0, .L30+324
	bl	puts
	ldr	r0, .L30+328
	bl	puts
	ldr	r0, .L30+332
	bl	puts
	ldr	r0, .L30+336
	bl	puts
	ldr	r0, .L30+340
	bl	puts
	ldr	r0, .L30+344
	bl	puts
	ldr	r0, .L30+348
	bl	puts
	ldr	r0, .L30+352
	bl	puts
	ldr	r0, .L30+356
	bl	puts
	ldr	r0, .L30+360
	bl	puts
	ldr	r0, .L30+364
	bl	puts
	ldr	r0, .L30+368
	bl	puts
	ldr	r0, .L30+372
	bl	puts
	ldr	r0, .L30+376
	bl	puts
	ldr	r0, .L30+380
	bl	puts
	ldr	r0, .L30+384
	bl	puts
	ldr	r0, .L30+388
	bl	puts
	ldr	r0, .L30+392
	bl	puts
	ldr	r0, .L30+396
	bl	puts
	ldr	r0, .L30+400
	bl	puts
	ldr	r0, .L30+404
	bl	puts
	ldr	r0, .L30+408
	bl	puts
	ldr	r0, .L30+412
	bl	puts
	ldr	r0, .L30+416
	bl	puts
	ldr	r0, .L30+420
	bl	puts
	ldr	r0, .L30+424
	bl	puts
	ldr	r0, .L30+428
	bl	puts
	ldr	r0, .L30+432
	bl	puts
	ldr	r0, .L30+436
	bl	puts
	ldr	r0, .L30+440
	bl	puts
	ldr	r0, .L30+444
	bl	puts
	ldr	r0, .L30+448
	bl	puts
	ldr	r0, .L30+452
	bl	puts
	ldr	r0, .L30+456
	bl	puts
	ldr	r0, .L30+460
	bl	puts
	ldr	r0, .L30+464
	bl	puts
	ldr	r0, .L30+468
	bl	puts
	ldr	r0, .L30+472
	bl	puts
	ldr	r0, .L30+476
	bl	puts
	ldr	r0, .L30+480
	bl	puts
	ldr	r0, .L30+484
	bl	puts
	ldr	r0, .L30+488
	bl	puts
	ldr	r0, .L30+492
	bl	puts
	ldr	r0, .L30+496
	bl	puts
	ldr	r0, .L30+500
	bl	puts
	ldr	r0, .L30+504
	bl	puts
	ldr	r0, .L30+508
	bl	puts
	ldr	r0, .L30+512
	bl	puts
	ldr	r0, .L30+516
	bl	puts
	ldr	r0, .L30+520
	bl	puts
	ldr	r0, .L30+524
	bl	puts
	ldr	r0, .L30+528
	bl	puts
	ldr	r0, .L30+532
	bl	puts
	ldr	r0, .L30+536
	bl	puts
	ldr	r0, .L30+540
	bl	puts
	ldr	r0, .L30+544
	bl	puts
	ldr	r0, .L30+548
	bl	puts
	ldr	r0, .L30+552
	bl	puts
	ldr	r0, .L30+556
	bl	puts
	ldr	r0, .L30+560
	bl	puts
	ldr	r0, .L30+564
	bl	puts
	ldr	r0, .L30+568
	bl	puts
	ldr	r0, .L30+572
	bl	puts
	ldr	r0, .L30+576
	bl	puts
	ldr	r0, .L30+580
	bl	puts
	ldr	r0, .L30+584
	bl	puts
	ldr	r0, .L30+588
	bl	puts
	ldr	r0, .L30+592
	bl	puts
	ldr	r0, .L30+596
	bl	puts
	ldr	r0, .L30+600
	bl	puts
	ldr	r0, .L30+604
	bl	puts
	ldr	r0, .L30+608
	bl	puts
	ldr	r0, .L30+612
	bl	puts
	ldr	r0, .L30+616
	bl	puts
	ldr	r0, .L30+620
	bl	puts
	ldr	r0, .L30+624
	bl	puts
	ldr	r0, .L30+628
	bl	puts
	ldr	r0, .L30+632
	bl	puts
	ldr	r0, .L30+636
	bl	puts
	ldr	r0, .L30+640
	bl	puts
	ldr	r0, .L30+644
	bl	puts
	ldr	r0, .L30+648
	bl	puts
	ldr	r0, .L30+652
	bl	puts
	ldr	r0, .L30+656
	bl	puts
	ldr	r0, .L30+660
	bl	puts
	ldr	r0, .L30+664
	bl	puts
	ldr	r0, .L30+668
	bl	puts
	ldr	r0, .L30+672
	bl	puts
	ldr	r0, .L30+676
	bl	puts
	ldr	r0, .L30+680
	bl	puts
	ldr	r0, .L30+684
	bl	puts
	ldr	r0, .L30+688
	bl	puts
	ldr	r0, .L30+692
	bl	puts
	ldr	r0, .L30+696
	bl	puts
	ldr	r0, .L30+700
	bl	puts
	ldr	r0, .L30+704
	bl	puts
	ldr	r0, .L30+708
	bl	puts
	ldr	r0, .L30+712
	bl	puts
	ldr	r0, .L30+716
	bl	puts
	ldr	r0, .L30+720
	bl	puts
	ldr	r0, .L30+724
	bl	puts
	ldr	r0, .L30+728
	bl	puts
	ldr	r0, .L30+732
	bl	puts
	ldr	r0, .L30+736
	bl	puts
	ldr	r0, .L30+740
	bl	puts
	ldr	r0, .L30+744
	bl	puts
	ldr	r0, .L30+748
	bl	puts
	ldr	r0, .L30+752
	bl	puts
	ldr	r0, .L30+756
	bl	puts
	ldr	r0, .L30+760
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+764
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+768
	bl	puts
	ldr	r0, .L30+772
	bl	puts
	ldr	r0, .L30+776
	bl	puts
	ldr	r0, .L30+780
	bl	puts
	ldr	r0, .L30+784
	bl	puts
	ldr	r0, .L30+788
	bl	puts
	ldr	r0, .L30+792
	bl	puts
	ldr	r0, .L30+796
	bl	puts
	ldr	r0, .L30+800
	bl	puts
	ldr	r0, .L30+804
	bl	puts
	ldr	r0, .L30+808
	bl	puts
	ldr	r0, .L30+812
	bl	puts
	ldr	r0, .L30+816
	bl	puts
	ldr	r0, .L30+820
	bl	puts
	ldr	r0, .L30+824
	bl	puts
	ldr	r0, .L30+828
	bl	puts
	ldr	r0, .L30+832
	bl	puts
	ldr	r0, .L30+836
	bl	puts
	ldr	r0, .L30+840
	bl	puts
	ldr	r0, .L30+844
	bl	puts
	ldr	r0, .L30+848
	bl	puts
	ldr	r0, .L30+852
	bl	puts
	ldr	r0, .L30+856
	bl	puts
	ldr	r0, .L30+860
	bl	puts
	ldr	r0, .L30+864
	bl	puts
	ldr	r0, .L30+868
	bl	puts
	ldr	r0, .L30+872
	bl	puts
	ldr	r0, .L30+876
	bl	puts
	ldr	r0, .L30+880
	bl	puts
	ldr	r0, .L30+884
	bl	puts
	ldr	r0, .L30+888
	bl	puts
	ldr	r0, .L30+892
	bl	puts
	ldr	r0, .L30+896
	bl	puts
	ldr	r0, .L30+900
	bl	puts
	ldr	r0, .L30+904
	bl	puts
	ldr	r0, .L30+908
	bl	puts
	ldr	r0, .L30+912
	bl	puts
	ldr	r0, .L30+916
	bl	puts
	ldr	r0, .L30+920
	bl	puts
	ldr	r0, .L30+924
	bl	puts
	ldr	r0, .L30+928
	bl	puts
	ldr	r0, .L30+932
	bl	puts
	ldr	r0, .L30+936
	bl	puts
	ldr	r0, .L30+940
	bl	puts
	ldr	r0, .L30+944
	bl	puts
	ldr	r0, .L30+948
	bl	puts
	ldr	r0, .L30+952
	bl	puts
	ldr	r0, .L30+956
	bl	puts
	ldr	r0, .L30+960
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+964
	bl	puts
	ldr	r0, .L30+968
	bl	puts
	ldr	r0, .L30+972
	bl	puts
	ldr	r0, .L30+976
	bl	puts
	ldr	r0, .L30+980
	bl	puts
	ldr	r0, .L30+984
	bl	puts
	ldr	r0, .L30+988
	bl	puts
	ldr	r0, .L30+992
	bl	puts
	ldr	r0, .L30+996
	bl	puts
	ldr	r0, .L30+1000
	bl	puts
	ldr	r0, .L30+1004
	bl	puts
	ldr	r0, .L30+1008
	bl	puts
	ldr	r0, .L30+1012
	bl	puts
	ldr	r0, .L30+1016
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1020
	bl	puts
	ldr	r0, .L30+1024
	bl	puts
	ldr	r0, .L30+1028
	bl	puts
	ldr	r0, .L30+1032
	bl	puts
	ldr	r0, .L30+1036
	bl	puts
	ldr	r0, .L30+1040
	bl	puts
	ldr	r0, .L30+1044
	bl	puts
	ldr	r0, .L30+1048
	bl	puts
	ldr	r0, .L30+1052
	bl	puts
	ldr	r0, .L30+1056
	bl	puts
	ldr	r0, .L30+1060
	bl	puts
	ldr	r0, .L30+1064
	bl	puts
	ldr	r0, .L30+1068
	bl	puts
	ldr	r0, .L30+1072
	bl	puts
	ldr	r0, .L30+1076
	bl	puts
	ldr	r0, .L30+1080
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1084
	bl	puts
	ldr	r0, .L30+952
	bl	puts
	ldr	r0, .L30+956
	bl	puts
	ldr	r0, .L30+1088
	bl	puts
	ldr	r0, .L30+1092
	bl	puts
	ldr	r0, .L30+1096
	bl	puts
	ldr	r0, .L30+1100
	bl	puts
	ldr	r0, .L30+1104
	bl	puts
	ldr	r0, .L30+1108
	bl	puts
	ldr	r0, .L30+1112
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1116
	bl	puts
	ldr	r0, .L30+1120
	bl	puts
	ldr	r0, .L30+1124
	bl	puts
	ldr	r0, .L30+1128
	bl	puts
	ldr	r0, .L30+1132
	bl	puts
	ldr	r0, .L30+1136
	bl	puts
	ldr	r0, .L30+1140
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1144
	bl	puts
	ldr	r0, .L30+1148
	bl	puts
	ldr	r0, .L30+1152
	bl	puts
	ldr	r0, .L30+1156
	bl	puts
	ldr	r0, .L30+1160
	bl	puts
	ldr	r0, .L30+1164
	bl	puts
	ldr	r0, .L30+1168
	bl	puts
	ldr	r0, .L30+1172
	bl	puts
	ldr	r0, .L30+1176
	bl	puts
	ldr	r0, .L30+1180
	bl	puts
	ldr	r0, .L30+1184
	bl	puts
	ldr	r0, .L30+1188
	bl	puts
	ldr	r0, .L30+1192
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1196
	bl	puts
	ldr	r0, .L30+1200
	bl	puts
	ldr	r0, .L30+1204
	bl	puts
	ldr	r0, .L30+1208
	bl	puts
	ldr	r0, .L30+1212
	bl	puts
	ldr	r0, .L30+1216
	bl	puts
	ldr	r0, .L30+1220
	bl	puts
	ldr	r0, .L30+1224
	bl	puts
	ldr	r0, .L30+1228
	bl	puts
	ldr	r0, .L30+1232
	bl	puts
	ldr	r0, .L30+1236
	bl	puts
	ldr	r0, .L30+1240
	bl	puts
	ldr	r0, .L30+1244
	bl	puts
	ldr	r0, .L30+1248
	bl	puts
	ldr	r0, .L30+1252
	bl	puts
	ldr	r0, .L30+1256
	bl	puts
	ldr	r0, .L30+1260
	bl	puts
	ldr	r0, .L30+1264
	bl	puts
	ldr	r0, .L30+1268
	bl	puts
	ldr	r0, .L30+1272
	bl	puts
	ldr	r0, .L30+1276
	bl	puts
	ldr	r0, .L30+1280
	bl	puts
	ldr	r0, .L30+1284
	bl	puts
	ldr	r0, .L30+1288
	bl	puts
	ldr	r0, .L30+1292
	bl	puts
	ldr	r0, .L30+1296
	bl	puts
	ldr	r0, .L30+1300
	bl	puts
	ldr	r0, .L30+1304
	bl	puts
	ldr	r0, .L30+1308
	bl	puts
	ldr	r0, .L30+1312
	bl	puts
	ldr	r0, .L30+1316
	bl	puts
	ldr	r0, .L30+1320
	bl	puts
	ldr	r0, .L30+1324
	bl	puts
	ldr	r0, .L30+1328
	bl	puts
	ldr	r0, .L30+1332
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1336
	bl	puts
	ldr	r0, .L30+1340
	bl	puts
	ldr	r0, .L30+1344
	bl	puts
	ldr	r0, .L30+1348
	bl	puts
	ldr	r0, .L30+1352
	bl	puts
	ldr	r0, .L30+1356
	bl	puts
	ldr	r0, .L30+1360
	bl	puts
	ldr	r0, .L30+1364
	bl	puts
	ldr	r0, .L30+1368
	bl	puts
	ldr	r0, .L30+1372
	bl	puts
	ldr	r0, .L30+1376
	bl	puts
	ldr	r0, .L30+1380
	bl	puts
	ldr	r0, .L30+1384
	bl	puts
	ldr	r0, .L30+1388
	bl	puts
	ldr	r0, .L30+1392
	bl	puts
	ldr	r0, .L30+1396
	bl	puts
	ldr	r0, .L30+1400
	bl	puts
	ldr	r0, .L30+1404
	bl	puts
	ldr	r0, .L30+1408
	bl	puts
	ldr	r0, .L30+1412
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1416
	bl	puts
	ldr	r0, .L30+1420
	bl	puts
	ldr	r0, .L30+1424
	bl	puts
	ldr	r0, .L30+1428
	bl	puts
	ldr	r0, .L30+1432
	bl	puts
	ldr	r0, .L30+1436
	bl	puts
	ldr	r0, .L30+1440
	bl	puts
	ldr	r0, .L30+1444
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1448
	bl	puts
	ldr	r0, .L30+1452
	bl	puts
	ldr	r0, .L30+1456
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1460
	bl	puts
	ldr	r0, .L30+1464
	bl	puts
	ldr	r0, .L30+1468
	bl	puts
	ldr	r0, .L30+1472
	bl	puts
	ldr	r0, .L30+1476
	bl	puts
	ldr	r0, .L30+1480
	bl	puts
	ldr	r0, .L30+1484
	bl	puts
	ldr	r0, .L30+1488
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1492
	bl	puts
	ldr	r0, .L30+1496
	bl	puts
	ldr	r0, .L30+1500
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1504
	bl	puts
	ldr	r0, .L30+1508
	bl	puts
	ldr	r0, .L30+1512
	bl	puts
	ldr	r0, .L30+1516
	bl	puts
	ldr	r0, .L30+1520
	bl	puts
	ldr	r0, .L30+1524
	bl	puts
	ldr	r0, .L30+1528
	bl	puts
	ldr	r0, .L30+1532
	bl	puts
	ldr	r0, .L30+1536
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1540
	bl	puts
	ldr	r0, .L30+1544
	bl	puts
	ldr	r0, .L30+1548
	bl	puts
	ldr	r0, .L30+1552
	bl	puts
	ldr	r0, .L30+1556
	bl	puts
	ldr	r0, .L30+1560
	bl	puts
	ldr	r0, .L30+1564
	bl	puts
	ldr	r0, .L30+1568
	bl	puts
	ldr	r0, .L30+1572
	bl	puts
	ldr	r0, .L30+1576
	bl	puts
	ldr	r0, .L30+1580
	bl	puts
	ldr	r0, .L30+1584
	bl	puts
	ldr	r0, .L30+1588
	bl	puts
	ldr	r0, .L30+1592
	bl	puts
	ldr	r0, .L30+1596
	bl	puts
	ldr	r0, .L30+1600
	bl	puts
	ldr	r0, .L30+1604
	bl	puts
	ldr	r0, .L30+1608
	bl	puts
	ldr	r0, .L30+1612
	bl	puts
	ldr	r0, .L30+1616
	bl	puts
	ldr	r0, .L30+1620
	bl	puts
	ldr	r0, .L30+1624
	bl	puts
	ldr	r0, .L30+1628
	bl	puts
	ldr	r0, .L30+1632
	bl	puts
	ldr	r0, .L30+1636
	bl	puts
	ldr	r0, .L30+1640
	bl	puts
	ldr	r0, .L30+1644
	bl	puts
	ldr	r0, .L30+1648
	bl	puts
	ldr	r0, .L30+1652
	bl	puts
	ldr	r0, .L30+1656
	bl	puts
	ldr	r0, .L30+1660
	bl	puts
	ldr	r0, .L30+1664
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1668
	bl	puts
	ldr	r0, .L30+1672
	bl	puts
	ldr	r0, .L30+1676
	bl	puts
	ldr	r0, .L30+1680
	bl	puts
	ldr	r0, .L30+1684
	bl	puts
	ldr	r0, .L30+1688
	bl	puts
	ldr	r0, .L30+1692
	bl	puts
	ldr	r0, .L30+1696
	bl	puts
	ldr	r0, .L30+1700
	bl	puts
	ldr	r0, .L30+1704
	bl	puts
	ldr	r0, .L30+1708
	bl	puts
	ldr	r0, .L30+1712
	bl	puts
	ldr	r0, .L30+1716
	bl	puts
	ldr	r0, .L30+1720
	bl	puts
	ldr	r0, .L30+1724
	bl	puts
	ldr	r0, .L30+1728
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1732
	bl	puts
	ldr	r0, .L30+1736
	bl	puts
	ldr	r0, .L30+1740
	bl	puts
	ldr	r0, .L30+1744
	bl	puts
	ldr	r0, .L30+1748
	bl	puts
	ldr	r0, .L30+1752
	bl	puts
	ldr	r0, .L30+1756
	bl	puts
	ldr	r0, .L30+1760
	bl	puts
	ldr	r0, .L30+1764
	bl	puts
	ldr	r0, .L30+1768
	bl	puts
	ldr	r0, .L30+1772
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1776
	bl	puts
	ldr	r0, .L30+1780
	bl	puts
	ldr	r0, .L30+1784
	bl	puts
	ldr	r0, .L30+1788
	bl	puts
	ldr	r0, .L30+1792
	bl	puts
	ldr	r0, .L30+1796
	bl	puts
	ldr	r0, .L30+1800
	bl	puts
	ldr	r0, .L30+1804
	bl	puts
	ldr	r0, .L30+1808
	bl	puts
	ldr	r0, .L30+1812
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1816
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1820
	bl	puts
	ldr	r0, .L30+1824
	bl	puts
	ldr	r0, .L30+1828
	bl	puts
	ldr	r0, .L30+1832
	bl	puts
	ldr	r0, .L30+1836
	bl	puts
	ldr	r0, .L30+1840
	bl	puts
	ldr	r0, .L30+1844
	bl	puts
	ldr	r0, .L30+1848
	bl	puts
	ldr	r0, .L30+1852
	bl	puts
	ldr	r0, .L30+1856
	bl	puts
	ldr	r0, .L30+1860
	bl	puts
	ldr	r0, .L30+1864
	bl	puts
	ldr	r0, .L30+1868
	bl	puts
	ldr	r0, .L30+1872
	bl	puts
	ldr	r0, .L30+1876
	bl	puts
	ldr	r0, .L30+1880
	bl	puts
	ldr	r0, .L30+1884
	bl	puts
	ldr	r0, .L30+1888
	bl	puts
	ldr	r0, .L30+1892
	bl	puts
	ldr	r0, .L30+1896
	bl	puts
	ldr	r0, .L30+1900
	bl	puts
	ldr	r0, .L30+2120
	bl	puts
	ldr	r0, .L30+1904
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1908
	bl	puts
	ldr	r0, .L30+1912
	bl	puts
	ldr	r0, .L30+1916
	bl	puts
	ldr	r0, .L30+1920
	bl	puts
	ldr	r0, .L30+1924
	bl	puts
	ldr	r0, .L30+1928
	bl	puts
	ldr	r0, .L30+1932
	bl	puts
	ldr	r0, .L30+1936
	bl	puts
	ldr	r0, .L30+1940
	bl	puts
	ldr	r0, .L30+1944
	bl	puts
	b	.L31
.L32:
	.align	2
.L30:
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.word	.LC70
	.word	.LC71
	.word	.LC72
	.word	.LC73
	.word	.LC74
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.word	.LC79
	.word	.LC80
	.word	.LC81
	.word	.LC82
	.word	.LC83
	.word	.LC84
	.word	.LC85
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.word	.LC89
	.word	.LC90
	.word	.LC91
	.word	.LC92
	.word	.LC93
	.word	.LC94
	.word	.LC95
	.word	.LC96
	.word	.LC97
	.word	.LC98
	.word	.LC99
	.word	.LC100
	.word	.LC101
	.word	.LC102
	.word	.LC103
	.word	.LC104
	.word	.LC105
	.word	.LC106
	.word	.LC107
	.word	.LC108
	.word	.LC109
	.word	.LC110
	.word	.LC111
	.word	.LC112
	.word	.LC113
	.word	.LC114
	.word	.LC115
	.word	.LC116
	.word	.LC117
	.word	.LC118
	.word	.LC119
	.word	.LC120
	.word	.LC121
	.word	.LC122
	.word	.LC123
	.word	.LC124
	.word	.LC125
	.word	.LC126
	.word	.LC127
	.word	.LC128
	.word	.LC129
	.word	.LC130
	.word	.LC131
	.word	.LC132
	.word	.LC133
	.word	.LC134
	.word	.LC135
	.word	.LC136
	.word	.LC137
	.word	.LC138
	.word	.LC139
	.word	.LC140
	.word	.LC141
	.word	.LC142
	.word	.LC143
	.word	.LC144
	.word	.LC145
	.word	.LC146
	.word	.LC147
	.word	.LC148
	.word	.LC149
	.word	.LC150
	.word	.LC151
	.word	.LC152
	.word	.LC153
	.word	.LC154
	.word	.LC155
	.word	.LC156
	.word	.LC157
	.word	.LC158
	.word	.LC159
	.word	.LC160
	.word	.LC161
	.word	.LC162
	.word	.LC163
	.word	.LC164
	.word	.LC165
	.word	.LC166
	.word	.LC167
	.word	.LC168
	.word	.LC169
	.word	.LC170
	.word	.LC171
	.word	.LC172
	.word	.LC173
	.word	.LC174
	.word	.LC175
	.word	.LC176
	.word	.LC177
	.word	.LC178
	.word	.LC179
	.word	.LC180
	.word	.LC181
	.word	.LC182
	.word	.LC183
	.word	.LC184
	.word	.LC185
	.word	.LC186
	.word	.LC187
	.word	.LC188
	.word	.LC189
	.word	.LC190
	.word	.LC191
	.word	.LC192
	.word	.LC193
	.word	.LC194
	.word	.LC195
	.word	.LC196
	.word	.LC197
	.word	.LC198
	.word	.LC199
	.word	.LC200
	.word	.LC201
	.word	.LC202
	.word	.LC203
	.word	.LC204
	.word	.LC205
	.word	.LC206
	.word	.LC207
	.word	.LC208
	.word	.LC209
	.word	.LC210
	.word	.LC211
	.word	.LC212
	.word	.LC213
	.word	.LC214
	.word	.LC215
	.word	.LC216
	.word	.LC217
	.word	.LC218
	.word	.LC219
	.word	.LC220
	.word	.LC221
	.word	.LC222
	.word	.LC223
	.word	.LC224
	.word	.LC225
	.word	.LC226
	.word	.LC227
	.word	.LC228
	.word	.LC229
	.word	.LC230
	.word	.LC231
	.word	.LC232
	.word	.LC233
	.word	.LC234
	.word	.LC235
	.word	.LC236
	.word	.LC237
	.word	.LC238
	.word	.LC239
	.word	.LC240
	.word	.LC241
	.word	.LC242
	.word	.LC243
	.word	.LC244
	.word	.LC245
	.word	.LC246
	.word	.LC247
	.word	.LC248
	.word	.LC249
	.word	.LC250
	.word	.LC251
	.word	.LC252
	.word	.LC253
	.word	.LC254
	.word	.LC255
	.word	.LC256
	.word	.LC257
	.word	.LC258
	.word	.LC259
	.word	.LC260
	.word	.LC261
	.word	.LC262
	.word	.LC263
	.word	.LC264
	.word	.LC265
	.word	.LC266
	.word	.LC267
	.word	.LC268
	.word	.LC269
	.word	.LC270
	.word	.LC271
	.word	.LC272
	.word	.LC273
	.word	.LC274
	.word	.LC275
	.word	.LC276
	.word	.LC277
	.word	.LC278
	.word	.LC279
	.word	.LC280
	.word	.LC281
	.word	.LC282
	.word	.LC283
	.word	.LC284
	.word	.LC285
	.word	.LC286
	.word	.LC287
	.word	.LC288
	.word	.LC289
	.word	.LC290
	.word	.LC291
	.word	.LC292
	.word	.LC293
	.word	.LC294
	.word	.LC295
	.word	.LC296
	.word	.LC297
	.word	.LC298
	.word	.LC299
	.word	.LC300
	.word	.LC301
	.word	.LC302
	.word	.LC303
	.word	.LC304
	.word	.LC305
	.word	.LC306
	.word	.LC307
	.word	.LC308
	.word	.LC309
	.word	.LC310
	.word	.LC311
	.word	.LC312
	.word	.LC313
	.word	.LC314
	.word	.LC315
	.word	.LC316
	.word	.LC317
	.word	.LC318
	.word	.LC319
	.word	.LC320
	.word	.LC321
	.word	.LC322
	.word	.LC323
	.word	.LC324
	.word	.LC325
	.word	.LC326
	.word	.LC327
	.word	.LC328
	.word	.LC329
	.word	.LC330
	.word	.LC331
	.word	.LC332
	.word	.LC333
	.word	.LC334
	.word	.LC335
	.word	.LC336
	.word	.LC337
	.word	.LC338
	.word	.LC339
	.word	.LC340
	.word	.LC341
	.word	.LC342
	.word	.LC343
	.word	.LC344
	.word	.LC345
	.word	.LC346
	.word	.LC347
	.word	.LC348
	.word	.LC349
	.word	.LC350
	.word	.LC351
	.word	.LC352
	.word	.LC353
	.word	.LC354
	.word	.LC355
	.word	.LC356
	.word	.LC357
	.word	.LC358
	.word	.LC359
	.word	.LC360
	.word	.LC361
	.word	.LC362
	.word	.LC363
	.word	.LC364
	.word	.LC365
	.word	.LC366
	.word	.LC367
	.word	.LC368
	.word	.LC369
	.word	.LC370
	.word	.LC371
	.word	.LC372
	.word	.LC373
	.word	.LC374
	.word	.LC375
	.word	.LC376
	.word	.LC377
	.word	.LC378
	.word	.LC379
	.word	.LC380
	.word	.LC381
	.word	.LC382
	.word	.LC383
	.word	.LC384
	.word	.LC385
	.word	.LC386
	.word	.LC387
	.word	.LC388
	.word	.LC389
	.word	.LC390
	.word	.LC391
	.word	.LC392
	.word	.LC393
	.word	.LC394
	.word	.LC395
	.word	.LC396
	.word	.LC397
	.word	.LC398
	.word	.LC399
	.word	.LC400
	.word	.LC401
	.word	.LC402
	.word	.LC403
	.word	.LC404
	.word	.LC405
	.word	.LC406
	.word	.LC407
	.word	.LC408
	.word	.LC409
	.word	.LC410
	.word	.LC411
	.word	.LC412
	.word	.LC413
	.word	.LC414
	.word	.LC415
	.word	.LC416
	.word	.LC417
	.word	.LC418
	.word	.LC419
	.word	.LC420
	.word	.LC421
	.word	.LC422
	.word	.LC423
	.word	.LC424
	.word	.LC425
	.word	.LC426
	.word	.LC427
	.word	.LC428
	.word	.LC429
	.word	.LC430
	.word	.LC431
	.word	.LC432
	.word	.LC433
	.word	.LC434
	.word	.LC435
	.word	.LC436
	.word	.LC437
	.word	.LC438
	.word	.LC439
	.word	.LC440
	.word	.LC441
	.word	.LC442
	.word	.LC443
	.word	.LC444
	.word	.LC445
	.word	.LC446
	.word	.LC447
	.word	.LC448
	.word	.LC449
	.word	.LC450
	.word	.LC451
	.word	.LC452
	.word	.LC453
	.word	.LC454
	.word	.LC455
	.word	.LC456
	.word	.LC457
	.word	.LC458
	.word	.LC459
	.word	.LC460
	.word	.LC461
	.word	.LC462
	.word	.LC463
	.word	.LC464
	.word	.LC465
	.word	.LC466
	.word	.LC467
	.word	.LC468
	.word	.LC469
	.word	.LC470
	.word	.LC471
	.word	.LC472
	.word	.LC473
	.word	.LC474
	.word	.LC475
	.word	.LC476
	.word	.LC477
	.word	.LC478
	.word	.LC479
	.word	.LC480
	.word	.LC481
	.word	.LC482
	.word	.LC483
	.word	.LC484
	.word	.LC485
	.word	.LC486
	.word	.LC487
	.word	.LC488
	.word	.LC489
	.word	.LC490
	.word	.LC491
	.word	.LC492
	.word	.LC493
	.word	.LC494
	.word	.LC495
	.word	.LC496
	.word	.LC497
	.word	.LC498
	.word	.LC499
	.word	.LC500
	.word	.LC501
	.word	.LC502
	.word	.LC503
	.word	.LC504
	.word	.LC505
	.word	.LC506
	.word	.LC507
	.word	.LC508
	.word	.LC509
	.word	.LC511
	.word	.LC512
	.word	.LC513
	.word	.LC514
	.word	.LC515
	.word	.LC516
	.word	.LC517
	.word	.LC518
	.word	.LC519
	.word	.LC520
	.word	.LC521
	.word	.LC522
	.word	.LC523
	.word	.LC524
	.word	.LC525
	.word	.LC526
	.word	.LC527
	.word	.LC528
	.word	.LC529
	.word	.LC530
	.word	.LC531
	.word	.LC533
	.word	.LC534
	.word	.LC535
	.word	.LC536
	.word	.LC537
	.word	.LC538
	.word	.LC539
	.word	.LC540
	.word	.LC541
	.word	.LC542
	.word	.LC543
	.word	.LC544
	.word	.LC545
	.word	.LC546
	.word	.LC547
	.word	.LC548
	.word	.LC549
	.word	.LC550
	.word	.LC551
	.word	.LC552
	.word	.LC553
	.word	.LC554
	.word	.LC555
	.word	.LC556
	.word	.LC557
	.word	.LC558
	.word	.LC559
	.word	.LC560
	.word	.LC561
	.word	.LC562
	.word	.LC563
	.word	.LC564
	.word	.LC565
	.word	.LC510
	.word	.LC566
	.word	.LC532
	.word	.LC567
	.word	.LC568
	.word	.LC569
	.word	.LC570
	.word	.LC571
	.word	.LC572
	.word	.LC573
	.word	.LC574
	.word	.LC575
	.word	.LC576
	.word	.LC577
	.word	.LC578
	.word	.LC579
	.word	.LC580
	.word	.LC581
	.word	.LC582
	.word	.LC583
	.word	.LC584
	.word	.LC585
	.word	.LC586
	.word	.LC587
	.word	.LC588
	.word	.LC589
	.word	.LC590
	.word	.LC591
	.word	.LC592
	.word	.LC593
	.word	.LC594
	.word	.LC595
	.word	.LC596
	.word	.LC597
	.word	.LC598
	.word	.LC599
	.word	.LC600
	.word	.LC601
	.word	.LC602
	.word	.LC603
	.word	.LC604
	.word	.LC605
	.word	.LC606
	.word	.LC607
	.word	.LC608
	.word	.LC609
	.word	.LC610
	.word	.LC611
	.word	.LC612
	.word	.LC613
	.word	.LC614
	.word	.LC615
	.word	.LC616
	.word	.LC617
	.word	.LC618
	.word	.LC619
	.word	.LC620
	.word	.LC621
	.word	.LC622
	.word	.LC623
	.word	.LC624
	.word	.LC625
	.word	.LC626
	.word	.LC627
	.word	.LC628
	.word	.LC629
	.word	.LC630
	.word	.LC631
	.word	.LC632
	.word	.LC633
	.word	.LC634
	.word	.LC635
	.word	.LC636
	.word	.LC637
	.word	.LC638
	.word	.LC639
	.word	.LC640
	.word	.LC641
	.word	.LC642
	.word	.LC643
	.word	.LC644
	.word	.LC645
	.word	.LC646
	.word	.LC647
	.word	.LC648
	.word	.LC649
	.word	.LC650
	.word	.LC651
	.word	.LC652
	.word	.LC653
	.word	.LC654
	.word	.LC655
	.word	.LC656
	.word	.LC657
	.word	.LC658
	.word	.LC659
	.word	.LC660
	.word	.LC661
	.word	.LC662
	.word	.LC663
	.word	.LC664
	.word	.LC665
	.word	.LC666
	.word	.LC667
	.word	.LC668
	.word	.LC669
	.word	.LC670
	.word	.LC671
	.word	.LC672
	.word	.LC673
	.word	.LC674
	.word	.LC675
	.word	.LC676
	.word	.LC677
	.word	.LC678
	.word	.LC679
	.word	.LC680
	.word	.LC681
	.word	.LC682
	.word	.LC683
	.word	.LC684
	.word	.LC685
	.word	.LC686
	.word	.LC687
	.word	.LC688
	.word	.LC689
	.word	.LC690
	.word	.LC691
	.word	.LC692
	.word	.LC693
	.word	.LC694
	.word	.LC695
	.word	.LC696
	.word	.LC697
	.word	.LC698
	.word	.LC699
	.word	.LC700
	.word	.LC701
	.word	.LC702
	.word	.LC703
	.word	.LC704
	.word	.LC705
	.word	.LC706
	.word	.LC707
	.word	.LC708
	.word	.LC709
	.word	.LC710
	.word	.LC711
	.word	.LC712
	.word	.LC713
	.word	.LC714
	.word	.LC715
	.word	.LC716
	.word	.LC717
	.word	.LC718
	.word	.LC719
	.word	.LC720
	.word	.LC721
	.word	.LC722
	.word	.LC723
	.word	.LC724
	.word	.LC725
	.word	.LC726
	.word	.LC727
	.word	.LC728
	.word	.LC729
	.word	.LC730
	.word	.LC731
	.word	.LC732
	.word	.LC733
	.word	.LC734
	.word	.LC735
	.word	.LC736
	.word	.LC737
	.word	.LC738
	.word	.LC739
	.word	.LC740
	.word	.LC741
	.word	.LC742
	.word	.LC743
	.word	.LC744
	.word	.LC745
	.word	.LC746
	.word	.LC747
	.word	.LC748
	.word	.LC749
	.word	.LC750
	.word	.LC751
	.word	.LC752
	.word	.LC753
	.word	.LC754
	.word	.LC755
	.word	.LC756
	.word	.LC757
	.word	.LC758
	.word	.LC759
	.word	.LC760
	.word	.LC761
	.word	.LC762
	.word	.LC763
	.word	.LC764
	.word	.LC765
	.word	.LC766
	.word	.LC767
	.word	.LC768
	.word	.LC769
	.word	.LC770
	.word	.LC771
	.word	.LC772
	.word	.LC773
	.word	.LC774
	.word	.LC775
	.word	.LC776
	.word	.LC777
	.word	.LC778
	.word	.LC779
	.word	.LC780
	.word	.LC781
	.word	.LC782
	.word	.LC783
	.word	.LC784
	.word	.LC785
	.word	.LC786
	.word	.LC787
	.word	.LC788
	.word	.LC789
	.word	.LC790
	.word	.LC791
	.word	.LC792
	.word	.LC793
	.word	.LC794
	.word	.LC795
	.word	.LC796
	.word	.LC797
	.word	.LC798
	.word	.LC800
	.word	.LC801
	.word	.LC802
	.word	.LC803
	.word	.LC804
	.word	.LC799
	.word	.LC805
	.word	.LC806
	.word	.LC807
	.word	.LC808
	.word	.LC809
	.word	.LC810
	.word	.LC811
	.word	.LC812
	.word	.LC813
	.word	.LC814
	.word	.LC815
	.word	.LC816
	.word	.LC817
	.word	.LC818
	.word	.LC819
	.word	.LC820
	.word	.LC821
	.word	.LC822
	.word	.LC823
	.word	.LC824
	.word	.LC825
	.word	.LC826
	.word	.LC827
	.word	.LC828
	.word	.LC829
	.word	.LC830
	.word	.LC831
	.word	.LC832
	.word	.LC833
	.word	.LC834
	.word	.LC835
	.word	.LC836
	.word	.LC837
	.word	.LC838
	.word	.LC839
	.word	.LC840
	.word	.LC841
	.word	.LC842
	.word	.LC843
	.word	.LC844
	.word	.LC845
	.word	.LC846
	.word	.LC847
	.word	.LC848
	.word	.LC849
	.word	.LC850
	.word	.LC851
	.word	.LC852
	.word	.LC853
	.word	.LC854
	.word	.LC855
	.word	.LC856
	.word	.LC857
	.word	.LC858
	.word	.LC859
	.word	.LC860
	.word	.LC861
	.word	.LC862
	.word	.LC863
	.word	.LC864
	.word	.LC865
	.word	.LC866
.L31:
	ldr	r0, .L30+1948
	bl	puts
	ldr	r0, .L30+1952
	bl	puts
	ldr	r0, .L30+1956
	bl	puts
	ldr	r0, .L30+1960
	bl	puts
	ldr	r0, .L30+1964
	bl	puts
	ldr	r0, .L30+1968
	bl	puts
	ldr	r0, .L30+1972
	bl	puts
	ldr	r0, .L30+1976
	bl	puts
	ldr	r0, .L30+1980
	bl	puts
	ldr	r0, .L30+1984
	bl	puts
	ldr	r0, .L30+2128
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1988
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+1992
	bl	puts
	ldr	r0, .L30+1996
	bl	puts
	ldr	r0, .L30+2000
	bl	puts
	ldr	r0, .L30+2004
	bl	puts
	ldr	r0, .L30+2008
	bl	puts
	ldr	r0, .L30+2012
	bl	puts
	ldr	r0, .L30+2016
	bl	puts
	ldr	r0, .L30+2020
	bl	puts
	ldr	r0, .L30+2024
	bl	puts
	ldr	r0, .L30+2028
	bl	puts
	ldr	r0, .L30+2032
	bl	puts
	ldr	r0, .L30+2036
	bl	puts
	ldr	r0, .L30+2040
	bl	puts
	ldr	r0, .L30+2044
	bl	puts
	ldr	r0, .L30+2048
	bl	puts
	ldr	r0, .L30+2052
	bl	puts
	ldr	r0, .L30+2056
	bl	puts
	ldr	r0, .L30+2060
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+2064
	bl	puts
	ldr	r0, .L30+2068
	bl	puts
	ldr	r0, .L30+2072
	bl	puts
	ldr	r0, .L30+2076
	bl	puts
	ldr	r0, .L30+2080
	bl	puts
	ldr	r0, .L30+2084
	bl	puts
	ldr	r0, .L30+2088
	bl	puts
	ldr	r0, .L30+2092
	bl	puts
	ldr	r0, .L30+2096
	bl	puts
	ldr	r0, .L30+2100
	bl	puts
	ldr	r0, .L30+2104
	bl	puts
	ldr	r0, .L30+2108
	bl	puts
	ldr	r0, .L30+2112
	bl	puts
	ldr	r0, .L30+2116
	bl	puts
	ldr	r0, .L30+2120
	bl	puts
	ldr	r0, .L30+2124
	bl	puts
	ldr	r0, .L30+2128
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+2132
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+2136
	bl	puts
	ldr	r0, .L30+2140
	bl	puts
	ldr	r0, .L30+2144
	bl	puts
	ldr	r0, .L30+2148
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+2152
	bl	puts
	ldr	r0, .L30+2156
	bl	puts
	ldr	r0, .L30+2160
	bl	puts
	ldr	r0, .L30+2164
	bl	puts
	ldr	r0, .L30+2168
	bl	puts
	ldr	r0, .L30+2172
	bl	puts
	ldr	r0, .L30+2176
	bl	puts
	ldr	r0, .L30+2180
	bl	puts
	ldr	r0, .L30+2184
	bl	puts
	ldr	r0, .L30+2188
	bl	puts
	ldr	r0, .L30+2192
	bl	puts
	ldr	r0, .L30+2196
	bl	puts
	ldr	r0, .L30+2200
	bl	puts
	ldr	r0, .L30+2204
	bl	puts
	ldr	r0, .L30+2208
	bl	puts
	ldr	r0, .L30+2212
	bl	puts
	ldr	r0, .L30+2216
	bl	puts
	ldr	r0, .L30+2220
	bl	puts
	ldr	r0, .L30+2224
	bl	puts
	ldr	r0, .L30+2228
	bl	puts
	ldr	r0, .L30+2232
	bl	puts
	ldr	r0, .L30+2236
	bl	puts
	ldr	r0, .L30+2240
	bl	puts
	ldr	r0, .L30+2244
	bl	puts
	ldr	r0, .L30+2248
	bl	puts
	ldr	r0, .L30+2252
	bl	puts
	ldr	r0, .L30+2256
	bl	puts
	ldr	r0, .L30+2260
	bl	puts
	ldr	r0, .L30+2264
	bl	puts
	ldr	r0, .L30+2268
	bl	puts
	ldr	r0, .L30+2272
	bl	puts
	ldr	r0, .L30+2276
	bl	puts
	ldr	r0, .L30+2280
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+2284
	bl	puts
	ldr	r0, .L30+2288
	bl	puts
	ldr	r0, .L30+2292
	bl	puts
	ldr	r0, .L30+2296
	bl	puts
	ldr	r0, .L30+2300
	bl	puts
	ldr	r0, .L30+2304
	bl	puts
	ldr	r0, .L30+2308
	bl	puts
	ldr	r0, .L30+2312
	bl	puts
	ldr	r0, .L30+2316
	bl	puts
	ldr	r0, .L30+2320
	bl	puts
	ldr	r0, .L30+2324
	bl	puts
	ldr	r0, .L30+2328
	bl	puts
	ldr	r0, .L30+2332
	bl	puts
	ldr	r0, .L30+2336
	bl	puts
	ldr	r0, .L30+2340
	bl	puts
	ldr	r0, .L30+2344
	bl	puts
	ldr	r0, .L30+2348
	bl	puts
	ldr	r0, .L30+2352
	bl	puts
	ldr	r0, .L30+2356
	bl	puts
	ldr	r0, .L30+2360
	bl	puts
	ldr	r0, .L30+2364
	bl	puts
	ldr	r0, .L30+2368
	bl	puts
	ldr	r0, .L30+2372
	bl	puts
	ldr	r0, .L30+2376
	bl	puts
	ldr	r0, .L30+2380
	bl	puts
	ldr	r0, .L30+2384
	bl	puts
	ldr	r0, .L30+2388
	bl	puts
	ldr	r0, .L30+2392
	bl	puts
	ldr	r0, .L30+2396
	bl	puts
	ldr	r0, .L30+2400
	bl	puts
	ldr	r0, .L30+2404
	bl	puts
	ldr	r0, .L30+2408
	bl	puts
	ldr	r0, .L30+2412
	bl	puts
	ldr	r0, .L30+2416
	bl	puts
	ldr	r0, .L30+2420
	bl	puts
	ldr	r0, .L30+2424
	bl	puts
	ldr	r0, .L30+2428
	bl	puts
	ldr	r0, .L30+2432
	bl	puts
	ldr	r0, .L30+2436
	bl	puts
	ldr	r0, .L30+2440
	bl	puts
	ldr	r0, .L30+2444
	bl	puts
	ldr	r0, .L30+2448
	bl	puts
	ldr	r0, .L30+2452
	bl	puts
	ldr	r0, .L30+2456
	bl	puts
	ldr	r0, .L30+2460
	bl	puts
	ldr	r0, .L30+2464
	bl	puts
	ldr	r0, .L30+2468
	bl	puts
	ldr	r0, .L30+2472
	bl	puts
	ldr	r0, .L30+2476
	bl	puts
	ldr	r0, .L30+2480
	bl	puts
	ldr	r0, .L30+2484
	bl	puts
	ldr	r0, .L30+2488
	bl	puts
	ldr	r0, .L30+2492
	bl	puts
	ldr	r0, .L30+2496
	bl	puts
	ldr	r0, .L30+2500
	bl	puts
	ldr	r0, .L30+2504
	bl	puts
	ldr	r0, .L30+2508
	bl	puts
	ldr	r0, .L30+2512
	bl	puts
	ldr	r0, .L30+2516
	bl	puts
	ldr	r0, .L30+2520
	bl	puts
	ldr	r0, .L30+2524
	bl	puts
	ldr	r0, .L30+2528
	bl	puts
	ldr	r0, .L30+2532
	bl	puts
	ldr	r0, .L30+2536
	bl	puts
	ldr	r0, .L30+2540
	bl	puts
	ldr	r0, .L30+2544
	bl	puts
	ldr	r0, .L30+2548
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+2552
	bl	puts
	ldr	r0, .L30+2556
	bl	puts
	ldr	r0, .L30+2560
	bl	puts
	ldr	r0, .L30+2564
	bl	puts
	ldr	r0, .L30+2568
	bl	puts
	ldr	r0, .L30+2572
	bl	puts
	ldr	r0, .L30+2576
	bl	puts
	ldr	r0, .L30+2580
	bl	puts
	ldr	r0, .L30+2584
	bl	puts
	ldr	r0, .L30+2588
	bl	puts
	ldr	r0, .L30+2592
	bl	puts
	ldr	r0, .L30+2596
	bl	puts
	ldr	r0, .L30+2600
	bl	puts
	ldr	r0, .L30+2604
	bl	puts
	ldr	r0, .L30+2608
	bl	puts
	ldr	r0, .L30+2612
	bl	puts
	ldr	r0, .L30+2616
	bl	puts
	ldr	r0, .L30+2620
	bl	puts
	ldr	r0, .L30+2624
	bl	puts
	ldr	r0, .L30+2628
	bl	puts
	ldr	r0, .L30+2632
	bl	puts
	ldr	r0, .L30+2636
	bl	puts
	ldr	r0, .L30+2640
	bl	puts
	ldr	r0, .L30+2644
	bl	puts
	ldr	r0, .L30+2648
	bl	puts
	ldr	r0, .L30+2652
	bl	puts
	ldr	r0, .L30+2656
	bl	puts
	ldr	r0, .L30+2660
	bl	puts
	ldr	r0, .L30+2664
	bl	puts
	ldr	r0, .L30+2668
	bl	puts
	ldr	r0, .L30+2672
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+2676
	bl	puts
	ldr	r0, .L30+2680
	bl	puts
	ldr	r0, .L30+2684
	bl	puts
	ldr	r0, .L30+2688
	bl	puts
	ldr	r0, .L30+2692
	bl	puts
	ldr	r0, .L30+2696
	bl	puts
	ldr	r0, .L30+2700
	bl	puts
	ldr	r0, .L30+2704
	bl	puts
	ldr	r0, .L30+2708
	bl	puts
	ldr	r0, .L30+2712
	bl	puts
	ldr	r0, .L30+2716
	bl	puts
	ldr	r0, .L30+2720
	bl	puts
	ldr	r0, .L30+2724
	bl	puts
	ldr	r0, .L30+2728
	bl	puts
	ldr	r0, .L30+2732
	bl	puts
	ldr	r0, .L30+2736
	bl	puts
	ldr	r0, .L30+2740
	bl	puts
	ldr	r0, .L30+2744
	bl	puts
	ldr	r0, .L30+2748
	bl	puts
	ldr	r0, .L30+2752
	bl	puts
	ldr	r0, .L30+2756
	bl	puts
	ldr	r0, .L30+2760
	bl	puts
	ldr	r0, .L30+2764
	bl	puts
	ldr	r0, .L30+2768
	bl	puts
	ldr	r0, .L30+2772
	bl	puts
	ldr	r0, .L30+2776
	bl	puts
	ldr	r0, .L30+2780
	bl	puts
	ldr	r0, .L30+2784
	bl	puts
	ldr	r0, .L30+2788
	bl	puts
	ldr	r0, .L30+2792
	bl	puts
	ldr	r0, .L30+2796
	bl	puts
	ldr	r0, .L30+2800
	bl	puts
	ldr	r0, .L30+2804
	bl	puts
	ldr	r0, .L30+2808
	bl	puts
	ldr	r0, .L30+2812
	bl	puts
	ldr	r0, .L30+2816
	bl	puts
	ldr	r0, .L30+2820
	bl	puts
	ldr	r0, .L30+2824
	bl	puts
	ldr	r0, .L30+2828
	bl	puts
	ldr	r0, .L30+2832
	bl	puts
	ldr	r0, .L30+2836
	bl	puts
	ldr	r0, .L30+2840
	bl	puts
	ldr	r0, .L30+2844
	bl	puts
	ldr	r0, .L30+2848
	bl	puts
	ldr	r0, .L30+2852
	bl	puts
	ldr	r0, .L30+2856
	bl	puts
	ldr	r0, .L30+2860
	bl	puts
	ldr	r0, .L30+2864
	bl	puts
	ldr	r0, .L30+2868
	bl	puts
	ldr	r0, .L30+2872
	bl	puts
	ldr	r0, .L30+2876
	bl	puts
	ldr	r0, .L30+2880
	bl	puts
	ldr	r0, .L30+2884
	bl	puts
	ldr	r0, .L30+2888
	bl	puts
	ldr	r0, .L30+2892
	bl	puts
	ldr	r0, .L30+2896
	bl	puts
	ldr	r0, .L30+2900
	bl	puts
	ldr	r0, .L30+2904
	bl	puts
	ldr	r0, .L30+2908
	bl	puts
	ldr	r0, .L30+2912
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+2916
	bl	puts
	ldr	r0, .L30+2920
	bl	puts
	ldr	r0, .L30+2924
	bl	puts
	ldr	r0, .L30+2928
	bl	puts
	ldr	r0, .L30+2932
	bl	puts
	ldr	r0, .L30+2936
	bl	puts
	ldr	r0, .L30+2940
	bl	puts
	ldr	r0, .L30+2944
	bl	puts
	ldr	r0, .L30+2948
	bl	puts
	ldr	r0, .L30+2952
	bl	puts
	ldr	r0, .L30+2956
	bl	puts
	ldr	r0, .L30+2960
	bl	puts
	ldr	r0, .L30+2964
	bl	puts
	ldr	r0, .L30+2968
	bl	puts
	ldr	r0, .L30+2972
	bl	puts
	ldr	r0, .L30+2976
	bl	puts
	ldr	r0, .L30+2980
	bl	puts
	ldr	r0, .L30+2984
	bl	puts
	ldr	r0, .L30+2988
	bl	puts
	ldr	r0, .L30+2992
	bl	puts
	ldr	r0, .L30+2996
	bl	puts
	ldr	r0, .L30+3000
	bl	puts
	ldr	r0, .L30+3004
	bl	puts
	ldr	r0, .L30+3008
	bl	puts
	ldr	r0, .L30+3012
	bl	puts
	ldr	r0, .L30+3016
	bl	puts
	ldr	r0, .L30+3020
	bl	puts
	ldr	r0, .L30+3024
	bl	puts
	ldr	r0, .L30+3028
	bl	puts
	ldr	r0, .L30+3032
	bl	puts
	ldr	r0, .L30+3036
	bl	puts
	ldr	r0, .L30+3040
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+3044
	bl	puts
	ldr	r0, .L30+3048
	bl	puts
	ldr	r0, .L30+3052
	bl	puts
	ldr	r0, .L30+3056
	bl	puts
	ldr	r0, .L30+3080
	bl	puts
	ldr	r0, .L30+3060
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+3064
	bl	puts
	ldr	r0, .L30+3068
	bl	puts
	ldr	r0, .L30+3072
	bl	puts
	ldr	r0, .L30+3076
	bl	puts
	ldr	r0, .L30+3080
	bl	puts
	ldr	r0, .L30+3084
	bl	puts
	ldr	r0, .L30+3088
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+3092
	bl	puts
	ldr	r0, .L30+3096
	bl	puts
	ldr	r0, .L30+3100
	bl	puts
	ldr	r0, .L30+3104
	bl	puts
	ldr	r0, .L30+3108
	bl	puts
	ldr	r0, .L30+3112
	bl	puts
	ldr	r0, .L30+3116
	bl	puts
	ldr	r0, .L30+3120
	bl	puts
	ldr	r0, .L30+3124
	bl	puts
	ldr	r0, .L30+3128
	bl	puts
	ldr	r0, .L30+3132
	bl	puts
	ldr	r0, .L30+3136
	bl	puts
	ldr	r0, .L30+3140
	bl	puts
	ldr	r0, .L30+3144
	bl	puts
	ldr	r0, .L30+3148
	bl	puts
	ldr	r0, .L30+3152
	bl	puts
	ldr	r0, .L30+3156
	bl	puts
	ldr	r0, .L30+3160
	bl	puts
	ldr	r0, .L30+3164
	bl	puts
	ldr	r0, .L30+3168
	bl	puts
	ldr	r0, .L30+3172
	bl	puts
	ldr	r0, .L30+3176
	bl	puts
	ldr	r0, .L30+3180
	bl	puts
	ldr	r0, .L30+3184
	bl	puts
	ldr	r0, .L30+3188
	bl	puts
	ldr	r0, .L30+3192
	bl	puts
	ldr	r0, .L30+3196
	bl	puts
	ldr	r0, .L30+3200
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+3204
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+3208
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+3212
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+3216
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L30+3220
	bl	puts
	ldr	r0, .L30+3224
	bl	puts
	ldr	r0, .L30+3228
	bl	puts
	ldr	r0, .L30+3232
	bl	puts
	ldr	r0, .L30+3236
	bl	puts
	ldr	r0, .L30+3240
	bl	puts
	ldr	r0, .L30+3244
	bl	puts
	ldr	r0, .L30+3248
	bl	puts
	ldr	r0, .L30+3252
	bl	puts
	ldr	r0, .L30+3256
	bl	puts
	ldr	r0, .L30+3260
	bl	puts
	ldr	r0, .L30+3264
	bl	puts
	ldr	r0, .L30+3268
	bl	puts
	ldr	r0, .L30+3272
	bl	puts
	ldr	r0, .L30+3276
	bl	puts
	ldr	r0, .L30+3280
	bl	puts
	ldr	r0, .L30+3284
	bl	puts
	ldr	r0, .L30+3288
	bl	puts
	ldr	r0, .L30+3292
	bl	puts
	ldr	r0, .L30+3296
	bl	puts
	ldr	r0, .L30+3300
	bl	puts
	ldr	r0, .L30+3304
	bl	puts
	ldr	r0, .L30+3308
	bl	puts
	ldr	r0, .L30+3312
	bl	puts
	ldr	r0, .L30+3316
	bl	puts
	ldr	r0, .L30+3320
	bl	puts
	ldr	r0, .L30+3324
	bl	puts
	ldr	r0, .L30+3328
	bl	puts
	mov	r0, #0
	bl	triexit
	nop
	pop	{fp, pc}
	.size	info, .-info
	.section	.rodata
	.align	2
.LC867:
	.ascii	"  Please report this bug to jrs@cs.berkeley.edu\000"
	.align	2
.LC868:
	.ascii	"  Include the message above, your input data set, a"
	.ascii	"nd the exact\000"
	.align	2
.LC869:
	.ascii	"    command line you used to run Triangle.\000"
	.text
	.align	2
	.global	internalerror
	.syntax unified
	.arm
	.fpu softvfp
	.type	internalerror, %function
internalerror:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L34
	bl	puts
	ldr	r0, .L34+4
	bl	puts
	ldr	r0, .L34+8
	bl	puts
	mov	r0, #1
	bl	triexit
	nop
	pop	{fp, pc}
.L35:
	.align	2
.L34:
	.word	.LC867
	.word	.LC868
	.word	.LC869
	.size	internalerror, .-internalerror
	.global	__aeabi_dcmple
	.section	.rodata
	.align	2
.LC870:
	.ascii	"Error:  Maximum area must be greater than zero.\000"
	.align	2
.LC871:
	.ascii	".node\000"
	.align	2
.LC872:
	.ascii	".poly\000"
	.align	2
.LC873:
	.ascii	".ele\000"
	.align	2
.LC874:
	.ascii	".area\000"
	.global	__aeabi_ddiv
	.global	__aeabi_dcmpeq
	.align	2
.LC875:
	.ascii	"Error:  You cannot use the -I switch when refining "
	.ascii	"a triangulation.\000"
	.align	2
.LC876:
	.ascii	"Warning:  weighted triangulations (-w, -W) are inco"
	.ascii	"mpatible\000"
	.align	2
.LC877:
	.ascii	"  with PSLGs (-p) and meshing (-q, -a, -u).  Weight"
	.ascii	"s ignored.\000"
	.align	2
.LC878:
	.ascii	"Warning:  -j and -N switches are somewhat incompati"
	.ascii	"ble.\000"
	.align	2
.LC879:
	.ascii	"  If any vertices are jettisoned, you will need the"
	.ascii	" output\000"
	.align	2
.LC880:
	.ascii	"  .node file to reconstruct the new node indices.\000"
	.align	2
.LC881:
	.ascii	".edge\000"
	.align	2
.LC882:
	.ascii	".v.node\000"
	.align	2
.LC883:
	.ascii	".v.edge\000"
	.align	2
.LC884:
	.ascii	".neigh\000"
	.align	2
.LC885:
	.ascii	".off\000"
	.align	2
.LC886:
	.ascii	".1.node\000"
	.align	2
.LC887:
	.ascii	".1.poly\000"
	.align	2
.LC888:
	.ascii	".1.ele\000"
	.align	2
.LC889:
	.ascii	".1.edge\000"
	.align	2
.LC890:
	.ascii	".1.v.node\000"
	.align	2
.LC891:
	.ascii	".1.v.edge\000"
	.align	2
.LC892:
	.ascii	".1.neigh\000"
	.align	2
.LC893:
	.ascii	".1.off\000"
	.align	2
.LC894:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	parsecommandline
	.syntax unified
	.arm
	.fpu softvfp
	.type	parsecommandline, %function
parsecommandline:
	@ args = 0, pretend = 0, frame = 2088
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #2080
	sub	sp, sp, #8
	str	r0, [fp, #-2088]
	str	r1, [fp, #-2092]
	str	r2, [fp, #-2096]
	ldr	r3, .L127+132
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-2096]
	str	r2, [r3]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #40]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #56]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #56]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #72]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #68]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #64]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #76]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #84]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #84]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #80]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #96]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #96]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #92]
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #100]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #104]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #108]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #128]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #88]
	ldr	r3, [fp, #-2096]
	mvn	r2, #0
	str	r2, [r3, #132]
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #124]
	ldr	r1, [fp, #-2096]
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #136]
	str	r3, [r1, #140]
	ldr	r1, [fp, #-2096]
	mov	r2, #0
	ldr	r3, .L127
	str	r2, [r1, #160]
	str	r3, [r1, #164]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #116]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #116]
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #112]
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	strb	r2, [r3, #168]
	mov	r3, #1
	str	r3, [fp, #-2076]
	b	.L37
.L94:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L38
	mov	r3, #1
	str	r3, [fp, #-2072]
	b	.L39
.L92:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #112
	bne	.L40
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3]
.L40:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #114
	bne	.L41
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #4]
.L41:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #113
	bne	.L42
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L43
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L44
.L43:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L45
.L44:
	mov	r3, #0
	str	r3, [fp, #-2068]
	b	.L46
.L48:
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	str	r3, [fp, #-2072]
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2068]
	add	r3, r3, r2
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-2068]
	add	r3, r3, #1
	str	r3, [fp, #-2068]
.L46:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L47
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L48
.L47:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L48
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2068]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, #0
	mov	r0, r3
	bl	strtod
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-2096]
	str	r2, [r1, #136]
	str	r3, [r1, #140]
	b	.L42
.L45:
	ldr	r1, [fp, #-2096]
	mov	r2, #0
	ldr	r3, .L127+4
	str	r2, [r1, #136]
	str	r3, [r1, #140]
.L42:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #97
	bne	.L49
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L50
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L51
.L50:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L52
.L51:
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #16]
	mov	r3, #0
	str	r3, [fp, #-2068]
	b	.L53
.L55:
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	str	r3, [fp, #-2072]
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2068]
	add	r3, r3, r2
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-2068]
	add	r3, r3, #1
	str	r3, [fp, #-2068]
.L53:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L54
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L55
.L54:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L55
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2068]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, #0
	mov	r0, r3
	bl	strtod
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-2096]
	str	r2, [r1, #160]
	str	r3, [r1, #164]
	ldr	r3, [fp, #-2096]
	add	r1, r3, #160
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L49
	ldr	r0, .L127+8
	bl	puts
	mov	r0, #1
	bl	triexit
	b	.L49
.L52:
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #12]
.L49:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #117
	bne	.L58
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #20]
.L58:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #65
	bne	.L59
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #24]
.L59:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #99
	bne	.L60
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #28]
.L60:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #119
	bne	.L61
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #32]
.L61:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #87
	bne	.L62
	ldr	r3, [fp, #-2096]
	mov	r2, #2
	str	r2, [r3, #32]
.L62:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #106
	bne	.L63
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #36]
.L63:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #122
	bne	.L64
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #40]
.L64:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #101
	bne	.L65
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #44]
.L65:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #118
	bne	.L66
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #48]
.L66:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #110
	bne	.L67
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #52]
.L67:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #103
	bne	.L68
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #56]
.L68:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L69
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #60]
.L69:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #80
	bne	.L70
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #64]
.L70:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #78
	bne	.L71
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #68]
.L71:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #69
	bne	.L72
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #72]
.L72:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #73
	bne	.L73
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #76]
.L73:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #79
	bne	.L74
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #80]
.L74:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #88
	bne	.L75
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #84]
.L75:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #111
	bne	.L76
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #50
	bne	.L76
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	str	r3, [fp, #-2072]
	ldr	r3, [fp, #-2096]
	mov	r2, #2
	str	r2, [r3, #124]
.L76:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #89
	bne	.L77
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #128]
	add	r2, r3, #1
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #128]
.L77:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #83
	bne	.L78
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #132]
	b	.L79
.L80:
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	str	r3, [fp, #-2072]
	ldr	r3, [fp, #-2096]
	ldr	r2, [r3, #132]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r1, r3
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	add	r2, r1, r3
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #132]
.L79:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L78
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L80
.L78:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #105
	bne	.L81
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #92]
.L81:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #70
	bne	.L82
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #96]
.L82:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #108
	bne	.L83
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #100]
.L83:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #115
	bne	.L84
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #104]
.L84:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #68
	beq	.L85
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #76
	bne	.L86
.L85:
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #88]
.L86:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #67
	bne	.L87
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #108]
.L87:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #81
	bne	.L88
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #112]
.L88:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #86
	bne	.L89
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #116]
	add	r2, r3, #1
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #116]
.L89:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #104
	beq	.L90
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #72
	beq	.L90
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #63
	bne	.L91
.L90:
	bl	info
.L91:
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	str	r3, [fp, #-2072]
.L39:
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L92
	b	.L93
.L128:
	.align	2
.L127:
	.word	-1074790400
	.word	1077149696
	.word	.LC870
	.word	2047
	.word	1413754136
	.word	1074340347
	.word	1080459264
	.word	1072693248
	.word	1717986918
	.word	1071539814
	.word	.LC875
	.word	.LC876
	.word	.LC877
	.word	.LC878
	.word	.LC879
	.word	.LC880
	.word	.LC886
	.word	.LC887
	.word	.LC888
	.word	.LC889
	.word	.LC890
	.word	.LC891
	.word	.LC892
	.word	.LC893
	.word	.LC881
	.word	.LC882
	.word	.LC883
	.word	.LC884
	.word	.LC885
	.word	.LC871
	.word	.LC872
	.word	.LC873
	.word	.LC874
	.word	.LC894
.L38:
	ldr	r3, [fp, #-2096]
	add	r0, r3, #168
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2092]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L127+12
	mov	r1, r3
	bl	strncpy
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	strb	r2, [r3, #2215]
.L93:
	ldr	r3, [fp, #-2076]
	add	r3, r3, #1
	str	r3, [fp, #-2076]
.L37:
	ldr	r2, [fp, #-2076]
	ldr	r3, [fp, #-2088]
	cmp	r2, r3
	blt	.L94
	ldr	r3, [fp, #-2096]
	ldrb	r3, [r3, #168]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L95
	bl	syntax
.L95:
	ldr	r3, [fp, #-2096]
	add	r3, r3, #168
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #5
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r3, r2, r3
	ldr	r1, .L127+116
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L96
	ldr	r3, [fp, #-2096]
	add	r3, r3, #168
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #5
	ldr	r2, [fp, #-2096]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #168]
.L96:
	ldr	r3, [fp, #-2096]
	add	r3, r3, #168
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #5
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r3, r2, r3
	ldr	r1, .L127+120
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L97
	ldr	r3, [fp, #-2096]
	add	r3, r3, #168
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #5
	ldr	r2, [fp, #-2096]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #168]
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3]
.L97:
	ldr	r3, [fp, #-2096]
	add	r3, r3, #168
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #4
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r3, r2, r3
	ldr	r1, .L127+124
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L98
	ldr	r3, [fp, #-2096]
	add	r3, r3, #168
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #4
	ldr	r2, [fp, #-2096]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #168]
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #4]
.L98:
	ldr	r3, [fp, #-2096]
	add	r3, r3, #168
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #5
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r3, r2, r3
	ldr	r1, .L127+128
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L99
	ldr	r3, [fp, #-2096]
	add	r3, r3, #168
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #5
	ldr	r2, [fp, #-2096]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #168]
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-2096]
	mov	r2, #1
	str	r2, [r3, #12]
.L99:
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L100
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L100
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L100
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L101
.L100:
	mov	r2, #1
	b	.L102
.L101:
	mov	r2, #0
.L102:
	ldr	r3, [fp, #-2096]
	str	r2, [r3, #120]
	ldr	r3, [fp, #-2096]
	add	r1, r3, #136
	ldmia	r1, {r0-r1}
	ldr	r2, .L127+16
	ldr	r3, .L127+20
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L127+24
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	cos
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-2096]
	str	r2, [r1, #144]
	str	r3, [r1, #148]
	ldr	r3, [fp, #-2096]
	add	r1, r3, #144
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L127+28
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L126
	ldr	r1, [fp, #-2096]
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #152]
	str	r3, [r1, #156]
	b	.L105
.L126:
	ldr	r3, [fp, #-2096]
	add	r1, r3, #144
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L127+28
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-2096]
	add	r3, r3, #144
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L127+28
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	ldr	r2, .L127+32
	ldr	r3, .L127+36
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-2096]
	str	r2, [r1, #152]
	str	r3, [r1, #156]
.L105:
	ldr	r3, [fp, #-2096]
	add	r1, r3, #144
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-2096]
	add	r3, r3, #144
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-2096]
	str	r2, [r1, #144]
	str	r3, [r1, #148]
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L106
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #76]
	cmp	r3, #0
	beq	.L106
	ldr	r0, .L127+40
	bl	puts
	mov	r0, #1
	bl	triexit
.L106:
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L107
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L107
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #12]
.L107:
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L108
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L109
.L108:
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #24]
.L109:
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L110
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L111
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L110
.L111:
	ldr	r3, [fp, #-2096]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L110
	ldr	r0, .L127+44
	bl	puts
	ldr	r0, .L127+48
	bl	puts
.L110:
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L112
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L112
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L112
	ldr	r0, .L127+52
	bl	puts
	ldr	r0, .L127+56
	bl	puts
	ldr	r0, .L127+60
	bl	printf
.L112:
	ldr	r3, [fp, #-2096]
	add	r3, r3, #4224
	add	r3, r3, #40
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #2208
	add	r3, r3, #8
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #6272
	add	r3, r3, #40
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	mov	r3, #0
	str	r3, [fp, #-2084]
	ldr	r3, [fp, #-2096]
	add	r2, r3, #168
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	mov	r3, #1
	str	r3, [fp, #-2072]
	b	.L113
.L115:
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2072]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L114
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	sub	r2, fp, #12
	add	r3, r2, r3
	ldrb	r3, [r3, #-2052]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L114
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	str	r3, [fp, #-2084]
.L114:
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	str	r3, [fp, #-2072]
.L113:
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2072]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L115
	mov	r3, #0
	str	r3, [fp, #-2080]
	ldr	r3, [fp, #-2084]
	cmp	r3, #0
	ble	.L116
	ldr	r3, [fp, #-2084]
	str	r3, [fp, #-2072]
.L119:
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2072]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L117
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2072]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L117
	ldr	r2, [fp, #-2080]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r1, r3
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2072]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	add	r3, r1, r3
	str	r3, [fp, #-2080]
	b	.L118
.L117:
	mov	r3, #0
	str	r3, [fp, #-2084]
.L118:
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	str	r3, [fp, #-2072]
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2072]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L119
.L116:
	ldr	r3, [fp, #-2096]
	ldr	r3, [r3, #76]
	cmp	r3, #0
	beq	.L120
	ldr	r3, [fp, #-2096]
	add	r3, r3, #8320
	add	r3, r3, #40
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #10368
	add	r3, r3, #40
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #14464
	add	r3, r3, #40
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #16384
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #18432
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #20480
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #22528
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #8320
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+116
	mov	r0, r3
	mov	r1, r2
	mov	r3, #6
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #10368
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+124
	mov	r0, r3
	mov	r1, r2
	mov	r3, #5
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #14464
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+96
	mov	r0, r3
	mov	r1, r2
	mov	r3, #6
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #16384
	add	r4, r4, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+100
	mov	r0, r3
	mov	r1, r2
	mov	r3, #8
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #18432
	add	r4, r4, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+104
	mov	r0, r3
	mov	r1, r2
	mov	r3, #8
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #20480
	add	r4, r4, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+108
	mov	r0, r3
	mov	r1, r2
	mov	r3, #7
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #22528
	add	r4, r4, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+112
	mov	r0, r3
	mov	r1, r2
	mov	r3, #5
	mov	r2, r3
	bl	memcpy
	b	.L121
.L120:
	ldr	r3, [fp, #-2084]
	cmp	r3, #0
	bne	.L122
	ldr	r3, [fp, #-2096]
	add	r3, r3, #8320
	add	r3, r3, #40
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #12416
	add	r3, r3, #40
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #10368
	add	r3, r3, #40
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #14464
	add	r3, r3, #40
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #16384
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #18432
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #20480
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #22528
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r2, r2, #168
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #8320
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+64
	mov	r0, r3
	mov	r1, r2
	mov	r3, #8
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #12416
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+68
	mov	r0, r3
	mov	r1, r2
	mov	r3, #8
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #10368
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+72
	mov	r0, r3
	mov	r1, r2
	mov	r3, #7
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #14464
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+76
	mov	r0, r3
	mov	r1, r2
	mov	r3, #8
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #16384
	add	r4, r4, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+80
	mov	r0, r3
	mov	r1, r2
	mov	r3, #10
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #18432
	add	r4, r4, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+84
	mov	r0, r3
	mov	r1, r2
	mov	r3, #10
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #20480
	add	r4, r4, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+88
	mov	r0, r3
	mov	r1, r2
	mov	r3, #9
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #22528
	add	r4, r4, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+92
	mov	r0, r3
	mov	r1, r2
	mov	r3, #7
	mov	r2, r3
	bl	memcpy
	b	.L121
.L122:
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2084]
	add	r3, r3, r2
	mov	r2, #37
	strb	r2, [r3]
	ldr	r3, [fp, #-2084]
	add	r3, r3, #1
	sub	r2, fp, #12
	add	r3, r2, r3
	mov	r2, #100
	strb	r2, [r3, #-2052]
	ldr	r3, [fp, #-2084]
	add	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #-2052]
	ldr	r3, [fp, #-2096]
	add	r3, r3, #8320
	add	r3, r3, #40
	ldr	r2, [fp, #-2080]
	add	r2, r2, #1
	sub	r1, fp, #2048
	sub	r1, r1, #12
	sub	r1, r1, #4
	mov	r0, r3
	bl	sprintf
	ldr	r3, [fp, #-2096]
	add	r3, r3, #12416
	add	r3, r3, #40
	ldr	r2, [fp, #-2096]
	add	r2, r2, #8320
	add	r2, r2, #40
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #10368
	add	r3, r3, #40
	ldr	r2, [fp, #-2096]
	add	r2, r2, #8320
	add	r2, r2, #40
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #14464
	add	r3, r3, #40
	ldr	r2, [fp, #-2096]
	add	r2, r2, #8320
	add	r2, r2, #40
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #16384
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r2, r2, #8320
	add	r2, r2, #40
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #18432
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r2, r2, #8320
	add	r2, r2, #40
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #20480
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r2, r2, #8320
	add	r2, r2, #40
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r3, r3, #22528
	add	r3, r3, #168
	ldr	r2, [fp, #-2096]
	add	r2, r2, #8320
	add	r2, r2, #40
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #8320
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+116
	mov	r0, r3
	mov	r1, r2
	mov	r3, #6
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #12416
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+120
	mov	r0, r3
	mov	r1, r2
	mov	r3, #6
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #10368
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+124
	mov	r0, r3
	mov	r1, r2
	mov	r3, #5
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #14464
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+96
	mov	r0, r3
	mov	r1, r2
	mov	r3, #6
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #16384
	add	r4, r4, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+100
	mov	r0, r3
	mov	r1, r2
	mov	r3, #8
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #18432
	add	r4, r4, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+104
	mov	r0, r3
	mov	r1, r2
	mov	r3, #8
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #20480
	add	r4, r4, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+108
	mov	r0, r3
	mov	r1, r2
	mov	r3, #7
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #22528
	add	r4, r4, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+112
	mov	r0, r3
	mov	r1, r2
	mov	r3, #5
	mov	r2, r3
	bl	memcpy
.L121:
	ldr	r3, [fp, #-2096]
	add	r4, r3, #168
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+116
	mov	r0, r3
	mov	r1, r2
	mov	r3, #6
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #4224
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+120
	mov	r0, r3
	mov	r1, r2
	mov	r3, #6
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #2208
	add	r4, r4, #8
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+124
	mov	r0, r3
	mov	r1, r2
	mov	r3, #5
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-2096]
	add	r4, r3, #6272
	add	r4, r4, #40
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L127+128
	mov	r0, r3
	mov	r1, r2
	mov	r3, #6
	mov	r2, r3
	bl	memcpy
	nop
	ldr	r3, .L127+132
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L123
	bl	__stack_chk_fail
.L123:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	parsecommandline, .-parsecommandline
	.section	.rodata
	.align	2
.LC895:
	.ascii	"triangle x%lx with orientation %d:\012\000"
	.align	2
.LC896:
	.ascii	"    [0] = Outer space\000"
	.align	2
.LC897:
	.ascii	"    [0] = x%lx  %d\012\000"
	.align	2
.LC898:
	.ascii	"    [1] = Outer space\000"
	.align	2
.LC899:
	.ascii	"    [1] = x%lx  %d\012\000"
	.align	2
.LC900:
	.ascii	"    [2] = Outer space\000"
	.align	2
.LC901:
	.ascii	"    [2] = x%lx  %d\012\000"
	.align	2
.LC902:
	.ascii	"    Origin[%d] = NULL\012\000"
	.align	2
.LC903:
	.ascii	"    Origin[%d] = x%lx  (%.12g, %.12g)\012\000"
	.align	2
.LC904:
	.ascii	"    Dest  [%d] = NULL\012\000"
	.align	2
.LC905:
	.ascii	"    Dest  [%d] = x%lx  (%.12g, %.12g)\012\000"
	.align	2
.LC906:
	.ascii	"    Apex  [%d] = NULL\012\000"
	.align	2
.LC907:
	.ascii	"    Apex  [%d] = x%lx  (%.12g, %.12g)\012\000"
	.align	2
.LC908:
	.ascii	"    [6] = x%lx  %d\012\000"
	.align	2
.LC909:
	.ascii	"    [7] = x%lx  %d\012\000"
	.align	2
.LC910:
	.ascii	"    [8] = x%lx  %d\012\000"
	.align	2
.LC911:
	.ascii	"    Area constraint:  %.4g\012\000"
	.text
	.align	2
	.global	printtriangle
	.syntax unified
	.arm
	.fpu softvfp
	.type	printtriangle, %function
printtriangle:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r0, .L147
	bl	printf
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r3, [r3]
	and	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L130
	ldr	r0, .L147+4
	bl	puts
	b	.L131
.L130:
	ldr	r3, [fp, #-20]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r0, .L147+8
	bl	printf
.L131:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r3, [r3]
	and	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L132
	ldr	r0, .L147+12
	bl	puts
	b	.L133
.L132:
	ldr	r3, [fp, #-20]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r0, .L147+16
	bl	printf
.L133:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r3, [r3]
	and	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	eor	r3, r3, r2
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L134
	ldr	r0, .L147+20
	bl	puts
	b	.L135
.L134:
	ldr	r3, [fp, #-20]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r0, .L147+24
	bl	printf
.L135:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r1, .L147+28
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L136
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r1, r3, #1
	ldr	r3, .L147+32
	smull	r0, r2, r3, r1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r2, r1, r3
	add	r3, r2, #3
	mov	r1, r3
	ldr	r0, .L147+36
	bl	printf
	b	.L137
.L136:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r1, r3, #1
	ldr	r3, .L147+32
	smull	r0, r2, r3, r1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r2, r1, r3
	add	ip, r2, #3
	ldr	lr, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-24]
	add	r1, r1, #8
	ldmia	r1, {r0-r1}
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, lr
	mov	r1, ip
	ldr	r0, .L147+40
	bl	printf
.L137:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r1, .L147+44
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L138
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r1, r3, #2
	ldr	r3, .L147+32
	smull	r0, r2, r3, r1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r2, r1, r3
	add	r3, r2, #3
	mov	r1, r3
	ldr	r0, .L147+48
	bl	printf
	b	.L139
.L138:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r1, r3, #2
	ldr	r3, .L147+32
	smull	r0, r2, r3, r1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r2, r1, r3
	add	ip, r2, #3
	ldr	lr, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-24]
	add	r1, r1, #8
	ldmia	r1, {r0-r1}
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, lr
	mov	r1, ip
	ldr	r0, .L147+52
	bl	printf
.L139:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L140
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	mov	r1, r3
	ldr	r0, .L147+56
	bl	printf
	b	.L141
.L140:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	ip, r3, #3
	ldr	lr, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-24]
	add	r1, r1, #8
	ldmia	r1, {r0-r1}
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, lr
	mov	r1, ip
	ldr	r0, .L147+60
	bl	printf
.L141:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #120]
	cmp	r3, #0
	beq	.L142
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #24
	ldr	r3, [r3]
	and	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #24
	ldr	r3, [r3]
	bic	r3, r3, #3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L143
	ldr	r3, [fp, #-12]
	mov	r1, r3
	ldr	r3, [fp, #-8]
	mov	r2, r3
	ldr	r0, .L147+64
	bl	printf
.L143:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #28
	ldr	r3, [r3]
	and	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #28
	ldr	r3, [r3]
	bic	r3, r3, #3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L144
	ldr	r3, [fp, #-12]
	mov	r1, r3
	ldr	r3, [fp, #-8]
	mov	r2, r3
	ldr	r0, .L147+68
	bl	printf
.L144:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #32
	ldr	r3, [r3]
	and	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #32
	ldr	r3, [r3]
	bic	r3, r3, #3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L142
	ldr	r3, [fp, #-12]
	mov	r1, r3
	ldr	r3, [fp, #-8]
	mov	r2, r3
	ldr	r0, .L147+72
	bl	printf
.L142:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L146
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r0, .L147+76
	bl	printf
.L146:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L148:
	.align	2
.L147:
	.word	.LC895
	.word	.LC896
	.word	.LC897
	.word	.LC898
	.word	.LC899
	.word	.LC900
	.word	.LC901
	.word	plus1mod3
	.word	1431655766
	.word	.LC902
	.word	.LC903
	.word	minus1mod3
	.word	.LC904
	.word	.LC905
	.word	.LC906
	.word	.LC907
	.word	.LC908
	.word	.LC909
	.word	.LC910
	.word	.LC911
	.size	printtriangle, .-printtriangle
	.section	.rodata
	.align	2
.LC912:
	.ascii	"subsegment x%lx with orientation %d and mark %d:\012"
	.ascii	"\000"
	.align	2
.LC913:
	.ascii	"    [0] = No subsegment\000"
	.align	2
.LC914:
	.ascii	"    [1] = No subsegment\000"
	.align	2
.LC915:
	.ascii	"    [6] = Outer space\000"
	.align	2
.LC916:
	.ascii	"    [7] = Outer space\000"
	.align	2
.LC917:
	.ascii	"    Segment origin[%d] = NULL\012\000"
	.align	2
.LC918:
	.ascii	"    Segment origin[%d] = x%lx  (%.12g, %.12g)\012\000"
	.align	2
.LC919:
	.ascii	"    Segment dest  [%d] = NULL\012\000"
	.align	2
.LC920:
	.ascii	"    Segment dest  [%d] = x%lx  (%.12g, %.12g)\012\000"
	.text
	.align	2
	.global	printsubseg
	.syntax unified
	.arm
	.fpu softvfp
	.type	printsubseg, %function
printsubseg:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #32
	ldr	r3, [r3]
	ldr	r0, .L167
	bl	printf
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r3, [r3]
	and	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r3, [r3]
	bic	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L150
	ldr	r0, .L167+4
	bl	puts
	b	.L151
.L150:
	ldr	r3, [fp, #-20]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r0, .L167+8
	bl	printf
.L151:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r3, [r3]
	and	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r3, [r3]
	bic	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L152
	ldr	r0, .L167+12
	bl	puts
	b	.L153
.L152:
	ldr	r3, [fp, #-20]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r0, .L167+16
	bl	printf
.L153:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L154
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r3, r3, #2
	mov	r1, r3
	ldr	r0, .L167+20
	bl	printf
	b	.L155
.L154:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	ip, r3, #2
	ldr	lr, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-24]
	add	r1, r1, #8
	ldmia	r1, {r0-r1}
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, lr
	mov	r1, ip
	ldr	r0, .L167+24
	bl	printf
.L155:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	rsb	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L156
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	rsb	r3, r3, #3
	mov	r1, r3
	ldr	r0, .L167+28
	bl	printf
	b	.L157
.L156:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	rsb	ip, r3, #3
	ldr	lr, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-24]
	add	r1, r1, #8
	ldmia	r1, {r0-r1}
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, lr
	mov	r1, ip
	ldr	r0, .L167+32
	bl	printf
.L157:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #24
	ldr	r3, [r3]
	and	r3, r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #24
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	eor	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L158
	ldr	r0, .L167+36
	bl	puts
	b	.L159
.L158:
	ldr	r3, [fp, #-12]
	mov	r1, r3
	ldr	r3, [fp, #-8]
	mov	r2, r3
	ldr	r0, .L167+40
	bl	printf
.L159:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #28
	ldr	r3, [r3]
	and	r3, r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #28
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	eor	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L160
	ldr	r0, .L167+44
	bl	puts
	b	.L161
.L160:
	ldr	r3, [fp, #-12]
	mov	r1, r3
	ldr	r3, [fp, #-8]
	mov	r2, r3
	ldr	r0, .L167+48
	bl	printf
.L161:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r3, r3, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L162
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L167+52
	bl	printf
	b	.L163
.L162:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	ip, r3, #4
	ldr	lr, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-24]
	add	r1, r1, #8
	ldmia	r1, {r0-r1}
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, lr
	mov	r1, ip
	ldr	r0, .L167+56
	bl	printf
.L163:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	rsb	r3, r3, #5
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L164
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	rsb	r3, r3, #5
	mov	r1, r3
	ldr	r0, .L167+60
	bl	printf
	b	.L166
.L164:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	rsb	ip, r3, #5
	ldr	lr, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-24]
	add	r1, r1, #8
	ldmia	r1, {r0-r1}
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, lr
	mov	r1, ip
	ldr	r0, .L167+64
	bl	printf
.L166:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L168:
	.align	2
.L167:
	.word	.LC912
	.word	.LC913
	.word	.LC897
	.word	.LC914
	.word	.LC899
	.word	.LC902
	.word	.LC903
	.word	.LC904
	.word	.LC905
	.word	.LC915
	.word	.LC908
	.word	.LC916
	.word	.LC909
	.word	.LC917
	.word	.LC918
	.word	.LC919
	.word	.LC920
	.size	printsubseg, .-printsubseg
	.align	2
	.global	poolzero
	.syntax unified
	.arm
	.fpu softvfp
	.type	poolzero, %function
poolzero:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #40]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #44]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #48]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #52]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	poolzero, .-poolzero
	.global	__aeabi_uidivmod
	.align	2
	.global	poolrestart
	.syntax unified
	.arm
	.fpu softvfp
	.type	poolrestart, %function
poolrestart:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #40]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #44]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r4, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	sub	r3, r4, r3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #12]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	poolrestart, .-poolrestart
	.global	__aeabi_idiv
	.align	2
	.global	poolinit
	.syntax unified
	.arm
	.fpu softvfp
	.type	poolinit, %function
poolinit:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #4]
	cmp	r3, #4
	bls	.L172
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #4]
	str	r2, [r3, #24]
	b	.L173
.L172:
	ldr	r3, [fp, #-8]
	mov	r2, #4
	str	r2, [r3, #24]
.L173:
	ldr	r3, [fp, #-12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idiv
	mov	r3, r0
	add	r3, r3, #1
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #24]
	mul	r2, r3, r2
	ldr	r3, [fp, #-8]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L174
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #36]
	b	.L175
.L174:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #36]
.L175:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #28]
	mul	r3, r2, r3
	add	r2, r3, #4
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	add	r3, r2, r3
	mov	r0, r3
	bl	trimalloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, [fp, #-8]
	bl	poolrestart
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	poolinit, .-poolinit
	.align	2
	.global	pooldeinit
	.syntax unified
	.arm
	.fpu softvfp
	.type	pooldeinit, %function
pooldeinit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	b	.L177
.L178:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	trifree
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
.L177:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L178
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	pooldeinit, .-pooldeinit
	.align	2
	.global	poolalloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	poolalloc, %function
poolalloc:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L180
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #12]
	b	.L181
.L180:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	bne	.L182
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L183
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #28]
	mul	r3, r2, r3
	add	r2, r3, #4
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	add	r3, r2, r3
	mov	r0, r3
	bl	trimalloc
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3]
.L183:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r4, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	sub	r3, r4, r3
	mov	r2, r3
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #48]
.L182:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #28]
	add	r2, r3, r2
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #44]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #44]
.L181:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #40]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	poolalloc, .-poolalloc
	.align	2
	.global	pooldealloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	pooldealloc, %function
pooldealloc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #40]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #40]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	pooldealloc, .-pooldealloc
	.align	2
	.global	traversalinit
	.syntax unified
	.arm
	.fpu softvfp
	.type	traversalinit, %function
traversalinit:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r4, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	sub	r3, r4, r3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #52]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	traversalinit, .-traversalinit
	.align	2
	.global	traverse
	.syntax unified
	.arm
	.fpu softvfp
	.type	traverse, %function
traverse:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	bne	.L188
	mov	r3, #0
	b	.L189
.L188:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	bne	.L190
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	add	r3, r3, #4
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r4, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	sub	r3, r4, r3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #52]
.L190:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #28]
	add	r2, r3, r2
	ldr	r3, [fp, #-24]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-16]
.L189:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	traverse, .-traverse
	.align	2
	.global	dummyinit
	.syntax unified
	.arm
	.fpu softvfp
	.type	dummyinit, %function
dummyinit:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	mov	r0, r3
	bl	trimalloc
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	str	r2, [r3, #620]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #620]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r4, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	sub	r3, r4, r3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	str	r2, [r3, #616]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	ldr	r2, [fp, #-24]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	add	r3, r3, #4
	ldr	r2, [fp, #-24]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	add	r3, r3, #8
	ldr	r2, [fp, #-24]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	add	r3, r3, #12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	add	r3, r3, #16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	add	r3, r3, #20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #120]
	cmp	r3, #0
	beq	.L193
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r0, r3
	bl	trimalloc
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	str	r2, [r3, #628]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #628]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #80]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r4, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #80]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	sub	r3, r4, r3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	str	r2, [r3, #624]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	ldr	r2, [fp, #-24]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	add	r3, r3, #4
	ldr	r2, [fp, #-24]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	add	r3, r3, #8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	add	r3, r3, #12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	add	r3, r3, #16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	add	r3, r3, #20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	add	r3, r3, #24
	ldr	r2, [fp, #-24]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	add	r3, r3, #28
	ldr	r2, [fp, #-24]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	add	r3, r3, #32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	add	r3, r3, #24
	ldr	r2, [fp, #-24]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	add	r3, r3, #28
	ldr	r2, [fp, #-24]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	add	r3, r3, #32
	ldr	r2, [fp, #-24]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
.L193:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	dummyinit, .-dummyinit
	.align	2
	.global	initializevertexpool
	.syntax unified
	.arm
	.fpu softvfp
	.type	initializevertexpool, %function
initializevertexpool:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r2, [r3, #524]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	add	r3, r2, r3
	lsl	r3, r3, #3
	add	r3, r3, #3
	lsr	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	str	r2, [r3, #544]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #2
	lsl	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L195
	ldr	r3, [fp, #-8]
	add	r3, r3, #3
	lsr	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	str	r2, [r3, #548]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #548]
	add	r3, r3, #1
	lsl	r3, r3, #2
	str	r3, [fp, #-8]
.L195:
	ldr	r3, [fp, #-16]
	add	r0, r3, #112
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	ldr	r2, .L196
	cmp	r3, r2
	movge	r3, r3
	movlt	r3, r2
	mov	r2, #8
	str	r2, [sp]
	ldr	r2, .L196
	ldr	r1, [fp, #-8]
	bl	poolinit
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L197:
	.align	2
.L196:
	.word	4092
	.size	initializevertexpool, .-initializevertexpool
	.align	2
	.global	initializetrisubpools
	.syntax unified
	.arm
	.fpu softvfp
	.type	initializetrisubpools, %function
initializetrisubpools:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #120]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #6
	ldr	r2, [fp, #-16]
	add	r2, r2, #49152
	str	r3, [r2, #552]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #124]
	add	r3, r3, #1
	ldr	r2, [fp, #-20]
	ldr	r2, [r2, #124]
	add	r2, r2, #2
	mul	r3, r2, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #552]
	sub	r3, r3, #3
	add	r3, r2, r3
	lsl	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #7
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	str	r2, [r3, #556]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r2, [r3, #556]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #532]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #24]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	add	r2, r2, #49152
	str	r3, [r2, #560]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L199
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	add	r3, r3, #1
	lsl	r3, r3, #3
	str	r3, [fp, #-8]
	b	.L200
.L199:
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r2, [r3, #532]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #24]
	add	r3, r2, r3
	cmp	r3, #0
	ble	.L200
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	str	r3, [fp, #-8]
.L200:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	bne	.L201
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L202
.L201:
	ldr	r3, [fp, #-8]
	cmp	r3, #27
	bhi	.L202
	mov	r3, #28
	str	r3, [fp, #-8]
.L202:
	ldr	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	sub	r3, r3, #1
	lsl	r3, r3, #1
	ldr	r2, .L206
	cmp	r3, r2
	movge	r3, r3
	movlt	r3, r2
	mov	r2, #4
	str	r2, [sp]
	ldr	r2, .L206
	ldr	r1, [fp, #-8]
	bl	poolinit
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #120]
	cmp	r3, #0
	beq	.L203
	ldr	r3, [fp, #-16]
	add	r0, r3, #56
	mov	r3, #4
	str	r3, [sp]
	mov	r3, #508
	mov	r2, #508
	mov	r1, #36
	bl	poolinit
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #84]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	dummyinit
	b	.L205
.L203:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #28]
	mov	r3, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	dummyinit
.L205:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L207:
	.align	2
.L206:
	.word	4092
	.size	initializetrisubpools, .-initializetrisubpools
	.align	2
	.global	triangledealloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	triangledealloc, %function
triangledealloc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	pooldealloc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	triangledealloc, .-triangledealloc
	.align	2
	.global	triangletraverse
	.syntax unified
	.arm
	.fpu softvfp
	.type	triangletraverse, %function
triangletraverse:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
.L212:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	traverse
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L210
	mov	r3, #0
	b	.L211
.L210:
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L212
	ldr	r3, [fp, #-8]
.L211:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	triangletraverse, .-triangletraverse
	.align	2
	.global	subsegdealloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	subsegdealloc, %function
subsegdealloc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #56
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	pooldealloc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	subsegdealloc, .-subsegdealloc
	.align	2
	.global	subsegtraverse
	.syntax unified
	.arm
	.fpu softvfp
	.type	subsegtraverse, %function
subsegtraverse:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
.L217:
	ldr	r3, [fp, #-16]
	add	r3, r3, #56
	mov	r0, r3
	bl	traverse
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L215
	mov	r3, #0
	b	.L216
.L215:
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L217
	ldr	r3, [fp, #-8]
.L216:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	subsegtraverse, .-subsegtraverse
	.align	2
	.global	vertexdealloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	vertexdealloc, %function
vertexdealloc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, .L219
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #112
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	pooldealloc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L220:
	.align	2
.L219:
	.word	-32768
	.size	vertexdealloc, .-vertexdealloc
	.align	2
	.global	vertextraverse
	.syntax unified
	.arm
	.fpu softvfp
	.type	vertextraverse, %function
vertextraverse:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
.L224:
	ldr	r3, [fp, #-16]
	add	r3, r3, #112
	mov	r0, r3
	bl	traverse
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L222
	mov	r3, #0
	b	.L223
.L222:
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmn	r3, #32768
	beq	.L224
	ldr	r3, [fp, #-8]
.L223:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	vertextraverse, .-vertextraverse
	.align	2
	.global	badsubsegdealloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	badsubsegdealloc, %function
badsubsegdealloc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	add	r3, r3, #224
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	pooldealloc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	badsubsegdealloc, .-badsubsegdealloc
	.align	2
	.global	badsubsegtraverse
	.syntax unified
	.arm
	.fpu softvfp
	.type	badsubsegtraverse, %function
badsubsegtraverse:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
.L229:
	ldr	r3, [fp, #-16]
	add	r3, r3, #224
	mov	r0, r3
	bl	traverse
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L227
	mov	r3, #0
	b	.L228
.L227:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L229
	ldr	r3, [fp, #-8]
.L228:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	badsubsegtraverse, .-badsubsegtraverse
	.align	2
	.global	getvertex
	.syntax unified
	.arm
	.fpu softvfp
	.type	getvertex, %function
getvertex:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #112]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #148]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L231
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #148]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	b	.L232
.L233:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #144]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
.L232:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #144]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bge	.L233
.L231:
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #136]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r4, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #136]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	sub	r3, r4, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #140]
	ldr	r1, [fp, #-40]
	ldr	r2, [fp, #-24]
	sub	r2, r1, r2
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	getvertex, .-getvertex
	.align	2
	.global	triangledeinit
	.syntax unified
	.arm
	.fpu softvfp
	.type	triangledeinit, %function
triangledeinit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	bl	pooldeinit
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #620]
	mov	r0, r3
	bl	trifree
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #120]
	cmp	r3, #0
	beq	.L236
	ldr	r3, [fp, #-8]
	add	r3, r3, #56
	mov	r0, r3
	bl	pooldeinit
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #628]
	mov	r0, r3
	bl	trifree
.L236:
	ldr	r3, [fp, #-8]
	add	r3, r3, #112
	mov	r0, r3
	bl	pooldeinit
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L239
	ldr	r3, [fp, #-8]
	add	r3, r3, #224
	mov	r0, r3
	bl	pooldeinit
	ldr	r3, [fp, #-12]
	add	r1, r3, #136
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L238
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L238
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L238
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L239
.L238:
	ldr	r3, [fp, #-8]
	add	r3, r3, #280
	mov	r0, r3
	bl	pooldeinit
	ldr	r3, [fp, #-8]
	add	r3, r3, #336
	mov	r0, r3
	bl	pooldeinit
.L239:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	triangledeinit, .-triangledeinit
	.align	2
	.global	maketriangle
	.syntax unified
	.arm
	.fpu softvfp
	.type	maketriangle, %function
maketriangle:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	poolalloc
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, [fp, #-16]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r2, [fp, #-16]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #120]
	cmp	r3, #0
	beq	.L241
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #24
	ldr	r2, [fp, #-16]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #28
	ldr	r2, [fp, #-16]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #32
	ldr	r2, [fp, #-16]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
.L241:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L242
.L243:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r1, r2, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L242:
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #532]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L243
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L244
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r1, r2, r3
	mov	r2, #0
	ldr	r3, .L245
	stm	r1, {r2-r3}
.L244:
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #4]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L246:
	.align	2
.L245:
	.word	-1074790400
	.size	maketriangle, .-maketriangle
	.align	2
	.global	makesubseg
	.syntax unified
	.arm
	.fpu softvfp
	.type	makesubseg, %function
makesubseg:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #56
	mov	r0, r3
	bl	poolalloc
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, [fp, #-8]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r3, r3, #8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r3, r3, #12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r3, r3, #16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r3, r3, #20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r3, r3, #24
	ldr	r2, [fp, #-8]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r3, r3, #28
	ldr	r2, [fp, #-8]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r3, r3, #32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #4]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	makesubseg, .-makesubseg
	.align	2
	.global	exactinit
	.syntax unified
	.arm
	.fpu softvfp
	.type	exactinit, %function
exactinit:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	mov	r3, #1
	str	r3, [fp, #-32]
	mov	r2, #0
	ldr	r3, .L254
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r1, .L254+4
	mov	r2, #0
	ldr	r3, .L254+8
	stm	r1, {r2-r3}
	ldr	r1, .L254+12
	mov	r2, #0
	ldr	r3, .L254+8
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L254+8
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L252:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, .L254+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+4
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L249
	ldr	r3, .L254+12
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+12
	stm	r1, {r2-r3}
.L249:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-32]
	ldr	r3, .L254+4
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L254+8
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r2, #0
	ldr	r3, .L254+8
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L250
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L252
.L250:
	ldr	r3, .L254+12
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L254+8
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+12
	stm	r1, {r2-r3}
	ldr	r3, .L254+4
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L254+16
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L254+20
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+24
	stm	r1, {r2-r3}
	ldr	r3, .L254+4
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L254+28
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L254+20
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+32
	stm	r1, {r2-r3}
	ldr	r3, .L254+4
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L254+36
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #1073741824
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+40
	stm	r1, {r2-r3}
	ldr	r3, .L254+4
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L254+44
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L254+48
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+52
	stm	r1, {r2-r3}
	ldr	r3, .L254+4
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L254+56
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L254+60
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+64
	stm	r1, {r2-r3}
	ldr	r3, .L254+4
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L254+68
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L254+72
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+76
	stm	r1, {r2-r3}
	ldr	r3, .L254+4
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L254+80
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L254+84
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+88
	stm	r1, {r2-r3}
	ldr	r3, .L254+4
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L254+92
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L254+96
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+100
	stm	r1, {r2-r3}
	ldr	r3, .L254+4
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L254+104
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L254+20
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+108
	stm	r1, {r2-r3}
	ldr	r3, .L254+4
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L254+112
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L254+116
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L254+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L254+120
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L255:
	.align	2
.L254:
	.word	1071644672
	.word	epsilon
	.word	1072693248
	.word	splitter
	.word	1075838976
	.word	1074266112
	.word	resulterrbound
	.word	1076887552
	.word	ccwerrboundA
	.word	1076363264
	.word	ccwerrboundB
	.word	1078984704
	.word	1075970048
	.word	ccwerrboundC
	.word	1079508992
	.word	1076101120
	.word	iccerrboundA
	.word	1078460416
	.word	1074790400
	.word	iccerrboundB
	.word	1082261504
	.word	1078329344
	.word	iccerrboundC
	.word	1078722560
	.word	1075576832
	.word	o3derrboundA
	.word	1077673984
	.word	o3derrboundB
	.word	1081212928
	.word	1077542912
	.word	o3derrboundC
	.size	exactinit, .-exactinit
	.align	2
	.global	fast_expansion_sum_zeroelim
	.syntax unified
	.arm
	.fpu softvfp
	.type	fast_expansion_sum_zeroelim, %function
fast_expansion_sum_zeroelim:
	@ args = 4, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #116
	str	r0, [fp, #-128]
	str	r1, [fp, #-132]
	str	r2, [fp, #-136]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-132]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-140]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	str	r3, [fp, #-120]
	mov	r3, #1
	mov	r10, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L257
	mov	r3, #0
	mov	r10, r3
.L257:
	and	r3, r10, #255
	eor	r3, r3, #1
	and	r10, r3, #255
	ldr	r8, [fp, #-84]
	ldr	r3, [fp, #-80]
	eor	r9, r3, #-2147483648
	mov	r3, #1
	strb	r3, [fp, #-144]
	mov	r2, r8
	mov	r3, r9
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L258
	mov	r3, #0
	strb	r3, [fp, #-144]
.L258:
	ldrb	r3, [fp, #-144]
	and	r3, r3, #255
	eor	r3, r3, r10
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L259
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	b	.L260
.L259:
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
.L260:
	mov	r3, #0
	str	r3, [fp, #-112]
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-128]
	cmp	r2, r3
	bge	.L275
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	bge	.L275
	mov	r3, #1
	mov	r8, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L262
	mov	r3, #0
	mov	r8, r3
.L262:
	and	r3, r8, #255
	eor	r3, r3, #1
	and	r8, r3, #255
	ldr	r6, [fp, #-84]
	ldr	r3, [fp, #-80]
	eor	r7, r3, #-2147483648
	mov	r3, #1
	mov	r9, r3
	mov	r2, r6
	mov	r3, r7
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L263
	mov	r3, #0
	mov	r9, r3
.L263:
	and	r3, r9, #255
	eor	r3, r3, r8
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L264
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	b	.L265
.L264:
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
.L265:
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L266
	ldr	r3, [fp, #-112]
	add	r2, r3, #1
	str	r2, [fp, #-112]
	lsl	r3, r3, #3
	ldr	r2, [fp, #4]
	add	r1, r2, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L266:
	b	.L268
.L274:
	mov	r3, #1
	mov	r6, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L269
	mov	r3, #0
	mov	r6, r3
.L269:
	and	r3, r6, #255
	eor	r3, r3, #1
	and	r6, r3, #255
	ldr	r4, [fp, #-84]
	ldr	r3, [fp, #-80]
	eor	r5, r3, #-2147483648
	mov	r3, #1
	mov	r7, r3
	mov	r2, r4
	mov	r3, r5
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L270
	mov	r3, #0
	mov	r7, r3
.L270:
	and	r3, r7, #255
	eor	r3, r3, r6
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L271
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	b	.L272
.L271:
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
.L272:
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L285
	b	.L268
.L285:
	ldr	r3, [fp, #-112]
	add	r2, r3, #1
	str	r2, [fp, #-112]
	lsl	r3, r3, #3
	ldr	r2, [fp, #4]
	add	r1, r2, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L268:
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-128]
	cmp	r2, r3
	bge	.L275
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	blt	.L274
	b	.L275
.L277:
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L286
	b	.L275
.L286:
	ldr	r3, [fp, #-112]
	add	r2, r3, #1
	str	r2, [fp, #-112]
	lsl	r3, r3, #3
	ldr	r2, [fp, #4]
	add	r1, r2, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L275:
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-128]
	cmp	r2, r3
	blt	.L277
	b	.L278
.L280:
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L287
	b	.L278
.L287:
	ldr	r3, [fp, #-112]
	add	r2, r3, #1
	str	r2, [fp, #-112]
	lsl	r3, r3, #3
	ldr	r2, [fp, #4]
	add	r1, r2, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L278:
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	blt	.L280
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L281
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	bne	.L282
.L281:
	ldr	r3, [fp, #-112]
	add	r2, r3, #1
	str	r2, [fp, #-112]
	lsl	r3, r3, #3
	ldr	r2, [fp, #4]
	add	r1, r2, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L282:
	ldr	r3, [fp, #-112]
	mov	r0, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
	.size	fast_expansion_sum_zeroelim, .-fast_expansion_sum_zeroelim
	.align	2
	.global	scale_expansion_zeroelim
	.syntax unified
	.arm
	.fpu softvfp
	.type	scale_expansion_zeroelim, %function
scale_expansion_zeroelim:
	@ args = 4, pretend = 0, frame = 176
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #176
	str	r0, [fp, #-168]
	str	r1, [fp, #-172]
	str	r2, [fp, #-180]
	str	r3, [fp, #-176]
	ldr	r3, .L303
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-172]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-172]
	ldmia	r3, {r0-r1}
	ldr	r3, .L303
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-172]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-172]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-160]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L289
	ldr	r3, [fp, #-160]
	add	r2, r3, #1
	str	r2, [fp, #-160]
	lsl	r3, r3, #3
	ldr	r2, [fp, #4]
	add	r1, r2, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L289:
	mov	r3, #1
	str	r3, [fp, #-164]
	b	.L291
.L296:
	ldr	r3, [fp, #-164]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-172]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, .L303
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L292
	ldr	r3, [fp, #-160]
	add	r2, r3, #1
	str	r2, [fp, #-160]
	lsl	r3, r3, #3
	ldr	r2, [fp, #4]
	add	r1, r2, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L292:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L294
	ldr	r3, [fp, #-160]
	add	r2, r3, #1
	str	r2, [fp, #-160]
	lsl	r3, r3, #3
	ldr	r2, [fp, #4]
	add	r1, r2, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L294:
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	str	r3, [fp, #-164]
.L291:
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-168]
	cmp	r2, r3
	blt	.L296
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L297
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	bne	.L298
.L297:
	ldr	r3, [fp, #-160]
	add	r2, r3, #1
	str	r2, [fp, #-160]
	lsl	r3, r3, #3
	ldr	r2, [fp, #4]
	add	r1, r2, r3
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L298:
	ldr	r3, [fp, #-160]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L304:
	.align	2
.L303:
	.word	splitter
	.size	scale_expansion_zeroelim, .-scale_expansion_zeroelim
	.align	2
	.global	estimate
	.syntax unified
	.arm
	.fpu softvfp
	.type	estimate, %function
estimate:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L306
.L307:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L306:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L307
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	estimate, .-estimate
	.global	__aeabi_dcmpge
	.section	.rodata
	.align	2
.LC921:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	counterclockwiseadapt
	.syntax unified
	.arm
	.fpu softvfp
	.type	counterclockwiseadapt, %function
counterclockwiseadapt:
	@ args = 8, pretend = 0, frame = 680
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #688
	str	r0, [fp, #-696]
	str	r1, [fp, #-700]
	str	r2, [fp, #-704]
	ldr	r3, .L335
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	ldr	r3, [fp, #-696]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-704]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-676]
	str	r3, [fp, #-672]
	ldr	r3, [fp, #-700]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-704]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-668]
	str	r3, [fp, #-664]
	ldr	r3, [fp, #-696]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-704]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-660]
	str	r3, [fp, #-656]
	ldr	r3, [fp, #-700]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-704]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-652]
	str	r3, [fp, #-648]
	sub	r3, fp, #652
	ldmia	r3, {r2-r3}
	sub	r1, fp, #676
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-644]
	str	r3, [fp, #-640]
	ldr	r3, .L335+16
	ldmia	r3, {r2-r3}
	sub	r1, fp, #676
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #676
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-620]
	str	r3, [fp, #-616]
	sub	r3, fp, #620
	ldmia	r3, {r2-r3}
	sub	r1, fp, #676
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	ldr	r3, .L335+16
	ldmia	r3, {r2-r3}
	sub	r1, fp, #652
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #652
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #652
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-596]
	str	r3, [fp, #-592]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #644
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-588]
	str	r3, [fp, #-584]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #588
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-580]
	str	r3, [fp, #-576]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #580
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #572
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-564]
	str	r3, [fp, #-560]
	sub	r3, fp, #668
	ldmia	r3, {r2-r3}
	sub	r1, fp, #660
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-556]
	str	r3, [fp, #-552]
	ldr	r3, .L335+16
	ldmia	r3, {r2-r3}
	sub	r1, fp, #660
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #660
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-620]
	str	r3, [fp, #-616]
	sub	r3, fp, #620
	ldmia	r3, {r2-r3}
	sub	r1, fp, #660
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	ldr	r3, .L335+16
	ldmia	r3, {r2-r3}
	sub	r1, fp, #668
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #668
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #668
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-596]
	str	r3, [fp, #-592]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #556
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-588]
	str	r3, [fp, #-584]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #588
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-580]
	str	r3, [fp, #-576]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #580
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #572
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-548]
	str	r3, [fp, #-544]
	sub	r3, fp, #548
	ldmia	r3, {r2-r3}
	sub	r1, fp, #564
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #564
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #548
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #564
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-388]
	str	r3, [fp, #-384]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #644
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-500]
	str	r3, [fp, #-496]
	sub	r3, fp, #644
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #644
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
	sub	r3, fp, #556
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #556
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-380]
	str	r3, [fp, #-376]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-484]
	str	r3, [fp, #-480]
	sub	r3, fp, #500
	ldmia	r3, {r2-r3}
	sub	r1, fp, #484
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #484
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-372]
	str	r3, [fp, #-368]
	sub	r3, fp, #484
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-364]
	str	r3, [fp, #-360]
	sub	r3, fp, #388
	mov	r1, r3
	mov	r0, #4
	bl	estimate
	str	r0, [fp, #-476]
	str	r1, [fp, #-472]
	ldr	r3, .L335+4
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-468]
	str	r3, [fp, #-464]
	sub	r3, fp, #468
	ldmia	r3, {r2-r3}
	sub	r1, fp, #476
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L310
	ldr	r8, [fp, #-476]
	ldr	r3, [fp, #-472]
	eor	r9, r3, #-2147483648
	mov	r2, r8
	mov	r3, r9
	sub	r1, fp, #468
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L332
.L310:
	sub	r3, fp, #476
	ldmia	r3, {r2-r3}
	b	.L325
.L332:
	ldr	r3, [fp, #-696]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #676
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #676
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	ldr	r3, [fp, #-704]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	ldr	r3, [fp, #-696]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-460]
	str	r3, [fp, #-456]
	ldr	r3, [fp, #-700]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #668
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #668
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	ldr	r3, [fp, #-704]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	ldr	r3, [fp, #-700]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-452]
	str	r3, [fp, #-448]
	ldr	r3, [fp, #-696]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #660
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #660
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	ldr	r3, [fp, #-704]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	ldr	r3, [fp, #-696]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-444]
	str	r3, [fp, #-440]
	ldr	r3, [fp, #-700]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #652
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #652
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	ldr	r3, [fp, #-704]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	ldr	r3, [fp, #-700]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-436]
	str	r3, [fp, #-432]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #460
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L314
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L314
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #452
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L314
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L314
	sub	r3, fp, #476
	ldmia	r3, {r2-r3}
	b	.L325
.L314:
	ldr	r3, .L335+8
	ldmia	r3, {r0-r1}
	ldmib	fp, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #476
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L333
	sub	r5, fp, #476
	ldmia	r5, {r4-r5}
	b	.L321
.L333:
	ldr	r4, [fp, #-476]
	ldr	r3, [fp, #-472]
	eor	r5, r3, #-2147483648
.L321:
	ldr	r3, .L335+12
	ldmia	r3, {r2-r3}
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-468]
	str	r3, [fp, #-464]
	sub	r3, fp, #436
	ldmia	r3, {r2-r3}
	sub	r1, fp, #676
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #460
	ldmia	r3, {r2-r3}
	sub	r1, fp, #652
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #452
	ldmia	r3, {r2-r3}
	sub	r1, fp, #660
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	sub	r1, fp, #668
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #476
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-476]
	str	r3, [fp, #-472]
	sub	r3, fp, #468
	ldmia	r3, {r2-r3}
	sub	r1, fp, #476
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L322
	ldr	r6, [fp, #-476]
	ldr	r3, [fp, #-472]
	eor	r7, r3, #-2147483648
	mov	r2, r6
	mov	r3, r7
	sub	r1, fp, #468
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L334
.L322:
	sub	r3, fp, #476
	ldmia	r3, {r2-r3}
	b	.L325
.L336:
	.align	2
.L335:
	.word	.LC921
	.word	ccwerrboundB
	.word	ccwerrboundC
	.word	resulterrbound
	.word	splitter
.L334:
	sub	r3, fp, #652
	ldmia	r3, {r2-r3}
	sub	r1, fp, #460
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-428]
	str	r3, [fp, #-424]
	ldr	r3, .L335+16
	ldmia	r3, {r2-r3}
	sub	r1, fp, #460
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #460
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-620]
	str	r3, [fp, #-616]
	sub	r3, fp, #620
	ldmia	r3, {r2-r3}
	sub	r1, fp, #460
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	ldr	r3, .L335+16
	ldmia	r3, {r2-r3}
	sub	r1, fp, #652
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #652
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #652
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-596]
	str	r3, [fp, #-592]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-588]
	str	r3, [fp, #-584]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #588
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-580]
	str	r3, [fp, #-576]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #580
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #572
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-420]
	str	r3, [fp, #-416]
	sub	r3, fp, #668
	ldmia	r3, {r2-r3}
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-412]
	str	r3, [fp, #-408]
	ldr	r3, .L335+16
	ldmia	r3, {r2-r3}
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-620]
	str	r3, [fp, #-616]
	sub	r3, fp, #620
	ldmia	r3, {r2-r3}
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	ldr	r3, .L335+16
	ldmia	r3, {r2-r3}
	sub	r1, fp, #668
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #668
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #668
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-596]
	str	r3, [fp, #-592]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-588]
	str	r3, [fp, #-584]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #588
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-580]
	str	r3, [fp, #-576]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #580
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #572
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-404]
	str	r3, [fp, #-400]
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-356]
	str	r3, [fp, #-352]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-500]
	str	r3, [fp, #-496]
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-348]
	str	r3, [fp, #-344]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-396]
	str	r3, [fp, #-392]
	sub	r3, fp, #500
	ldmia	r3, {r2-r3}
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-340]
	str	r3, [fp, #-336]
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-332]
	str	r3, [fp, #-328]
	sub	r2, fp, #356
	sub	r1, fp, #388
	sub	r3, fp, #324
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #4
	mov	r0, #4
	bl	fast_expansion_sum_zeroelim
	str	r0, [fp, #-688]
	sub	r3, fp, #436
	ldmia	r3, {r2-r3}
	sub	r1, fp, #676
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-428]
	str	r3, [fp, #-424]
	ldr	r3, .L335+16
	ldmia	r3, {r2-r3}
	sub	r1, fp, #676
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #676
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-620]
	str	r3, [fp, #-616]
	sub	r3, fp, #620
	ldmia	r3, {r2-r3}
	sub	r1, fp, #676
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	ldr	r3, .L335+16
	ldmia	r3, {r2-r3}
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #436
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-596]
	str	r3, [fp, #-592]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-588]
	str	r3, [fp, #-584]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #588
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-580]
	str	r3, [fp, #-576]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #580
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #572
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-420]
	str	r3, [fp, #-416]
	sub	r3, fp, #452
	ldmia	r3, {r2-r3}
	sub	r1, fp, #660
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-412]
	str	r3, [fp, #-408]
	ldr	r3, .L335+16
	ldmia	r3, {r2-r3}
	sub	r1, fp, #660
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #660
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-620]
	str	r3, [fp, #-616]
	sub	r3, fp, #620
	ldmia	r3, {r2-r3}
	sub	r1, fp, #660
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	ldr	r3, .L335+16
	ldmia	r3, {r2-r3}
	sub	r1, fp, #452
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #452
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #452
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-596]
	str	r3, [fp, #-592]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-588]
	str	r3, [fp, #-584]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #588
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-580]
	str	r3, [fp, #-576]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #580
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #572
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-404]
	str	r3, [fp, #-400]
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-356]
	str	r3, [fp, #-352]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-500]
	str	r3, [fp, #-496]
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-348]
	str	r3, [fp, #-344]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-396]
	str	r3, [fp, #-392]
	sub	r3, fp, #500
	ldmia	r3, {r2-r3}
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-340]
	str	r3, [fp, #-336]
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-332]
	str	r3, [fp, #-328]
	sub	r2, fp, #356
	sub	r1, fp, #324
	sub	r3, fp, #260
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #4
	ldr	r0, [fp, #-688]
	bl	fast_expansion_sum_zeroelim
	str	r0, [fp, #-684]
	sub	r3, fp, #436
	ldmia	r3, {r2-r3}
	sub	r1, fp, #460
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-428]
	str	r3, [fp, #-424]
	ldr	r3, .L337
	ldmia	r3, {r2-r3}
	sub	r1, fp, #460
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #460
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-620]
	str	r3, [fp, #-616]
	sub	r3, fp, #620
	ldmia	r3, {r2-r3}
	sub	r1, fp, #460
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	ldr	r3, .L337
	ldmia	r3, {r2-r3}
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #436
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-596]
	str	r3, [fp, #-592]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-588]
	str	r3, [fp, #-584]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #588
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-580]
	str	r3, [fp, #-576]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #580
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #572
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-420]
	str	r3, [fp, #-416]
	sub	r3, fp, #452
	ldmia	r3, {r2-r3}
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-412]
	str	r3, [fp, #-408]
	ldr	r3, .L337
	ldmia	r3, {r2-r3}
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-620]
	str	r3, [fp, #-616]
	sub	r3, fp, #620
	ldmia	r3, {r2-r3}
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	ldr	r3, .L337
	ldmia	r3, {r2-r3}
	sub	r1, fp, #452
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-636]
	str	r3, [fp, #-632]
	sub	r3, fp, #452
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-628]
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #452
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-596]
	str	r3, [fp, #-592]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-588]
	str	r3, [fp, #-584]
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #588
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-580]
	str	r3, [fp, #-576]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #580
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #572
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-404]
	str	r3, [fp, #-400]
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-356]
	str	r3, [fp, #-352]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-500]
	str	r3, [fp, #-496]
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-348]
	str	r3, [fp, #-344]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-396]
	str	r3, [fp, #-392]
	sub	r3, fp, #500
	ldmia	r3, {r2-r3}
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-340]
	str	r3, [fp, #-336]
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-332]
	str	r3, [fp, #-328]
	sub	r2, fp, #356
	sub	r1, fp, #260
	sub	r3, fp, #164
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #4
	ldr	r0, [fp, #-684]
	bl	fast_expansion_sum_zeroelim
	str	r0, [fp, #-680]
	ldr	r3, [fp, #-680]
	sub	r3, r3, #1
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #136
	ldmia	r3, {r2-r3}
.L325:
	ldr	r1, .L337+4
	ldr	r0, [r1]
	ldr	r1, [fp, #-32]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L326
	bl	__stack_chk_fail
.L326:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L338:
	.align	2
.L337:
	.word	splitter
	.word	.LC921
	.size	counterclockwiseadapt, .-counterclockwiseadapt
	.global	__aeabi_dcmplt
	.align	2
	.global	counterclockwise
	.syntax unified
	.arm
	.fpu softvfp
	.type	counterclockwise, %function
counterclockwise:
	@ args = 4, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #64
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #584]
	add	r3, r3, #1
	ldr	r2, [fp, #-72]
	add	r2, r2, #49152
	str	r3, [r2, #584]
	ldr	r3, [fp, #-80]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #4]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r3, [fp, #-84]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-80]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r3, [fp, #-84]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #4]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #84]
	cmp	r3, #0
	beq	.L340
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	b	.L341
.L340:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L358
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L359
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	b	.L341
.L359:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	b	.L346
.L358:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L360
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L361
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	b	.L341
.L361:
	ldr	r6, [fp, #-60]
	ldr	r3, [fp, #-56]
	eor	r7, r3, #-2147483648
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	b	.L346
.L360:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	b	.L341
.L346:
	ldr	r3, .L363
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L351
	ldr	r4, [fp, #-44]
	ldr	r3, [fp, #-40]
	eor	r5, r3, #-2147483648
	mov	r2, r4
	mov	r3, r5
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L362
.L351:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	b	.L341
.L362:
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	counterclockwiseadapt
	mov	r2, r0
	mov	r3, r1
.L341:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L364:
	.align	2
.L363:
	.word	ccwerrboundA
	.size	counterclockwise, .-counterclockwise
	.section	.rodata
	.align	2
.LC922:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	incircleadapt
	.syntax unified
	.arm
	.fpu softvfp
	.type	incircleadapt, %function
incircleadapt:
	@ args = 8, pretend = 0, frame = 26544
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #26368
	sub	sp, sp, #184
	sub	ip, fp, #24576
	sub	ip, ip, #28
	str	r0, [ip, #-1820]
	sub	r0, fp, #24576
	sub	r0, r0, #28
	str	r1, [r0, #-1824]
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-1828]
	sub	r2, fp, #24576
	sub	r2, r2, #28
	str	r3, [r2, #-1832]
	ldr	r3, .L479
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1820]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1832]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1824]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1832]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1828]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1832]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #26112
	sub	r1, r1, #28
	mov	r6, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1820]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1832]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #26112
	sub	r1, r1, #28
	mov	r6, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1824]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1832]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r6, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1828]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1832]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r6, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L479+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L479+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #144
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #144
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L479+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L479+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #144
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #144
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #144
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #144
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-1000]
	str	r1, [r3, #-996]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #144
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	b	.L480
.L481:
	.align	2
.L479:
	.word	.LC922
	.word	splitter
.L480:
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #144
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-992]
	str	r1, [r3, #-988]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #64
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #64
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #64
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-984]
	str	r1, [r3, #-980]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #64
	ldmdb	r3, {r2-r3}
	str	r2, [r1, #-976]
	str	r3, [r1, #-972]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #232
	sub	r3, fp, #25088
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1756]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r1, fp, #25088
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #23040
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1756]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1752]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #232
	sub	r3, fp, #25088
	sub	r3, r3, #28
	sub	r3, r3, #72
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1748]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r2, r3
	sub	r1, fp, #25088
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22784
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1748]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1744]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22784
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #23040
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20992
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1744]
	ldr	r0, [r0, #-1752]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1740]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #64
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L479+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L479+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #64
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L479+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L479+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-968]
	str	r1, [r3, #-964]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #64
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #64
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #64
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-960]
	str	r1, [r3, #-956]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-952]
	str	r1, [r3, #-948]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	str	r2, [r1, #-944]
	str	r3, [r1, #-940]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #25088
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1736]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r1, fp, #25088
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22784
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1736]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1732]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24832
	sub	r3, r3, #28
	sub	r3, r3, #200
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1728]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r2, r3
	sub	r1, fp, #24832
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22528
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1728]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1724]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22528
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22784
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20736
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1724]
	ldr	r0, [r0, #-1732]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1720]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L482
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L482
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L482
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L482
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-936]
	str	r1, [r3, #-932]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-928]
	str	r1, [r3, #-924]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	b	.L483
.L484:
	.align	2
.L482:
	.word	splitter
	.word	iccerrboundB
	.word	iccerrboundC
	.word	resulterrbound
.L483:
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-920]
	str	r1, [r3, #-916]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r2-r3}
	str	r2, [r1, #-912]
	str	r3, [r1, #-908]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #168
	sub	r3, fp, #24832
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1716]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r2, r3
	sub	r1, fp, #24832
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22528
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1716]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1712]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #168
	sub	r3, fp, #24832
	sub	r3, r3, #28
	sub	r3, r3, #72
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1708]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r2, r3
	sub	r1, fp, #24832
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1708]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1704]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22272
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22528
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1704]
	ldr	r0, [r0, #-1712]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1700]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20736
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #20992
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19456
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1720]
	ldr	r0, [r0, #-1740]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1696]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20480
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #19456
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #18432
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1700]
	ldr	r0, [r0, #-1696]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r4, r3
	sub	r2, fp, #18432
	sub	r2, r2, #28
	sub	r2, r2, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r2
	ldr	r0, [r3, #-1808]
	bl	estimate
	stm	r4, {r0-r1}
	ldr	r3, .L482+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	mov	r2, r0
	mov	r3, r1
	ldmib	fp, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L366
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldr	r2, [r3]
	sub	r1, fp, #26368
	sub	r1, r1, #76
	str	r2, [r1]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #26368
	sub	r2, r2, #72
	str	r3, [r2]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26368
	sub	r3, r3, #76
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L473
.L366:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	b	.L446
.L473:
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1820]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1832]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1820]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1820]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1832]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1820]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1824]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1832]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1824]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1824]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1832]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1824]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1828]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1832]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1828]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1828]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1832]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1828]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L370
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L370
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L370
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L370
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L370
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L370
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	b	.L446
.L370:
	ldr	r3, .L482+8
	ldmia	r3, {r0-r1}
	ldmib	fp, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L474
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r8-r9}
	b	.L379
.L474:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldr	r8, [r3]
	ldr	r3, [r3, #4]
	eor	r9, r3, #-2147483648
.L379:
	ldr	r3, .L482+12
	ldmia	r3, {r2-r3}
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	ldmdb	r1, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	ldmia	r1, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #26368
	sub	r1, r1, #76
	stm	r1, {r2-r3}
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	ldmia	r1, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	ldmdb	r1, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #26368
	sub	r1, r1, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #26368
	sub	r1, r1, #76
	stm	r1, {r2-r3}
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	ldmdb	r1, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	ldmia	r1, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #26368
	sub	r1, r1, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L380
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldr	r2, [r3]
	sub	r1, fp, #26368
	sub	r1, r1, #84
	str	r2, [r1]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #26368
	sub	r2, r2, #80
	str	r3, [r2]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26368
	sub	r3, r3, #84
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L475
.L380:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	b	.L446
.L475:
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #18432
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #9216
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [r2, #-1812]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L383
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L383
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L383
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L384
.L383:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	ldmdb	r1, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L485
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	ldmia	r1, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	ldmdb	r1, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	ldmia	r1, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L485
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	ldmia	r1, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	ldmdb	r1, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #144
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #144
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #144
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-904]
	str	r1, [r3, #-900]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-896]
	str	r1, [r3, #-892]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #144
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #144
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #144
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-888]
	str	r1, [r3, #-884]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #144
	ldmia	r3, {r2-r3}
	str	r2, [r1, #-880]
	str	r3, [r1, #-876]
.L384:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L386
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L386
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L386
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L387
.L386:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	ldmia	r1, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L485
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	ldmia	r1, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	b	.L486
.L487:
	.align	2
.L485:
	.word	splitter
	.word	splitter
.L486:
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	ldmdb	r1, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	ldmdb	r1, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L485+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	ldmia	r1, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	ldmdb	r1, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-872]
	str	r1, [r3, #-868]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-864]
	str	r1, [r3, #-860]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-856]
	str	r1, [r3, #-852]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	str	r2, [r1, #-848]
	str	r3, [r1, #-844]
.L387:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L389
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L389
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L389
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L390
.L389:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	ldmdb	r1, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L485+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	ldmia	r1, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	ldmdb	r1, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	ldmia	r1, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L485+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	ldmia	r1, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	ldmdb	r1, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #64
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #64
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #64
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-840]
	str	r1, [r3, #-836]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-832]
	str	r1, [r3, #-828]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #64
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #64
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #64
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-824]
	str	r1, [r3, #-820]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #64
	ldmia	r3, {r2-r3}
	str	r2, [r1, #-816]
	str	r3, [r1, #-812]
.L390:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L392
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #232
	sub	r3, fp, #23808
	sub	r3, r3, #28
	sub	r3, r3, #200
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1804]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #23808
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1804]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1688]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r2, r3
	sub	r1, fp, #24576
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1688]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #104
	sub	r3, fp, #24576
	sub	r3, r3, #28
	sub	r3, r3, #200
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1680]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldr	r2, [r3]
	sub	r1, fp, #26368
	sub	r1, r1, #92
	str	r2, [r1]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #26368
	sub	r2, r2, #88
	str	r3, [r2]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r1, fp, #24576
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	sub	r3, fp, #26368
	sub	r3, r3, #92
	ldmia	r3, {r2-r3}
	ldr	r0, [r0, #-1680]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1676]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22016
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1684]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20224
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22016
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1672]
	ldr	r0, [r0, #-1676]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1668]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19712
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1668]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L392:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L394
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #232
	sub	r3, fp, #23808
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1800]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #23808
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1800]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #104
	sub	r3, fp, #24576
	sub	r3, r3, #28
	sub	r3, r3, #72
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1660]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r2, r3
	sub	r1, fp, #24576
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1660]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1656]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldr	r2, [r3]
	sub	r1, fp, #26368
	sub	r1, r1, #100
	str	r2, [r1]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #26368
	sub	r2, r2, #96
	str	r3, [r2]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r1, fp, #24576
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	sub	r3, fp, #26368
	sub	r3, r3, #100
	ldmia	r3, {r2-r3}
	ldr	r0, [r0, #-1656]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1676]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22016
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1684]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20224
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22016
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1672]
	ldr	r0, [r0, #-1676]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1668]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19712
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1668]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L394:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L396
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #23808
	sub	r3, r3, #28
	sub	r3, r3, #72
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1796]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #23808
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1796]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24320
	sub	r3, r3, #28
	sub	r3, r3, #200
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1652]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r2, r3
	sub	r1, fp, #24320
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1652]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24320
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1648]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldr	r2, [r3]
	sub	r1, fp, #26368
	sub	r1, r1, #108
	str	r2, [r1]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #26368
	sub	r2, r2, #104
	str	r3, [r2]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r1, fp, #24320
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	sub	r3, fp, #26368
	sub	r3, r3, #108
	ldmia	r3, {r2-r3}
	ldr	r0, [r0, #-1648]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1676]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22016
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1684]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20224
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22016
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1672]
	ldr	r0, [r0, #-1676]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1668]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19712
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1668]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L396:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L398
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #23808
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1792]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #23808
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1792]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24320
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1644]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r1, fp, #24320
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1644]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24320
	sub	r3, r3, #28
	sub	r3, r3, #72
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1640]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldr	r2, [r3, #-8]
	sub	r1, fp, #26368
	sub	r1, r1, #116
	str	r2, [r1]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #26368
	sub	r2, r2, #112
	str	r3, [r2]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r1, fp, #24320
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	sub	r3, fp, #26368
	sub	r3, r3, #116
	ldmia	r3, {r2-r3}
	ldr	r0, [r0, #-1640]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1676]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22016
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1684]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20224
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22016
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1672]
	ldr	r0, [r0, #-1676]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1668]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19712
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1668]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L398:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L400
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #168
	sub	r3, fp, #23552
	sub	r3, r3, #28
	sub	r3, r3, #200
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1788]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmdb	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #23552
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1788]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #104
	sub	r3, fp, #24064
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1636]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r2, r3
	sub	r1, fp, #24064
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1636]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24064
	sub	r3, r3, #28
	sub	r3, r3, #200
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1632]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldr	r2, [r3, #-8]
	sub	r1, fp, #26368
	sub	r1, r1, #124
	str	r2, [r1]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #26368
	sub	r2, r2, #120
	str	r3, [r2]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r1, fp, #24064
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	sub	r3, fp, #26368
	sub	r3, r3, #124
	ldmia	r3, {r2-r3}
	ldr	r0, [r0, #-1632]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1676]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22016
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1684]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20224
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22016
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1672]
	ldr	r0, [r0, #-1676]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1668]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19712
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1668]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L400:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L402
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #168
	sub	r3, fp, #23552
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1784]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #23552
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1784]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24064
	sub	r3, r3, #28
	sub	r3, r3, #72
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1628]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r1, fp, #24064
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1628]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #104
	sub	r3, fp, #24064
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1624]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldr	r2, [r3, #-8]
	sub	r1, fp, #26368
	sub	r1, r1, #132
	str	r2, [r1]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #26368
	sub	r2, r2, #128
	str	r3, [r2]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r1, fp, #24064
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	sub	r3, fp, #26368
	sub	r3, r3, #132
	ldmia	r3, {r2-r3}
	ldr	r0, [r0, #-1624]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1676]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22016
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1684]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20224
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22016
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1672]
	ldr	r0, [r0, #-1676]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1668]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19712
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1668]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L402:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L404
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L405
.L404:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L407
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L407
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L407
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L476
.L407:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L488
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L488
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L488
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L488
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-808]
	str	r1, [r3, #-804]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-800]
	str	r1, [r3, #-796]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	b	.L489
.L490:
	.align	2
.L488:
	.word	splitter
	.word	splitter
.L489:
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-792]
	str	r1, [r3, #-788]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	str	r2, [r1, #-784]
	str	r3, [r1, #-780]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldr	r1, [r3, #-8]
	sub	r0, fp, #26368
	sub	r0, r0, #164
	str	r1, [r0]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #26368
	sub	r1, r1, #160
	str	r3, [r1]
	sub	r3, fp, #26368
	sub	r3, r3, #164
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L488+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L488+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldr	r1, [r3, #-8]
	sub	r0, fp, #26368
	sub	r0, r0, #172
	str	r1, [r0]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #26368
	sub	r1, r1, #168
	str	r3, [r1]
	sub	r3, fp, #26368
	sub	r3, r3, #172
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L488+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L488+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-776]
	str	r1, [r3, #-772]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-768]
	str	r1, [r3, #-764]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-760]
	str	r1, [r3, #-756]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	str	r2, [r1, #-752]
	str	r3, [r1, #-748]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #25344
	sub	r2, r2, #28
	sub	r2, r2, #8
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #40
	sub	r3, fp, #23040
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #4
	mov	r0, #4
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1776]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L491
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L491
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L491
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L491
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-712]
	str	r1, [r3, #-708]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-704]
	str	r1, [r3, #-700]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	b	.L492
.L493:
	.align	2
.L491:
	.word	splitter
.L492:
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-696]
	str	r1, [r3, #-692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [r1, #-688]
	str	r3, [r1, #-684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #4
	str	r3, [r2, #-1764]
	b	.L410
.L476:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #-2696]
	str	r3, [r1, #-2692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-1776]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #-712]
	str	r3, [r1, #-708]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-1764]
.L410:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L411
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r2, r3
	sub	r1, fp, #23808
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1804]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r2, r3
	sub	r1, fp, #23040
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #21760
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1776]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1620]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #21760
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1620]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20224
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1672]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1668]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19712
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1668]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L413
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24832
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1616]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #24832
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1616]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22272
	sub	r2, r2, #28
	sub	r2, r2, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1692]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L413:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L415
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	ldr	r2, [r3]
	sub	r1, fp, #26368
	sub	r1, r1, #140
	str	r2, [r1]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #26368
	sub	r2, r2, #136
	str	r3, [r2]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #104
	sub	r3, fp, #24832
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	sub	r3, fp, #26368
	sub	r3, r3, #140
	ldmia	r3, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1616]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r2, r3
	sub	r1, fp, #24832
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1616]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22272
	sub	r2, r2, #28
	sub	r2, r2, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1692]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L415:
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r2, r3
	sub	r1, fp, #21760
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1620]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r2, r3
	sub	r1, fp, #25088
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #23552
	sub	r3, r3, #28
	sub	r3, r3, #72
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1764]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1612]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #23552
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1612]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r2, r3
	sub	r1, fp, #23552
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1612]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22016
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19968
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1684]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1608]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19968
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #20224
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #18944
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1608]
	ldr	r0, [r0, #-1672]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1604]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #18944
	sub	r2, r2, #28
	sub	r2, r2, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1604]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L411:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L405
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #23808
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1800]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #23040
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #21760
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1776]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1600]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #21760
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1600]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20224
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1672]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1668]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19712
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1668]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #21760
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1600]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #25088
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #23552
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1764]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1596]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #23552
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1596]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #23552
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1596]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22016
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19968
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1684]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1608]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19968
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #20224
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #18944
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1608]
	ldr	r0, [r0, #-1672]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1604]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #18944
	sub	r2, r2, #28
	sub	r2, r2, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1604]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L405:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L418
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L419
.L418:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L421
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L421
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L421
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L477
.L421:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L494
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L494
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L494
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L494
	ldmia	r3, {r4-r5}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r6, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r6, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-808]
	str	r1, [r3, #-804]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-800]
	str	r1, [r3, #-796]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	b	.L495
.L496:
	.align	2
.L494:
	.word	splitter
.L495:
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	str	r0, [r3, #-792]
	str	r1, [r3, #-788]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	str	r2, [r1, #-784]
	str	r3, [r1, #-780]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldr	r1, [r3]
	sub	r0, fp, #26368
	sub	r0, r0, #180
	str	r1, [r0]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #26368
	sub	r1, r1, #176
	str	r3, [r1]
	sub	r3, fp, #26368
	sub	r3, r3, #180
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L494
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L494
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldr	r1, [r3, #-8]
	sub	r0, fp, #26368
	sub	r0, r0, #188
	str	r1, [r0]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #26368
	sub	r1, r1, #184
	str	r3, [r1]
	sub	r3, fp, #26368
	sub	r3, r3, #188
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L494
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L494
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-776]
	str	r3, [r1, #-772]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-768]
	str	r3, [r1, #-764]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-760]
	str	r3, [r1, #-756]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	str	r2, [r1, #-752]
	str	r3, [r1, #-748]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #25344
	sub	r2, r2, #28
	sub	r2, r2, #8
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #40
	sub	r3, fp, #23040
	sub	r3, r3, #28
	sub	r3, r3, #72
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #4
	mov	r0, #4
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1772]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L497
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L497
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L497
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L497
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-680]
	str	r3, [r1, #-676]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-672]
	str	r3, [r1, #-668]
	sub	r3, fp, #25344
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25344
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25344
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	b	.L498
.L499:
	.align	2
.L497:
	.word	splitter
.L498:
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-664]
	str	r3, [r1, #-660]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25344
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r2-r3}
	str	r2, [r1, #-656]
	str	r3, [r1, #-652]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #4
	str	r3, [r2, #-1760]
	b	.L424
.L477:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #-2632]
	str	r3, [r1, #-2628]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-1772]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #-680]
	str	r3, [r1, #-676]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-1760]
.L424:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L425
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #23808
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1796]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #23040
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #21504
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1772]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1592]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #21504
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1592]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20224
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1672]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1668]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19712
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1668]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L427
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24832
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1616]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r2, r3
	sub	r1, fp, #24832
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1616]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22272
	sub	r2, r2, #28
	sub	r2, r2, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1692]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L427:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L429
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldr	r2, [r3]
	sub	r1, fp, #26368
	sub	r1, r1, #148
	str	r2, [r1]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #26368
	sub	r2, r2, #144
	str	r3, [r2]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24832
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	sub	r3, fp, #26368
	sub	r3, r3, #148
	ldmia	r3, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1616]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #24832
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1616]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	ldr	r2, [r2, #-1812]
	str	r2, [sp]
	ldr	r2, [ip, #-1692]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L429:
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #21504
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1592]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #25088
	sub	r1, r1, #28
	sub	r1, r1, #168
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #23296
	sub	r3, r3, #28
	sub	r3, r3, #200
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1760]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1588]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #23296
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1588]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #23296
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1588]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22016
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19968
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1684]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1608]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19968
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #20224
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #18944
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1608]
	ldr	r0, [r0, #-1672]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1604]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #18944
	sub	r3, r3, #28
	sub	r3, r3, #8
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	ldr	r2, [r2, #-1812]
	str	r2, [sp]
	ldr	r2, [ip, #-1604]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L425:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L419
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #23808
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1792]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #23040
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #21504
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1772]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1584]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #21504
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1584]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20224
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1672]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1668]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	ldr	r2, [r2, #-1812]
	str	r2, [sp]
	ldr	r2, [ip, #-1668]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #21504
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1584]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #25088
	sub	r1, r1, #28
	sub	r1, r1, #168
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #23296
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1760]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1580]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #23296
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1580]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #23296
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1580]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22016
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19968
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1684]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1608]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19968
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #20224
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #18944
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1608]
	ldr	r0, [r0, #-1672]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1604]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #18944
	sub	r3, r3, #28
	sub	r3, r3, #8
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	ldr	r2, [r2, #-1812]
	str	r2, [sp]
	ldr	r2, [ip, #-1604]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L419:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L432
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L433
.L432:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L435
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L435
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L435
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L478
.L435:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L500
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L500
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L500
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L500
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-808]
	str	r3, [r1, #-804]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-800]
	str	r3, [r1, #-796]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	b	.L501
.L502:
	.align	2
.L500:
	.word	splitter
	.word	splitter
.L501:
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-792]
	str	r3, [r1, #-788]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	str	r2, [r1, #-784]
	str	r3, [r1, #-780]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldr	r1, [r3]
	sub	r0, fp, #26368
	sub	r0, r0, #196
	str	r1, [r0]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #26368
	sub	r1, r1, #192
	str	r3, [r1]
	sub	r3, fp, #26368
	sub	r3, r3, #196
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L500+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L500+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldr	r1, [r3, #-8]
	sub	r0, fp, #26368
	sub	r0, r0, #204
	str	r1, [r0]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #26368
	sub	r1, r1, #200
	str	r3, [r1]
	sub	r3, fp, #26368
	sub	r3, r3, #204
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L500+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #26112
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L500+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-776]
	str	r3, [r1, #-772]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-768]
	str	r3, [r1, #-764]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-760]
	str	r3, [r1, #-756]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	str	r2, [r1, #-752]
	str	r3, [r1, #-748]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #25344
	sub	r2, r2, #28
	sub	r2, r2, #8
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #40
	sub	r3, fp, #23040
	sub	r3, r3, #28
	sub	r3, r3, #200
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #4
	mov	r0, #4
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1780]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L503
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L503
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L503
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L503
	ldmia	r3, {r0-r1}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #224
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #176
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #160
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-744]
	str	r3, [r1, #-740]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r1, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-736]
	str	r3, [r1, #-732]
	sub	r3, fp, #25344
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25344
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	mov	r4, r3
	sub	r3, fp, #25344
	sub	r3, r3, #28
	sub	r3, r3, #240
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #128
	mov	r1, r3
	sub	r3, fp, #25856
	b	.L504
.L505:
	.align	2
.L503:
	.word	splitter
	.word	.LC922
.L504:
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r4, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #80
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #112
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	mov	r1, r3
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #96
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #24576
	sub	r1, r1, #28
	str	r2, [r1, #-728]
	str	r3, [r1, #-724]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #25344
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r2-r3}
	str	r2, [r1, #-720]
	str	r3, [r1, #-716]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #4
	str	r3, [r2, #-1768]
	b	.L438
.L478:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #-2760]
	str	r3, [r1, #-2756]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-1780]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #-744]
	str	r3, [r1, #-740]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-1768]
.L438:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L439
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #23552
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1788]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #23040
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #21248
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1780]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1576]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmdb	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #21248
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1576]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20224
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1672]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1668]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	ldr	r2, [r2, #-1812]
	str	r2, [sp]
	ldr	r2, [ip, #-1668]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L441
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #104
	sub	r3, fp, #24832
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1616]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #208
	mov	r2, r3
	sub	r1, fp, #24832
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1616]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	ldr	r2, [r2, #-1812]
	str	r2, [sp]
	ldr	r2, [ip, #-1692]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L441:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L443
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	ldr	r2, [r3]
	sub	r1, fp, #26368
	sub	r1, r1, #156
	str	r2, [r1]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #26368
	sub	r2, r2, #152
	str	r3, [r2]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r1, fp, #25344
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24832
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	sub	r3, fp, #26368
	sub	r3, r3, #156
	ldmia	r3, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1616]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #24832
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1616]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	ldr	r2, [r2, #-1812]
	str	r2, [sp]
	ldr	r2, [ip, #-1692]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L443:
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #21248
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1576]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #25088
	sub	r1, r1, #28
	sub	r1, r1, #232
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #23296
	sub	r3, r3, #28
	sub	r3, r3, #72
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1768]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1572]
	sub	r3, fp, #26112
	sub	r3, r3, #28
	ldmdb	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #23296
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1572]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #192
	mov	r2, r3
	sub	r1, fp, #23296
	sub	r1, r1, #28
	sub	r1, r1, #72
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-1572]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22016
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19968
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1684]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1608]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19968
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #20224
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #18944
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1608]
	ldr	r0, [r0, #-1672]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1604]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #18944
	sub	r3, r3, #28
	sub	r3, r3, #8
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	ldr	r2, [r2, #-1812]
	str	r2, [sp]
	ldr	r2, [ip, #-1604]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L439:
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L433
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r2, r3
	sub	r1, fp, #23552
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1784]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r2, r3
	sub	r1, fp, #23040
	sub	r1, r1, #28
	sub	r1, r1, #200
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #21248
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1780]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1568]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #21248
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1568]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #20224
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1672]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1668]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #19712
	sub	r3, r3, #28
	sub	r3, r3, #136
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	ldr	r2, [r2, #-1812]
	str	r2, [sp]
	ldr	r2, [ip, #-1668]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r2, r3
	sub	r1, fp, #21248
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20224
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1568]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1672]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r2, r3
	sub	r1, fp, #25088
	sub	r1, r1, #28
	sub	r1, r1, #232
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #23296
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1768]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1564]
	sub	r3, fp, #25856
	sub	r3, r3, #28
	sub	r3, r3, #240
	ldmia	r3, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r6, r3
	sub	r1, fp, #23296
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22272
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [r0, #-1564]
	bl	scale_expansion_zeroelim
	str	r0, [r6, #-1692]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #25600
	sub	r3, r3, #28
	sub	r3, r3, #176
	mov	r2, r3
	sub	r1, fp, #23296
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #22016
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-1564]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-1684]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #22016
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #22272
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #19968
	sub	r3, r3, #28
	sub	r3, r3, #136
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1684]
	ldr	r0, [r0, #-1692]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1608]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #19968
	sub	r2, r2, #28
	sub	r2, r2, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #20224
	sub	r1, r1, #28
	sub	r1, r1, #136
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #18944
	sub	r3, r3, #28
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-1608]
	ldr	r0, [r0, #-1672]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1604]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #18944
	sub	r3, r3, #28
	sub	r3, r3, #8
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #24576
	sub	r2, r2, #28
	ldr	r2, [r2, #-1812]
	str	r2, [sp]
	ldr	r2, [ip, #-1604]
	ldr	r1, [r1, #-1816]
	ldr	r0, [r0, #-1808]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-1808]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1816]
	str	r3, [r2, #-1664]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1812]
	str	r3, [r2, #-1816]
	sub	r3, fp, #24576
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1664]
	str	r3, [r2, #-1812]
.L433:
	sub	r3, fp, #24576
	sub	r3, r3, #28
	ldr	r3, [r3, #-1808]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	sub	r2, fp, #24576
	sub	r2, r2, #28
	ldr	r2, [r2, #-1816]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
.L446:
	ldr	r1, .L503+4
	ldr	r0, [r1]
	ldr	r1, [fp, #-32]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L447
	bl	__stack_chk_fail
.L447:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	incircleadapt, .-incircleadapt
	.align	2
	.global	incircle
	.syntax unified
	.arm
	.fpu softvfp
	.type	incircle, %function
incircle:
	@ args = 8, pretend = 0, frame = 200
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #208
	str	r0, [fp, #-176]
	str	r1, [fp, #-180]
	str	r2, [fp, #-184]
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-176]
	add	r3, r3, #49152
	ldr	r3, [r3, #580]
	add	r2, r3, #1
	ldr	r3, [fp, #-176]
	add	r3, r3, #49152
	str	r2, [r3, #580]
	ldr	r3, [fp, #-184]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-188]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	ldr	r3, [fp, #4]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-184]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-188]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #84]
	cmp	r3, #0
	beq	.L507
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	b	.L508
.L507:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L536
	sub	r9, fp, #124
	ldmia	r9, {r8-r9}
	b	.L511
.L536:
	ldr	r8, [fp, #-124]
	ldr	r3, [fp, #-120]
	eor	r9, r3, #-2147483648
.L511:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L537
	sub	r7, fp, #116
	ldmia	r7, {r6-r7}
	b	.L514
.L537:
	ldr	r6, [fp, #-116]
	ldr	r3, [fp, #-112]
	eor	r7, r3, #-2147483648
.L514:
	mov	r2, r6
	mov	r3, r7
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L538
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	b	.L517
.L538:
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-96]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-192]
.L517:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L539
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	b	.L520
.L539:
	ldr	r3, [fp, #-92]
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-88]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-200]
.L520:
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L540
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	b	.L523
.L540:
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-212]
	ldr	r3, [fp, #-72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-208]
.L523:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L541
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	b	.L526
.L541:
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-220]
	ldr	r3, [fp, #-64]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-216]
.L526:
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, .L543
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L527
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-48]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-224]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L542
.L527:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	b	.L508
.L542:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-188]
	ldr	r0, [fp, #-184]
	bl	incircleadapt
	mov	r2, r0
	mov	r3, r1
.L508:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L544:
	.align	2
.L543:
	.word	iccerrboundA
	.size	incircle, .-incircle
	.section	.rodata
	.align	2
.LC923:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	orient3dadapt
	.syntax unified
	.arm
	.fpu softvfp
	.type	orient3dadapt, %function
orient3dadapt:
	@ args = 40, pretend = 0, frame = 5088
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #5056
	sub	sp, sp, #40
	sub	ip, fp, #4096
	sub	ip, ip, #28
	str	r0, [ip, #-892]
	sub	r0, fp, #4096
	sub	r0, r0, #28
	str	r1, [r0, #-896]
	sub	r1, fp, #4096
	sub	r1, r1, #28
	str	r2, [r1, #-900]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	str	r3, [r2, #-904]
	ldr	r3, .L674
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-892]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-904]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-896]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-904]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-900]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-904]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-892]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-904]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-896]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-904]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #4864
	sub	r1, r1, #28
	mov	r6, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-900]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-904]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #4864
	sub	r1, r1, #28
	mov	r6, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	add	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L674+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L674+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L674+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L674+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	str	r0, [r3, #-40]
	str	r1, [r3, #-36]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	b	.L675
.L676:
	.align	2
.L674:
	.word	.LC923
	.word	splitter
.L675:
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	str	r0, [r3, #-32]
	str	r1, [r3, #-28]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	str	r0, [r3, #-24]
	str	r1, [r3, #-20]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [r1, #-16]
	str	r3, [r1, #-12]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r2, r3
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r1, r1, #40
	sub	r3, fp, #3824
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-848]
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L674+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L674+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L674+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L674+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	stmdb	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	stm	r3, {r0-r1}
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	str	r0, [r3, #8]
	str	r1, [r3, #12]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	str	r2, [r1, #16]
	str	r3, [r1, #20]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r2, r3
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #3760
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-844]
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L677
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L677
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4608
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L677
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L677
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #4096
	sub	r1, r1, #4
	stm	r1, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4608
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4092]
	str	r3, [fp, #-4088]
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	b	.L678
.L679:
	.align	2
.L677:
	.word	splitter
	.word	o3derrboundB
.L678:
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4084]
	str	r3, [fp, #-4080]
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-4076]
	str	r3, [fp, #-4072]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r2, r3
	sub	r1, fp, #4080
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #3696
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-840]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #3760
	sub	r2, r2, #12
	sub	r2, r2, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #3824
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #3344
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-844]
	ldr	r0, [r0, #-848]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-836]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #3696
	sub	r2, r2, #12
	sub	r2, r2, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #3344
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #3088
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-840]
	ldr	r0, [r0, #-836]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r2, fp, #3088
	sub	r2, r2, #12
	sub	r2, r2, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r1, r2
	ldr	r0, [r3, #-876]
	bl	estimate
	stmdb	r4, {r0-r1}
	ldr	r3, .L677+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	mov	r2, r0
	mov	r3, r1
	add	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L546
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldr	r2, [r3, #-8]
	sub	r1, fp, #4992
	sub	r1, r1, #44
	str	r2, [r1]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #4992
	sub	r2, r2, #40
	str	r3, [r2]
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4992
	sub	r3, r3, #44
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L662
.L546:
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	b	.L620
.L662:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-892]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-904]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-892]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-896]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-904]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-896]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-900]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-904]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-900]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-892]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-904]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-892]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-896]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-904]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-896]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-900]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-904]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-900]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	add	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	add	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L550
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L550
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L550
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L550
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L550
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L550
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L550
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L550
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L550
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	b	.L620
.L550:
	ldr	r3, .L680
	ldmia	r3, {r0-r1}
	add	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L663
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r8-r9}
	b	.L562
.L663:
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldr	r8, [r3, #-8]
	ldr	r3, [r3, #-4]
	eor	r9, r3, #-2147483648
.L562:
	ldr	r3, .L680+4
	ldmia	r3, {r2-r3}
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L563
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldr	r2, [r3, #-8]
	sub	r1, fp, #4992
	sub	r1, r1, #52
	str	r2, [r1]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r2, fp, #4992
	sub	r2, r2, #48
	str	r3, [r2]
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4992
	sub	r3, r3, #52
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L664
.L563:
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	b	.L620
.L664:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #3088
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #1552
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [r2, #-880]
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L665
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L666
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-4068]
	str	r3, [fp, #-4064]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-872]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-4036]
	str	r3, [fp, #-4032]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-868]
	b	.L570
.L681:
	.align	2
.L680:
	.word	o3derrboundC
	.word	resulterrbound
	.word	splitter
.L666:
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldr	r1, [r3]
	sub	r0, fp, #4992
	sub	r0, r0, #60
	str	r1, [r0]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #4992
	sub	r1, r1, #56
	str	r3, [r1]
	sub	r3, fp, #4992
	sub	r3, r3, #60
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L680+8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L680+8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4068]
	str	r3, [fp, #-4064]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-4060]
	str	r3, [fp, #-4056]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #-872]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L680+8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L680+8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4036]
	str	r3, [fp, #-4032]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	str	r2, [fp, #-4028]
	str	r3, [fp, #-4024]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #-868]
	b	.L570
.L665:
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L667
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L680+8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L680+8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4068]
	str	r3, [fp, #-4064]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-4060]
	str	r3, [fp, #-4056]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #-872]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldr	r1, [r3, #-8]
	sub	r0, fp, #5056
	sub	r0, r0, #4
	str	r1, [r0]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #5056
	str	r3, [r1]
	sub	r3, fp, #5056
	sub	r3, r3, #4
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L680+8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L682
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4036]
	str	r3, [fp, #-4032]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	str	r2, [fp, #-4028]
	str	r3, [fp, #-4024]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #-868]
	b	.L570
.L683:
	.align	2
.L682:
	.word	splitter
.L667:
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L682
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L682
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4480
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L682
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L682
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4068]
	str	r3, [fp, #-4064]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4060]
	str	r3, [fp, #-4056]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4052]
	str	r3, [fp, #-4048]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-4044]
	str	r3, [fp, #-4040]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #4
	str	r3, [r2, #-872]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L684
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L684
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L684
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L684
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4036]
	str	r3, [fp, #-4032]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4028]
	str	r3, [fp, #-4024]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	b	.L685
.L686:
	.align	2
.L684:
	.word	splitter
	.word	splitter
.L685:
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4020]
	str	r3, [fp, #-4016]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	str	r2, [fp, #-4012]
	str	r3, [fp, #-4008]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #4
	str	r3, [r2, #-868]
.L570:
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L668
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L669
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-4004]
	str	r3, [fp, #-4000]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-864]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-3972]
	str	r3, [fp, #-3968]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-860]
	b	.L577
.L669:
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldr	r1, [r3, #-8]
	sub	r0, fp, #5056
	sub	r0, r0, #12
	str	r1, [r0]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #5056
	sub	r1, r1, #8
	str	r3, [r1]
	sub	r3, fp, #5056
	sub	r3, r3, #12
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L684+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L684+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4004]
	str	r3, [fp, #-4000]
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	str	r2, [fp, #-3996]
	str	r3, [fp, #-3992]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #-864]
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L684+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L684+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3972]
	str	r3, [fp, #-3968]
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3964]
	str	r3, [fp, #-3960]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #-860]
	b	.L577
.L668:
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L670
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L684+4
	ldmia	r3, {r4-r5}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L684+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r6, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, r4
	mov	r3, r5
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r6, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4004]
	str	r3, [fp, #-4000]
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	str	r2, [fp, #-3996]
	str	r3, [fp, #-3992]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #-864]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldr	r1, [r3]
	sub	r0, fp, #5056
	sub	r0, r0, #20
	str	r1, [r0]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #5056
	sub	r1, r1, #16
	str	r3, [r1]
	sub	r3, fp, #5056
	sub	r3, r3, #20
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L687
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L687
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3972]
	str	r3, [fp, #-3968]
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3964]
	str	r3, [fp, #-3960]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #-860]
	b	.L577
.L688:
	.align	2
.L687:
	.word	splitter
.L670:
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L687
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L687
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L687
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L687
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-4004]
	str	r3, [fp, #-4000]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3996]
	str	r3, [fp, #-3992]
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3988]
	str	r3, [fp, #-3984]
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	str	r2, [fp, #-3980]
	str	r3, [fp, #-3976]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #4
	str	r3, [r2, #-864]
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L689
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L689
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4352
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L689
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L689
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3972]
	str	r3, [fp, #-3968]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4352
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3964]
	str	r3, [fp, #-3960]
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	b	.L690
.L691:
	.align	2
.L689:
	.word	splitter
.L690:
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3956]
	str	r3, [fp, #-3952]
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3948]
	str	r3, [fp, #-3944]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #4
	str	r3, [r2, #-860]
.L577:
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L671
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L672
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-3940]
	str	r3, [fp, #-3936]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-856]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-3908]
	str	r3, [fp, #-3904]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-852]
	b	.L584
.L672:
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldr	r1, [r3]
	sub	r0, fp, #5056
	sub	r0, r0, #28
	str	r1, [r0]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #5056
	sub	r1, r1, #24
	str	r3, [r1]
	sub	r3, fp, #5056
	sub	r3, r3, #28
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #4288
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L689
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L689
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3940]
	str	r3, [fp, #-3936]
	sub	r3, fp, #4288
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	str	r2, [fp, #-3932]
	str	r3, [fp, #-3928]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #-856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L689
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L689
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3908]
	str	r3, [fp, #-3904]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3900]
	str	r3, [fp, #-3896]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #-852]
	b	.L584
.L671:
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L673
	sub	r3, fp, #4288
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L689
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L689
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3940]
	str	r3, [fp, #-3936]
	sub	r3, fp, #4288
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	str	r2, [fp, #-3932]
	str	r3, [fp, #-3928]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #-856]
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldr	r1, [r3, #-8]
	sub	r0, fp, #5056
	sub	r0, r0, #36
	str	r1, [r0]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #5056
	sub	r1, r1, #32
	str	r3, [r1]
	sub	r3, fp, #5056
	sub	r3, r3, #36
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L692
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L692
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3908]
	str	r3, [fp, #-3904]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3900]
	str	r3, [fp, #-3896]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #-852]
	b	.L584
.L693:
	.align	2
.L692:
	.word	splitter
.L673:
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L692
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L692
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L692
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L692
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3940]
	str	r3, [fp, #-3936]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3932]
	str	r3, [fp, #-3928]
	sub	r3, fp, #4288
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3924]
	str	r3, [fp, #-3920]
	sub	r3, fp, #4288
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	str	r2, [fp, #-3916]
	str	r3, [fp, #-3912]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #4
	str	r3, [r2, #-856]
	sub	r3, fp, #4288
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L694
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L694
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L694
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L694
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4864
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3908]
	str	r3, [fp, #-3904]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4288
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3900]
	str	r3, [fp, #-3896]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	b	.L695
.L696:
	.align	2
.L694:
	.word	splitter
	.word	splitter
.L695:
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3892]
	str	r3, [fp, #-3888]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3884]
	str	r3, [fp, #-3880]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #4
	str	r3, [r2, #-852]
.L584:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #3888
	sub	r2, r2, #12
	sub	r2, r2, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #3984
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #3632
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-852]
	ldr	r0, [r0, #-864]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-832]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r2, r3
	sub	r1, fp, #3632
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #3216
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-832]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-828]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3216
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	ldr	r2, [ip, #-828]
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #4016
	sub	r2, r2, #12
	sub	r2, r2, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #3920
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #3568
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-868]
	ldr	r0, [r0, #-856]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-820]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r2, r3
	sub	r1, fp, #3568
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #3216
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-820]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-828]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3216
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	ldr	r2, [ip, #-828]
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #3952
	sub	r2, r2, #12
	sub	r2, r2, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	ip, r3
	sub	r1, fp, #4048
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #3504
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [ip, #-860]
	ldr	r0, [r0, #-872]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-816]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r2, r3
	sub	r1, fp, #3504
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #3216
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-816]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-828]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3216
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	ldr	r2, [ip, #-828]
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L587
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r2, r3
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r1, r1, #40
	sub	r3, fp, #3440
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-812]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3440
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	ldr	r2, [ip, #-812]
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
.L587:
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L589
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r2, r3
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r1, r1, #8
	sub	r3, fp, #3440
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-812]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3440
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	ldr	r2, [ip, #-812]
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
.L589:
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L591
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r1, fp, #4080
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #3440
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	mov	r0, #4
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-812]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3440
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	ldr	r2, [ip, #-812]
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
.L591:
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L593
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L595
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L694+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L694+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L694+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L694+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3876]
	str	r3, [fp, #-3872]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L697
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3868]
	str	r3, [fp, #-3864]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3860]
	str	r3, [fp, #-3856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3852]
	str	r3, [fp, #-3848]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3856
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L595
	ldr	r3, .L697
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L697
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3876]
	str	r3, [fp, #-3872]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L697
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	b	.L698
.L699:
	.align	2
.L697:
	.word	splitter
	.word	splitter
.L698:
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3868]
	str	r3, [fp, #-3864]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3860]
	str	r3, [fp, #-3856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3852]
	str	r3, [fp, #-3848]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3856
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
.L595:
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L593
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldr	r1, [r3, #-8]
	sub	r0, fp, #5056
	sub	r0, r0, #44
	str	r1, [r0]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #5056
	sub	r1, r1, #40
	str	r3, [r1]
	sub	r3, fp, #5056
	sub	r3, r3, #44
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L697+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L697+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L697+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L697+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3876]
	str	r3, [fp, #-3872]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L697+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3868]
	str	r3, [fp, #-3864]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3860]
	str	r3, [fp, #-3856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3852]
	str	r3, [fp, #-3848]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3856
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L593
	ldr	r3, .L700
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L700
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3876]
	str	r3, [fp, #-3872]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L700
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3868]
	str	r3, [fp, #-3864]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3860]
	str	r3, [fp, #-3856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3852]
	str	r3, [fp, #-3848]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3856
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
.L593:
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L600
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L602
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L700
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L700
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	b	.L701
.L702:
	.align	2
.L700:
	.word	splitter
	.word	splitter
.L701:
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L700+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L700+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3876]
	str	r3, [fp, #-3872]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L700+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3868]
	str	r3, [fp, #-3864]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3860]
	str	r3, [fp, #-3856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3852]
	str	r3, [fp, #-3848]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3856
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L602
	ldr	r3, .L700+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L700+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3876]
	str	r3, [fp, #-3872]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L703
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3868]
	str	r3, [fp, #-3864]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3860]
	str	r3, [fp, #-3856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3852]
	str	r3, [fp, #-3848]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3856
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
.L602:
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L600
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldr	r1, [r3]
	sub	r0, fp, #5056
	sub	r0, r0, #52
	str	r1, [r0]
	ldr	r3, [r3, #4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #5056
	sub	r1, r1, #48
	str	r3, [r1]
	sub	r3, fp, #5056
	sub	r3, r3, #52
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L703
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L703
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L703
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L703
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	b	.L704
.L705:
	.align	2
.L703:
	.word	splitter
	.word	splitter
.L704:
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3876]
	str	r3, [fp, #-3872]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L703+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3868]
	str	r3, [fp, #-3864]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3860]
	str	r3, [fp, #-3856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3852]
	str	r3, [fp, #-3848]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3856
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L600
	ldr	r3, .L703+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L703+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3876]
	str	r3, [fp, #-3872]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L703+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3868]
	str	r3, [fp, #-3864]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3860]
	str	r3, [fp, #-3856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3852]
	str	r3, [fp, #-3848]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3856
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
.L600:
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L607
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L609
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L706
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L706
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L706
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L706
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3876]
	str	r3, [fp, #-3872]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L706
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3868]
	str	r3, [fp, #-3864]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3860]
	str	r3, [fp, #-3856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3852]
	str	r3, [fp, #-3848]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3856
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L609
	ldr	r3, .L706
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	b	.L707
.L708:
	.align	2
.L706:
	.word	splitter
	.word	splitter
.L707:
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L706+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3876]
	str	r3, [fp, #-3872]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L706+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4160
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3868]
	str	r3, [fp, #-3864]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3860]
	str	r3, [fp, #-3856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3852]
	str	r3, [fp, #-3848]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3856
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
.L609:
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L607
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4544
	sub	r3, r3, #28
	ldr	r1, [r3, #-8]
	sub	r0, fp, #5056
	sub	r0, r0, #60
	str	r1, [r0]
	ldr	r3, [r3, #-4]
	eor	r3, r3, #-2147483648
	sub	r1, fp, #5056
	sub	r1, r1, #56
	str	r3, [r1]
	sub	r3, fp, #5056
	sub	r3, r3, #60
	ldmia	r3, {r3-r4}
	stm	r2, {r3-r4}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L706+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4416
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L706+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L709
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L709
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3876]
	str	r3, [fp, #-3872]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L709
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3868]
	str	r3, [fp, #-3864]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3860]
	str	r3, [fp, #-3856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3852]
	str	r3, [fp, #-3848]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3856
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L607
	ldr	r3, .L709
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	ldr	r3, .L709
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	b	.L710
.L711:
	.align	2
.L709:
	.word	splitter
	.word	splitter
	.word	.LC923
.L710:
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3876]
	str	r3, [fp, #-3872]
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, .L709+4
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4800
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmdb	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	ldmia	ip, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4800
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4736
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmdb	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3868]
	str	r3, [fp, #-3864]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r4, r3
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #4224
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4672
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-3860]
	str	r3, [fp, #-3856]
	sub	r3, fp, #4224
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-3852]
	str	r3, [fp, #-3848]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3856
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
.L607:
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L614
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r2, r3
	sub	r1, fp, #3632
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #3216
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-832]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-828]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3216
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	ldr	r2, [ip, #-828]
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
.L614:
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L616
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r2, r3
	sub	r1, fp, #3568
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #3216
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	ldr	r0, [r0, #-820]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-828]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3216
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	ldr	r2, [ip, #-828]
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
.L616:
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	ldmdb	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L618
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #4480
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r1, fp, #3504
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #3216
	sub	r3, r3, #12
	sub	r3, r3, #8
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-816]
	bl	scale_expansion_zeroelim
	str	r0, [r4, #-828]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #3216
	sub	r3, r3, #12
	sub	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	ip, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r0, r2
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-880]
	str	r2, [sp]
	ldr	r2, [ip, #-828]
	ldr	r1, [r1, #-884]
	ldr	r0, [r0, #-876]
	bl	fast_expansion_sum_zeroelim
	str	r0, [r4, #-876]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-884]
	str	r3, [r2, #-824]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-880]
	str	r3, [r2, #-884]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-824]
	str	r3, [r2, #-880]
.L618:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-876]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-884]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
.L620:
	ldr	r1, .L709+8
	ldr	r0, [r1]
	ldr	r1, [fp, #-32]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L621
	bl	__stack_chk_fail
.L621:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	orient3dadapt, .-orient3dadapt
	.align	2
	.global	orient3d
	.syntax unified
	.arm
	.fpu softvfp
	.type	orient3d, %function
orient3d:
	@ args = 40, pretend = 0, frame = 224
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #264
	str	r0, [fp, #-176]
	str	r1, [fp, #-180]
	str	r2, [fp, #-184]
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-176]
	add	r3, r3, #49152
	ldr	r3, [r3, #588]
	add	r2, r3, #1
	ldr	r3, [fp, #-176]
	add	r3, r3, #49152
	str	r2, [r3, #588]
	ldr	r3, [fp, #-184]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-188]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	ldr	r3, [fp, #4]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-184]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-188]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	add	r3, fp, #36
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	add	r3, fp, #36
	ldmia	r3, {r2-r3}
	add	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	add	r3, fp, #36
	ldmia	r3, {r2-r3}
	add	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #84]
	cmp	r3, #0
	beq	.L713
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	b	.L714
.L713:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L754
	sub	r9, fp, #100
	ldmia	r9, {r8-r9}
	b	.L717
.L754:
	ldr	r8, [fp, #-100]
	ldr	r3, [fp, #-96]
	eor	r9, r3, #-2147483648
.L717:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L755
	sub	r7, fp, #92
	ldmia	r7, {r6-r7}
	b	.L720
.L755:
	ldr	r6, [fp, #-92]
	ldr	r3, [fp, #-88]
	eor	r7, r3, #-2147483648
.L720:
	mov	r2, r6
	mov	r3, r7
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L756
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	b	.L723
.L756:
	ldr	r3, [fp, #-124]
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-120]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-192]
.L723:
	mov	r2, r4
	mov	r3, r5
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L757
	sub	r4, fp, #84
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-204]
	str	r4, [fp, #-200]
	b	.L726
.L757:
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-80]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-200]
.L726:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L758
	sub	r4, fp, #76
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-212]
	str	r4, [fp, #-208]
	b	.L729
.L758:
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-212]
	ldr	r3, [fp, #-72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-208]
.L729:
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L759
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	b	.L732
.L759:
	ldr	r3, [fp, #-116]
	str	r3, [fp, #-220]
	ldr	r3, [fp, #-112]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-216]
.L732:
	mov	r2, r4
	mov	r3, r5
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L760
	sub	r4, fp, #68
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-228]
	str	r4, [fp, #-224]
	b	.L735
.L760:
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-64]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-224]
.L735:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L761
	sub	r4, fp, #60
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-236]
	str	r4, [fp, #-232]
	b	.L738
.L761:
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-236]
	ldr	r3, [fp, #-56]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-232]
.L738:
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L762
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-244]
	str	r3, [fp, #-240]
	b	.L741
.L762:
	ldr	r3, [fp, #-108]
	str	r3, [fp, #-244]
	ldr	r3, [fp, #-104]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-240]
.L741:
	mov	r2, r4
	mov	r3, r5
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, .L764
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L742
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-252]
	ldr	r3, [fp, #-48]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-248]
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L763
.L742:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	b	.L714
.L763:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #36
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-188]
	ldr	r0, [fp, #-184]
	bl	orient3dadapt
	mov	r2, r0
	mov	r3, r1
.L714:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L765:
	.align	2
.L764:
	.word	o3derrboundA
	.size	orient3d, .-orient3d
	.align	2
	.global	nonregular
	.syntax unified
	.arm
	.fpu softvfp
	.type	nonregular, %function
nonregular:
	@ args = 8, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #64
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L767
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	incircle
	mov	r2, r0
	mov	r3, r1
	b	.L768
.L767:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #32]
	cmp	r3, #1
	bne	.L769
	ldr	r3, [fp, #-40]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-40]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-44]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-44]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-44]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #4]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #4]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #4]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r3, [fp, #8]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #8]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #8]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	str	r6, [sp, #16]
	str	r7, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	orient3d
	mov	r2, r0
	mov	r3, r1
	b	.L768
.L769:
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-44]
	add	r1, r1, #16
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #4]
	add	ip, ip, #16
	ldmia	ip, {r4-r5}
	ldr	ip, [fp, #8]
	add	ip, ip, #16
	ldmia	ip, {r6-r7}
	str	r6, [sp, #32]
	str	r7, [sp, #36]
	str	r4, [sp, #24]
	str	r5, [sp, #28]
	str	r0, [sp, #16]
	str	r1, [sp, #20]
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	orient3d
	mov	r2, r0
	mov	r3, r1
.L768:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	nonregular, .-nonregular
	.align	2
	.global	findcircumcenter
	.syntax unified
	.arm
	.fpu softvfp
	.type	findcircumcenter, %function
findcircumcenter:
	@ args = 20, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #120
	str	r0, [fp, #-128]
	str	r1, [fp, #-132]
	str	r2, [fp, #-136]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-128]
	add	r3, r3, #49152
	ldr	r3, [r3, #596]
	add	r3, r3, #1
	ldr	r2, [fp, #-128]
	add	r2, r2, #49152
	str	r3, [r2, #596]
	ldr	r3, [fp, #-140]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-136]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #4]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-136]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-140]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #4]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-140]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #4]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-132]
	ldr	r3, [r3, #84]
	cmp	r3, #0
	beq	.L771
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L796
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L772
.L771:
	ldr	r3, [fp, #-136]
	str	r3, [sp]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-140]
	ldr	r1, [fp, #-132]
	ldr	r0, [fp, #-128]
	bl	counterclockwise
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L796
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-128]
	add	r3, r3, #49152
	ldr	r3, [r3, #584]
	sub	r3, r3, #1
	ldr	r2, [fp, #-128]
	add	r2, r2, #49152
	str	r3, [r2, #584]
.L772:
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L773
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L773
	ldr	r3, [fp, #20]
	cmp	r3, #0
	beq	.L779
	ldr	r3, [fp, #-132]
	add	r1, r3, #152
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L788
	b	.L779
.L788:
	mov	r2, #0
	ldr	r3, .L796
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-132]
	add	r1, r3, #152
	ldmia	r1, {r0-r1}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	ldr	r3, .L796
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-132]
	add	r1, r3, #152
	ldmia	r1, {r0-r1}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L789
	b	.L779
.L789:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	b	.L779
.L773:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L795
	ldr	r3, [fp, #20]
	cmp	r3, #0
	beq	.L779
	ldr	r3, [fp, #-132]
	add	r1, r3, #152
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L779
	mov	r2, #0
	ldr	r3, .L796
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-132]
	add	r1, r3, #152
	ldmia	r1, {r0-r1}
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	ldr	r3, .L796
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-132]
	add	r1, r3, #152
	ldmia	r1, {r0-r1}
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L779
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	b	.L779
.L795:
	ldr	r3, [fp, #20]
	cmp	r3, #0
	beq	.L779
	ldr	r3, [fp, #-132]
	add	r1, r3, #152
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L779
	ldr	r3, [fp, #4]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L796
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-132]
	add	r5, r3, #152
	ldmia	r5, {r4-r5}
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L796
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-132]
	add	r5, r3, #152
	ldmia	r5, {r4-r5}
	ldr	r3, [fp, #4]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L779
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
.L779:
	ldr	r3, [fp, #-136]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #8]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #8]
	add	r4, r3, #8
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #12]
	stm	r1, {r2-r3}
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #16]
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L797:
	.align	2
.L796:
	.word	1071644672
	.size	findcircumcenter, .-findcircumcenter
	.align	2
	.global	triangleinit
	.syntax unified
	.arm
	.fpu softvfp
	.type	triangleinit, %function
triangleinit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #112
	mov	r0, r3
	bl	poolzero
	ldr	r3, [fp, #-8]
	mov	r0, r3
	bl	poolzero
	ldr	r3, [fp, #-8]
	add	r3, r3, #56
	mov	r0, r3
	bl	poolzero
	ldr	r3, [fp, #-8]
	add	r3, r3, #168
	mov	r0, r3
	bl	poolzero
	ldr	r3, [fp, #-8]
	add	r3, r3, #224
	mov	r0, r3
	bl	poolzero
	ldr	r3, [fp, #-8]
	add	r3, r3, #280
	mov	r0, r3
	bl	poolzero
	ldr	r3, [fp, #-8]
	add	r3, r3, #336
	mov	r0, r3
	bl	poolzero
	ldr	r3, [fp, #-8]
	add	r3, r3, #392
	mov	r0, r3
	bl	poolzero
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #632]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #516]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #576]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #564]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #568]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #588]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #588]
	ldr	r2, [fp, #-8]
	add	r2, r2, #49152
	str	r3, [r2, #584]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #584]
	ldr	r2, [fp, #-8]
	add	r2, r2, #49152
	str	r3, [r2, #580]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #596]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #596]
	ldr	r2, [fp, #-8]
	add	r2, r2, #49152
	str	r3, [r2, #600]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #600]
	ldr	r2, [fp, #-8]
	add	r2, r2, #49152
	str	r3, [r2, #592]
	ldr	r3, .L799
	mov	r2, #1
	str	r2, [r3]
	bl	exactinit
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L800:
	.align	2
.L799:
	.word	randomseed
	.size	triangleinit, .-triangleinit
	.global	__aeabi_uidiv
	.align	2
	.global	randomnation
	.syntax unified
	.arm
	.fpu softvfp
	.type	randomnation, %function
randomnation:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, .L803
	ldr	r1, [r3]
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r3, r2, #3
	sub	r3, r3, r2
	lsl	r2, r3, #6
	add	r3, r3, r2
	add	r3, r3, r1
	ldr	r1, .L803+4
	add	r1, r3, r1
	ldr	r3, .L803+8
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r0, r3, #19
	mov	r2, r0
	lsl	r2, r2, #1
	add	r2, r2, r0
	lsl	r3, r2, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r0
	lsl	r2, r3, #6
	add	r3, r3, r2
	lsl	r2, r3, #6
	add	r3, r3, r2
	sub	r0, r1, r3
	ldr	r3, .L803
	str	r0, [r3]
	ldr	r3, .L803
	ldr	r4, [r3]
	ldr	r1, [fp, #-16]
	ldr	r0, .L803+12
	bl	__aeabi_uidiv
	mov	r3, r0
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_uidiv
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L804:
	.align	2
.L803:
	.word	randomseed
	.word	150889
	.word	2012374363
	.word	714025
	.size	randomnation, .-randomnation
	.section	.rodata
	.align	2
.LC924:
	.ascii	"  Checking consistency of mesh...\000"
	.align	2
.LC925:
	.ascii	"  !! !! Inverted \000"
	.align	2
.LC926:
	.ascii	"  !! !! Asymmetric triangle-triangle bond:\000"
	.align	2
.LC927:
	.ascii	"   (Right triangle, wrong orientation)\000"
	.align	2
.LC928:
	.ascii	"    First \000"
	.align	2
.LC929:
	.ascii	"    Second (nonreciprocating) \000"
	.align	2
.LC930:
	.ascii	"  !! !! Mismatched edge coordinates between two tri"
	.ascii	"angles:\000"
	.align	2
.LC931:
	.ascii	"    First mismatched \000"
	.align	2
.LC932:
	.ascii	"    Second mismatched \000"
	.align	2
.LC933:
	.ascii	"  In my studied opinion, the mesh appears to be con"
	.ascii	"sistent.\000"
	.align	2
.LC934:
	.ascii	"  !! !! !! !! Precisely one festering wound discove"
	.ascii	"red.\000"
	.align	2
.LC935:
	.ascii	"  !! !! !! !! %d abominations witnessed.\012\000"
	.align	2
.LC936:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	checkmesh
	.syntax unified
	.arm
	.fpu softvfp
	.type	checkmesh, %function
checkmesh:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	ldr	r3, .L823
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #84]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-76]
	mov	r2, #0
	str	r2, [r3, #84]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L806
	ldr	r0, .L823+4
	bl	puts
.L806:
	mov	r3, #0
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-72]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-72]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-32]
	b	.L807
.L817:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L808
.L816:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L823+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L823+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L809
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	str	r3, [sp]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	counterclockwise
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L809
	ldr	r0, .L823+16
	bl	printf
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	printtriangle
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L809:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L811
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	and	r3, r3, #3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	eor	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L812
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	beq	.L813
.L812:
	ldr	r0, .L823+20
	bl	puts
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L814
	ldr	r0, .L823+24
	bl	puts
.L814:
	ldr	r0, .L823+28
	bl	printf
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	printtriangle
	ldr	r0, .L823+32
	bl	printf
	sub	r3, fp, #24
	mov	r2, r3
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	printtriangle
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L813:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L823+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L823+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bne	.L815
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	beq	.L811
.L815:
	ldr	r0, .L823+36
	bl	puts
	ldr	r0, .L823+40
	bl	printf
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	printtriangle
	ldr	r0, .L823+44
	bl	printf
	sub	r3, fp, #24
	mov	r2, r3
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	printtriangle
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L811:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L808:
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	ble	.L816
	ldr	r0, [fp, #-72]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-32]
.L807:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L817
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L818
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L819
	ldr	r0, .L823+48
	bl	puts
	b	.L819
.L818:
	ldr	r3, [fp, #-64]
	cmp	r3, #1
	bne	.L820
	ldr	r0, .L823+52
	bl	puts
	b	.L819
.L820:
	ldr	r1, [fp, #-64]
	ldr	r0, .L823+56
	bl	printf
.L819:
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #84]
	nop
	ldr	r3, .L823
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L821
	bl	__stack_chk_fail
.L821:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L824:
	.align	2
.L823:
	.word	.LC936
	.word	.LC924
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC925
	.word	.LC926
	.word	.LC927
	.word	.LC928
	.word	.LC929
	.word	.LC930
	.word	.LC931
	.word	.LC932
	.word	.LC933
	.word	.LC934
	.word	.LC935
	.size	checkmesh, .-checkmesh
	.section	.rodata
	.align	2
.LC937:
	.ascii	"  Checking Delaunay property of mesh...\000"
	.align	2
.LC938:
	.ascii	"  !! !! Non-Delaunay pair of triangles:\000"
	.align	2
.LC939:
	.ascii	"    First non-Delaunay \000"
	.align	2
.LC940:
	.ascii	"    Second non-Delaunay \000"
	.align	2
.LC941:
	.ascii	"  !! !! Non-regular pair of triangles:\000"
	.align	2
.LC942:
	.ascii	"    First non-regular \000"
	.align	2
.LC943:
	.ascii	"    Second non-regular \000"
	.align	2
.LC944:
	.ascii	"  By virtue of my perceptive intelligence, I declar"
	.ascii	"e the mesh Delaunay.\000"
	.align	2
.LC945:
	.ascii	"  !! !! !! !! Precisely one terrifying transgressio"
	.ascii	"n identified.\000"
	.align	2
.LC946:
	.ascii	"  !! !! !! !! %d obscenities viewed with horror.\012"
	.ascii	"\000"
	.align	2
.LC947:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	checkdelaunay
	.syntax unified
	.arm
	.fpu softvfp
	.type	checkdelaunay, %function
checkdelaunay:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	ldr	r3, .L843
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #84]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-76]
	mov	r2, #0
	str	r2, [r3, #84]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L826
	ldr	r0, .L843+4
	bl	puts
.L826:
	mov	r3, #0
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-72]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-72]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-32]
	b	.L827
.L837:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L828
.L836:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L843+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L843+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L829
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L829
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bcs	.L829
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #604]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	beq	.L829
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #608]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	beq	.L829
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #612]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	beq	.L829
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #604]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	beq	.L829
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #608]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	beq	.L829
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #612]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	beq	.L829
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #604]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	beq	.L829
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #608]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	beq	.L829
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #612]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	beq	.L829
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #604]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	beq	.L829
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #608]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	beq	.L829
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #612]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	beq	.L829
	mov	r3, #1
	b	.L830
.L829:
	mov	r3, #0
.L830:
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #564]
	cmp	r3, #0
	beq	.L831
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L831
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-36]
	bic	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L831
	mov	r3, #0
	str	r3, [fp, #-68]
.L831:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L832
	ldr	r3, [fp, #-40]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-48]
	str	r3, [sp]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	nonregular
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L832
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L834
	ldr	r0, .L843+16
	bl	puts
	ldr	r0, .L843+20
	bl	printf
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	printtriangle
	ldr	r0, .L843+24
	bl	printf
	b	.L835
.L834:
	ldr	r0, .L843+28
	bl	puts
	ldr	r0, .L843+32
	bl	printf
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	printtriangle
	ldr	r0, .L843+36
	bl	printf
.L835:
	sub	r3, fp, #24
	mov	r2, r3
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	printtriangle
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L832:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L828:
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	ble	.L836
	ldr	r0, [fp, #-72]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-32]
.L827:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L837
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L838
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L839
	ldr	r0, .L843+40
	bl	puts
	b	.L839
.L838:
	ldr	r3, [fp, #-64]
	cmp	r3, #1
	bne	.L840
	ldr	r0, .L843+44
	bl	puts
	b	.L839
.L840:
	ldr	r1, [fp, #-64]
	ldr	r0, .L843+48
	bl	printf
.L839:
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #84]
	nop
	ldr	r3, .L843
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L841
	bl	__stack_chk_fail
.L841:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L844:
	.align	2
.L843:
	.word	.LC947
	.word	.LC937
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC938
	.word	.LC939
	.word	.LC940
	.word	.LC941
	.word	.LC942
	.word	.LC943
	.word	.LC944
	.word	.LC945
	.word	.LC946
	.size	checkdelaunay, .-checkdelaunay
	.section	.rodata
	.align	2
.LC948:
	.ascii	"  Queueing bad triangle:\000"
	.align	2
.LC949:
	.ascii	"    (%.12g, %.12g) (%.12g, %.12g) (%.12g, %.12g)\012"
	.ascii	"\000"
	.text
	.align	2
	.global	enqueuebadtriang
	.syntax unified
	.arm
	.fpu softvfp
	.type	enqueuebadtriang, %function
enqueuebadtriang:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #104
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L846
	ldr	r0, .L865
	bl	puts
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #16]
	ldmia	r3, {r3-r4}
	str	r3, [fp, #-92]
	str	r4, [fp, #-88]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-80]
	ldr	r1, [r1, #20]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-80]
	ldr	ip, [ip, #20]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	ldr	ip, [fp, #-80]
	ldr	ip, [ip, #24]
	ldmia	ip, {r6-r7}
	ldr	ip, [fp, #-80]
	ldr	ip, [ip, #24]
	add	ip, ip, #8
	ldmia	ip, {r8-r9}
	str	r8, [sp, #32]
	str	r9, [sp, #36]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	ldr	r0, .L865+4
	bl	printf
.L846:
	ldr	r3, [fp, #-80]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L865+8
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L864
	ldr	r3, [fp, #-80]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L849
.L864:
	ldr	r3, [fp, #-80]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L865+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-52]
.L849:
	mov	r3, #0
	str	r3, [fp, #-64]
	b	.L850
.L853:
	mov	r3, #1
	str	r3, [fp, #-60]
	mov	r2, #0
	ldr	r3, .L865+12
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L851
.L852:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #1
	str	r3, [fp, #-60]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
.L851:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L865+8
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L852
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
.L850:
	mov	r2, #0
	mov	r3, #1073741824
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L853
	ldr	r3, [fp, #-64]
	lsl	r4, r3, #1
	mov	r3, #1
	mov	r5, r3
	ldr	r2, .L865+16
	ldr	r3, .L865+20
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L854
	mov	r3, #0
	mov	r5, r3
.L854:
	and	r3, r5, #255
	add	r3, r4, r3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L855
	ldr	r3, [fp, #-64]
	rsb	r3, r3, #2032
	add	r3, r3, #15
	str	r3, [fp, #-56]
	b	.L856
.L855:
	ldr	r3, [fp, #-64]
	add	r3, r3, #2048
	str	r3, [fp, #-56]
.L856:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-56]
	add	r2, r2, #112
	ldr	r3, [r3, r2, lsl #2]
	cmp	r3, #0
	bne	.L857
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #448]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	ble	.L858
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r1, [r3, #448]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r3, #8256
	add	r3, r3, #48
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	mov	r2, r3
	ldr	r3, [fp, #-56]
	str	r3, [r2, #448]
	b	.L859
.L858:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	b	.L860
.L861:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L860:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-48]
	add	r2, r2, #112
	ldr	r3, [r3, r2, lsl #2]
	cmp	r3, #0
	beq	.L861
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-48]
	add	r3, r3, #8256
	add	r3, r3, #48
	ldr	r1, [r2, r3, lsl #2]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r3, #8256
	add	r3, r3, #48
	str	r1, [r2, r3, lsl #2]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-48]
	add	r3, r3, #8256
	add	r3, r3, #48
	ldr	r1, [fp, #-56]
	str	r1, [r2, r3, lsl #2]
.L859:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-56]
	add	r2, r2, #112
	ldr	r1, [fp, #-80]
	str	r1, [r3, r2, lsl #2]
	b	.L862
.L857:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r3, #4160
	add	r3, r3, #48
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-80]
	str	r2, [r3, #28]
.L862:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r3, #4160
	add	r3, r3, #48
	ldr	r1, [fp, #-80]
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-80]
	mov	r2, #0
	str	r2, [r3, #28]
	nop
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L866:
	.align	2
.L865:
	.word	.LC948
	.word	.LC949
	.word	1072693248
	.word	1071644672
	.word	1719614413
	.word	1073127582
	.size	enqueuebadtriang, .-enqueuebadtriang
	.align	2
	.global	enqueuebadtri
	.syntax unified
	.arm
	.fpu softvfp
	.type	enqueuebadtri, %function
enqueuebadtri:
	@ args = 20, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	add	r3, r3, #280
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	orr	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r1, [fp, #-8]
	ldmib	fp, {r2-r3}
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #12]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #20]
	str	r2, [r3, #20]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	enqueuebadtriang
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	enqueuebadtri, .-enqueuebadtri
	.align	2
	.global	dequeuebadtriang
	.syntax unified
	.arm
	.fpu softvfp
	.type	dequeuebadtriang, %function
dequeuebadtriang:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #448]
	cmp	r3, #0
	bge	.L869
	mov	r3, #0
	b	.L870
.L869:
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r2, [r3, #448]
	ldr	r3, [fp, #-16]
	add	r2, r2, #112
	ldr	r3, [r3, r2, lsl #2]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r2, [r3, #448]
	ldr	r3, [fp, #-8]
	ldr	r1, [r3, #28]
	ldr	r3, [fp, #-16]
	add	r2, r2, #112
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #448]
	ldr	r2, [fp, #-16]
	add	r3, r3, #4160
	add	r3, r3, #48
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L871
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #448]
	ldr	r2, [fp, #-16]
	add	r3, r3, #8256
	add	r3, r3, #48
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-16]
	add	r2, r2, #49152
	str	r3, [r2, #448]
.L871:
	ldr	r3, [fp, #-8]
.L870:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	dequeuebadtriang, .-dequeuebadtriang
	.section	.rodata
	.align	2
.LC950:
	.ascii	"  Queueing encroached subsegment (%.12g, %.12g) (%."
	.ascii	"12g, %.12g).\012\000"
	.text
	.align	2
	.global	checkseg4encroach
	.syntax unified
	.arm
	.fpu softvfp
	.type	checkseg4encroach, %function
checkseg4encroach:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #104
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	str	r2, [fp, #-96]
	mov	r3, #0
	str	r3, [fp, #-80]
	mov	r3, #0
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-96]
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #4]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-96]
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #4]
	rsb	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-96]
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #4]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-64]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-88]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L873
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-72]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L873
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #88]
	cmp	r3, #0
	bne	.L875
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-92]
	add	r1, r3, #144
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L888
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-92]
	add	r1, r3, #144
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L888
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-72]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-72]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L873
.L875:
	mov	r3, #1
	str	r3, [fp, #-80]
.L873:
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #4]
	rsb	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-64]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-88]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L877
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-72]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L877
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #88]
	cmp	r3, #0
	bne	.L879
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-92]
	add	r1, r3, #144
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L888
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-92]
	add	r1, r3, #144
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L888
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-72]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-72]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L877
.L879:
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
.L877:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L881
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #128]
	cmp	r3, #0
	beq	.L882
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #128]
	cmp	r3, #1
	bne	.L881
	ldr	r3, [fp, #-76]
	cmp	r3, #2
	bne	.L881
.L882:
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L883
	ldr	r3, [fp, #-72]
	ldmia	r3, {r6-r7}
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-68]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-68]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, r6
	mov	r3, r7
	ldr	r0, .L888+4
	bl	printf
.L883:
	ldr	r3, [fp, #-88]
	add	r3, r3, #224
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-80]
	cmp	r3, #1
	bne	.L884
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #4]
	orr	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-72]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-68]
	str	r2, [r3, #8]
	b	.L881
.L884:
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-32]
	orr	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-68]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-72]
	str	r2, [r3, #8]
.L881:
	ldr	r3, [fp, #-80]
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L889:
	.align	2
.L888:
	.word	1072693248
	.word	.LC950
	.size	checkseg4encroach, .-checkseg4encroach
	.align	2
	.global	testtriangle
	.syntax unified
	.arm
	.fpu softvfp
	.type	testtriangle, %function
testtriangle:
	@ args = 0, pretend = 0, frame = 248
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #272
	str	r0, [fp, #-256]
	str	r1, [fp, #-260]
	str	r2, [fp, #-264]
	ldr	r3, [fp, #-264]
	ldr	r2, [r3]
	ldr	r3, [fp, #-264]
	ldr	r3, [r3, #4]
	ldr	r1, .L933
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-264]
	ldr	r2, [r3]
	ldr	r3, [fp, #-264]
	ldr	r3, [r3, #4]
	ldr	r1, .L933+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-236]
	ldr	r3, [fp, #-264]
	ldr	r2, [r3]
	ldr	r3, [fp, #-264]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-232]
	ldr	r3, [fp, #-240]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-236]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-240]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-236]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-180]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-236]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-232]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-236]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-232]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-232]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-240]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-232]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-240]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L891
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L891
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-252]
	ldr	r3, [fp, #-236]
	str	r3, [fp, #-248]
	ldr	r3, [fp, #-264]
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-264]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-40]
	b	.L894
.L891:
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L931
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-236]
	str	r3, [fp, #-252]
	ldr	r3, [fp, #-232]
	str	r3, [fp, #-248]
	ldr	r3, [fp, #-264]
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-264]
	ldr	r3, [r3, #4]
	ldr	r2, .L933
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-40]
	b	.L894
.L931:
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-232]
	str	r3, [fp, #-252]
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-248]
	ldr	r3, [fp, #-264]
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-264]
	ldr	r3, [r3, #4]
	ldr	r2, .L933+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-40]
.L894:
	ldr	r3, [fp, #-260]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L897
	ldr	r3, [fp, #-260]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L897
	ldr	r3, [fp, #-260]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L898
.L897:
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L933+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-260]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L899
	ldr	r3, [fp, #-260]
	add	r3, r3, #160
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L899
	ldr	r3, [fp, #-236]
	str	r3, [sp, #16]
	ldr	r3, [fp, #-240]
	str	r3, [sp, #12]
	ldr	r3, [fp, #-232]
	str	r3, [sp, #8]
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #-264]
	ldr	r1, [fp, #-260]
	ldr	r0, [fp, #-256]
	bl	enqueuebadtri
	b	.L890
.L899:
	ldr	r3, [fp, #-260]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L902
	ldr	r3, [fp, #-264]
	ldr	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L902
	ldr	r3, [fp, #-264]
	ldr	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L902
	ldr	r3, [fp, #-236]
	str	r3, [sp, #16]
	ldr	r3, [fp, #-240]
	str	r3, [sp, #12]
	ldr	r3, [fp, #-232]
	str	r3, [sp, #8]
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #-264]
	ldr	r1, [fp, #-260]
	ldr	r0, [fp, #-256]
	bl	enqueuebadtri
	b	.L890
.L902:
	ldr	r3, [fp, #-260]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L898
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #-232]
	ldr	r1, [fp, #-236]
	ldr	r0, [fp, #-240]
	bl	triunsuitable
	mov	r3, r0
	cmp	r3, #0
	beq	.L898
	ldr	r3, [fp, #-236]
	str	r3, [sp, #16]
	ldr	r3, [fp, #-240]
	str	r3, [sp, #12]
	ldr	r3, [fp, #-232]
	str	r3, [sp, #8]
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #-264]
	ldr	r1, [fp, #-260]
	ldr	r0, [fp, #-256]
	bl	enqueuebadtri
	b	.L890
.L898:
	ldr	r3, [fp, #-260]
	add	r3, r3, #144
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L890
	ldr	r3, [fp, #-256]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-252]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L907
	ldr	r3, [fp, #-256]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-248]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L907
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-228]
	and	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-228]
	bic	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-256]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L907
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-32]
.L908:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-224]
	ldr	r3, [fp, #-224]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-224]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	ldr	r2, .L933
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-228]
	and	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-228]
	bic	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-256]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L908
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-220]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	rsb	r3, r3, #5
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-216]
.L909:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-224]
	ldr	r3, [fp, #-224]
	and	r3, r3, #3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-224]
	eor	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	ldr	r2, .L933+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-228]
	and	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-228]
	bic	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-256]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L909
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-212]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	rsb	r3, r3, #5
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-208]
	mov	r3, #0
	str	r3, [fp, #-244]
	ldr	r3, [fp, #-216]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-212]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L910
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-212]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L910
	ldr	r3, [fp, #-216]
	str	r3, [fp, #-244]
	b	.L913
.L910:
	ldr	r3, [fp, #-220]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-208]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L913
	ldr	r3, [fp, #-220]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-208]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L913
	ldr	r3, [fp, #-220]
	str	r3, [fp, #-244]
.L913:
	ldr	r3, [fp, #-244]
	cmp	r3, #0
	beq	.L907
	ldr	r3, [fp, #-252]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-244]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-252]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-244]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-252]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-244]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-252]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-244]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-248]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-244]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-248]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-244]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-248]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-244]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-248]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-244]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r2, .L933+12
	ldr	r3, .L933+16
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L907
	ldr	r2, .L933+20
	ldr	r3, .L933+24
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L932
.L907:
	ldr	r3, [fp, #-236]
	str	r3, [sp, #16]
	ldr	r3, [fp, #-240]
	str	r3, [sp, #12]
	ldr	r3, [fp, #-232]
	str	r3, [sp, #8]
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #-264]
	ldr	r1, [fp, #-260]
	ldr	r0, [fp, #-256]
	bl	enqueuebadtri
	b	.L890
.L932:
	nop
.L890:
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L934:
	.align	2
.L933:
	.word	plus1mod3
	.word	minus1mod3
	.word	1071644672
	.word	-1821066134
	.word	1072694296
	.word	-652835029
	.word	1072691150
	.size	testtriangle, .-testtriangle
	.section	.rodata
	.align	2
.LC951:
	.ascii	"    Constructing mapping from vertices to triangles"
	.ascii	".\000"
	.text
	.align	2
	.global	makevertexmap
	.syntax unified
	.arm
	.fpu softvfp
	.type	makevertexmap, %function
makevertexmap:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L936
	ldr	r0, .L941
	bl	puts
.L936:
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-24]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-12]
	b	.L937
.L940:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L938
.L939:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r1, .L941+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	orr	r1, r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #548]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L938:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	ble	.L939
	ldr	r0, [fp, #-24]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-12]
.L937:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L940
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L942:
	.align	2
.L941:
	.word	.LC951
	.word	plus1mod3
	.size	makevertexmap, .-makevertexmap
	.section	.rodata
	.align	2
.LC952:
	.ascii	"  Searching for point (%.12g, %.12g).\012\000"
	.align	2
.LC953:
	.ascii	"    At (%.12g, %.12g) (%.12g, %.12g) (%.12g, %.12g)"
	.ascii	"\012\000"
	.text
	.align	2
	.global	preciselocate
	.syntax unified
	.arm
	.fpu softvfp
	.type	preciselocate, %function
preciselocate:
	@ args = 4, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #120
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	str	r2, [fp, #-96]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L944
	ldr	r3, [fp, #-96]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L980
	bl	printf
.L944:
	ldr	r3, [fp, #-100]
	ldr	r2, [r3]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #4]
	ldr	r1, .L980+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-100]
	ldr	r2, [r3]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #4]
	ldr	r1, .L980+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-100]
	ldr	r2, [r3]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
.L966:
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L945
	ldr	r3, [fp, #-84]
	ldmia	r3, {r3-r4}
	str	r3, [fp, #-108]
	str	r4, [fp, #-104]
	ldr	r3, [fp, #-84]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-80]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-80]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	ldr	ip, [fp, #-76]
	ldmia	ip, {r6-r7}
	ldr	ip, [fp, #-76]
	add	ip, ip, #8
	ldmia	ip, {r8-r9}
	str	r8, [sp, #32]
	str	r9, [sp, #36]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	ldr	r0, .L980+12
	bl	printf
.L945:
	ldr	r3, [fp, #-76]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-96]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L946
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L946
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #4]
	ldr	r2, .L980+8
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-100]
	str	r2, [r3, #4]
	mov	r3, #2
	b	.L967
.L946:
	ldr	r3, [fp, #-96]
	str	r3, [sp]
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-84]
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-88]
	bl	counterclockwise
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	ldr	r3, [fp, #-96]
	str	r3, [sp]
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-76]
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-88]
	bl	counterclockwise
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L975
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L976
	ldr	r3, [fp, #-76]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-96]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-80]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-84]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-84]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L954
	mov	r3, #0
	mov	r4, r3
.L954:
	and	r3, r4, #255
	str	r3, [fp, #-72]
	b	.L955
.L976:
	mov	r3, #1
	str	r3, [fp, #-72]
	b	.L955
.L975:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L977
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L955
.L977:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L978
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #4]
	ldr	r2, .L980+8
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-100]
	str	r2, [r3, #4]
	mov	r3, #1
	b	.L967
.L978:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L979
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #4]
	ldr	r2, .L980+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-100]
	str	r2, [r3, #4]
	mov	r3, #1
	b	.L967
.L979:
	mov	r3, #0
	b	.L967
.L955:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L962
	ldr	r3, [fp, #-100]
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #4]
	ldr	r2, .L980+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-80]
	b	.L963
.L962:
	ldr	r3, [fp, #-100]
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #4]
	ldr	r2, .L980+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-84]
.L963:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	and	r2, r3, #3
	ldr	r3, [fp, #-100]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-68]
	eor	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-100]
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	add	r3, r3, #49152
	ldr	r3, [r3, #564]
	cmp	r3, #0
	beq	.L964
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L964
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	and	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-64]
	bic	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-88]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L964
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-100]
	str	r2, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-100]
	str	r2, [r3, #4]
	mov	r3, #3
	b	.L967
.L964:
	ldr	r3, [fp, #-100]
	ldr	r2, [r3]
	ldr	r3, [fp, #-88]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L965
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-100]
	str	r2, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-100]
	str	r2, [r3, #4]
	mov	r3, #3
	b	.L967
.L965:
	ldr	r3, [fp, #-100]
	ldr	r2, [r3]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	b	.L966
.L967:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L981:
	.align	2
.L980:
	.word	.LC952
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC953
	.size	preciselocate, .-preciselocate
	.section	.rodata
	.align	2
.LC954:
	.ascii	"  Randomly sampling for a triangle near point (%.12"
	.ascii	"g, %.12g).\012\000"
	.align	2
.LC955:
	.ascii	"    Boundary triangle has origin (%.12g, %.12g).\012"
	.ascii	"\000"
	.align	2
.LC956:
	.ascii	"    Choosing recent triangle with origin (%.12g, %."
	.ascii	"12g).\012\000"
	.align	2
.LC957:
	.ascii	"    Choosing triangle with origin (%.12g, %.12g).\012"
	.ascii	"\000"
	.text
	.align	2
	.global	locate
	.syntax unified
	.arm
	.fpu softvfp
	.type	locate, %function
locate:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #104
	str	r0, [fp, #-104]
	str	r1, [fp, #-108]
	str	r2, [fp, #-112]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L983
	ldr	r3, [fp, #-112]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1026
	bl	printf
.L983:
	ldr	r3, [fp, #-116]
	ldr	r2, [r3]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #4]
	ldr	r1, .L1026+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-112]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-112]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L984
	ldr	r3, [fp, #-76]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1026+8
	bl	printf
.L984:
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #632]
	cmp	r3, #0
	beq	.L991
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #632]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L991
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r2, [r3, #632]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #636]
	ldr	r1, .L1026+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-112]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L986
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L986
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r2, [r3, #632]
	ldr	r3, [fp, #-116]
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r2, [r3, #636]
	ldr	r3, [fp, #-116]
	str	r2, [r3, #4]
	mov	r3, #2
	b	.L1014
.L986:
	ldr	r3, [fp, #-112]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-112]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L985
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r2, [r3, #632]
	ldr	r3, [fp, #-116]
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r2, [r3, #636]
	ldr	r3, [fp, #-116]
	str	r2, [r3, #4]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L991
	ldr	r3, [fp, #-76]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1026+12
	bl	printf
.L985:
	b	.L991
.L992:
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #576]
	add	r3, r3, #1
	ldr	r2, [fp, #-104]
	add	r2, r2, #49152
	str	r3, [r2, #576]
.L991:
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #576]
	ldr	r2, [fp, #-104]
	add	r2, r2, #49152
	ldr	r2, [r2, #576]
	mul	r3, r2, r3
	ldr	r2, [fp, #-104]
	add	r2, r2, #49152
	ldr	r2, [r2, #576]
	mul	r2, r3, r2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r3, r2
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #40]
	cmp	r2, r3
	blt	.L992
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r2, [r3, #576]
	mov	r3, r2
	lsl	r3, r3, #10
	sub	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, r3, #1
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #44]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idiv
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #576]
	ldr	r2, [fp, #-104]
	ldr	r2, [r2, #36]
	mul	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #44]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idiv
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #576]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3]
	str	r3, [fp, #-96]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L993
.L999:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	ble	.L994
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-84]
.L994:
	ldr	r3, [fp, #-96]
	add	r3, r3, #4
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	add	r4, r2, r3
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	sub	r3, r4, r3
	str	r3, [fp, #-56]
.L998:
	ldr	r3, [fp, #-84]
	mov	r0, r3
	bl	randomnation
	mov	r2, r0
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #28]
	mul	r3, r2, r3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L995
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r1, .L1026+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-112]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-112]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L995
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-116]
	str	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-116]
	str	r2, [r3, #4]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L995
	ldr	r3, [fp, #-76]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1026+16
	bl	printf
.L995:
	ldr	r3, [fp, #-88]
	sub	r3, r3, #1
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-92]
	sub	r3, r3, #1
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	ble	.L997
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bgt	.L998
.L997:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	ble	.L993
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-84]
	sub	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r3, .L1026+20
	str	r3, [fp, #-84]
.L993:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bgt	.L999
	ldr	r3, [fp, #-116]
	ldr	r2, [r3]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #4]
	ldr	r1, .L1026+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-116]
	ldr	r2, [r3]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #4]
	ldr	r1, .L1026+24
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-76]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-112]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1000
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1000
	mov	r3, #2
	b	.L1014
.L1000:
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-112]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1003
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1003
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #4]
	ldr	r2, .L1026+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-116]
	str	r2, [r3, #4]
	mov	r3, #2
	b	.L1014
.L1003:
	ldr	r3, [fp, #-112]
	str	r3, [sp]
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-76]
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-104]
	bl	counterclockwise
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1025
	ldr	r3, [fp, #-116]
	ldr	r2, [r3]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	and	r2, r3, #3
	ldr	r3, [fp, #-116]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-64]
	eor	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-116]
	str	r2, [r3]
	b	.L1008
.L1025:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1008
	ldr	r3, [fp, #-76]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-112]
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1010
	mov	r3, #0
	mov	r4, r3
.L1010:
	and	r3, r4, #255
	eor	r3, r3, #1
	and	r4, r3, #255
	ldr	r3, [fp, #-112]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-68]
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r5, ip
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1011
	mov	r3, #0
	mov	r5, r3
.L1011:
	and	r3, r5, #255
	eor	r3, r3, r4
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1008
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1012
	mov	r3, #0
	mov	r4, r3
.L1012:
	and	r3, r4, #255
	eor	r3, r3, #1
	and	r4, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r5, ip
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1013
	mov	r3, #0
	mov	r5, r3
.L1013:
	and	r3, r5, #255
	eor	r3, r3, r4
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1008
	mov	r3, #1
	b	.L1014
.L1008:
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-116]
	ldr	r2, [fp, #-112]
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-104]
	bl	preciselocate
	mov	r3, r0
.L1014:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L1027:
	.align	2
.L1026:
	.word	.LC954
	.word	plus1mod3
	.word	.LC955
	.word	.LC956
	.word	.LC957
	.word	4092
	.word	minus1mod3
	.size	locate, .-locate
	.section	.rodata
	.align	2
.LC958:
	.ascii	"  Inserting new \000"
	.align	2
.LC959:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	insertsubseg
	.syntax unified
	.arm
	.fpu softvfp
	.type	insertsubseg, %function
insertsubseg:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, .L1035
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r1, .L1035+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r1, .L1035+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1029
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [fp, #-60]
	str	r2, [r3]
.L1029:
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1030
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [fp, #-60]
	str	r2, [r3]
.L1030:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	and	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	bic	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1031
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	makesubseg
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	rsb	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	rsb	r3, r3, #5
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	orr	r1, r2, r3
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	rsb	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #32
	ldr	r2, [fp, #-60]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1034
	ldr	r0, .L1035+12
	bl	printf
	sub	r3, fp, #16
	mov	r2, r3
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	printsubseg
	b	.L1034
.L1031:
	ldr	r3, [fp, #-16]
	add	r3, r3, #32
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1034
	ldr	r3, [fp, #-16]
	add	r3, r3, #32
	ldr	r2, [fp, #-60]
	str	r2, [r3]
.L1034:
	nop
	ldr	r3, .L1035
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1033
	bl	__stack_chk_fail
.L1033:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1036:
	.align	2
.L1035:
	.word	.LC959
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC958
	.size	insertsubseg, .-insertsubseg
	.section	.rodata
	.align	2
.LC960:
	.ascii	"  Edge flip results in left \000"
	.align	2
.LC961:
	.ascii	"  and right \000"
	.align	2
.LC962:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	flip
	.syntax unified
	.arm
	.fpu softvfp
	.type	flip, %function
flip:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-144]
	str	r1, [fp, #-148]
	str	r2, [fp, #-152]
	ldr	r3, .L1049
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	ldr	r1, .L1049+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	ldr	r1, .L1049+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	and	r3, r3, #3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	eor	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-76]
	ldr	r2, .L1049+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-92]
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	and	r3, r3, #3
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	eor	r3, r3, r2
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-76]
	ldr	r2, .L1049+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-84]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	and	r3, r3, #3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	eor	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	ldr	r2, .L1049+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-108]
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	and	r3, r3, #3
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	eor	r3, r3, r2
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	ldr	r2, .L1049+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-100]
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	and	r3, r3, #3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	eor	r3, r3, r2
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-72]
	mov	r2, r3
	ldr	r3, [fp, #-68]
	orr	r1, r2, r3
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	orr	r1, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	orr	r1, r2, r3
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-112]
	mov	r2, r3
	ldr	r3, [fp, #-108]
	orr	r1, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r1, r2, r3
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	orr	r1, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	orr	r1, r2, r3
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	mov	r2, r3
	ldr	r3, [fp, #-84]
	orr	r1, r2, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #49152
	ldr	r3, [r3, #564]
	cmp	r3, #0
	beq	.L1038
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-116]
	bic	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-116]
	bic	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-116]
	bic	r3, r3, #3
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-116]
	bic	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-144]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1039
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-144]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	b	.L1040
.L1039:
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	mov	r2, r3
	ldr	r3, [fp, #-84]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1040:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-144]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1041
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-144]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	b	.L1042
.L1041:
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1042:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-144]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1043
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-144]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	b	.L1044
.L1043:
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-112]
	mov	r2, r3
	ldr	r3, [fp, #-108]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1044:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-144]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1045
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-144]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	b	.L1038
.L1045:
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	orr	r1, r2, r3
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	orr	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1038:
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	ldr	r1, .L1049+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-120]
	str	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	ldr	r1, .L1049+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-128]
	str	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-136]
	str	r2, [r3]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	ldr	r1, .L1049+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-128]
	str	r2, [r3]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	ldr	r1, .L1049+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-120]
	str	r2, [r3]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-132]
	str	r2, [r3]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1048
	ldr	r0, .L1049+12
	bl	printf
	sub	r3, fp, #80
	mov	r2, r3
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-144]
	bl	printtriangle
	ldr	r0, .L1049+16
	bl	printf
	ldr	r2, [fp, #-152]
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-144]
	bl	printtriangle
.L1048:
	nop
	ldr	r3, .L1049
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1047
	bl	__stack_chk_fail
.L1047:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1050:
	.align	2
.L1049:
	.word	.LC962
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC960
	.word	.LC961
	.size	flip, .-flip
	.section	.rodata
	.align	2
.LC963:
	.ascii	"  Edge unflip results in left \000"
	.align	2
.LC964:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	unflip
	.syntax unified
	.arm
	.fpu softvfp
	.type	unflip, %function
unflip:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-144]
	str	r1, [fp, #-148]
	str	r2, [fp, #-152]
	ldr	r3, .L1063
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	ldr	r1, .L1063+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	ldr	r1, .L1063+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	and	r3, r3, #3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	eor	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-76]
	ldr	r2, .L1063+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-92]
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	and	r3, r3, #3
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	eor	r3, r3, r2
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-76]
	ldr	r2, .L1063+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-84]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	and	r3, r3, #3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	eor	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	ldr	r2, .L1063+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-108]
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	and	r3, r3, #3
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	eor	r3, r3, r2
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	ldr	r2, .L1063+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-100]
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	and	r3, r3, #3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	eor	r3, r3, r2
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-48]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r1, r2, r3
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	orr	r1, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	orr	r1, r2, r3
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-112]
	mov	r2, r3
	ldr	r3, [fp, #-108]
	orr	r1, r2, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-72]
	mov	r2, r3
	ldr	r3, [fp, #-68]
	orr	r1, r2, r3
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	orr	r1, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	orr	r1, r2, r3
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	mov	r2, r3
	ldr	r3, [fp, #-84]
	orr	r1, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #49152
	ldr	r3, [r3, #564]
	cmp	r3, #0
	beq	.L1052
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-116]
	bic	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-116]
	bic	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-116]
	bic	r3, r3, #3
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-116]
	bic	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-144]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1053
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-144]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	b	.L1054
.L1053:
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-112]
	mov	r2, r3
	ldr	r3, [fp, #-108]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1054:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-144]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1055
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-144]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	b	.L1056
.L1055:
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1056:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-144]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1057
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-144]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	b	.L1058
.L1057:
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	mov	r2, r3
	ldr	r3, [fp, #-84]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1058:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-144]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1059
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-144]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	b	.L1052
.L1059:
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	orr	r1, r2, r3
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	orr	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1052:
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	ldr	r1, .L1063+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-128]
	str	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	ldr	r1, .L1063+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-120]
	str	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-132]
	str	r2, [r3]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	ldr	r1, .L1063+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-120]
	str	r2, [r3]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	ldr	r1, .L1063+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-128]
	str	r2, [r3]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-136]
	str	r2, [r3]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1062
	ldr	r0, .L1063+12
	bl	printf
	ldr	r2, [fp, #-152]
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-144]
	bl	printtriangle
	ldr	r0, .L1063+16
	bl	printf
	sub	r3, fp, #80
	mov	r2, r3
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-144]
	bl	printtriangle
.L1062:
	nop
	ldr	r3, .L1063
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1061
	bl	__stack_chk_fail
.L1061:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1064:
	.align	2
.L1063:
	.word	.LC964
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC963
	.word	.LC961
	.size	unflip, .-unflip
	.section	.rodata
	.align	2
.LC965:
	.ascii	"  Inserting (%.12g, %.12g).\012\000"
	.align	2
.LC966:
	.ascii	"  Updating bottom left \000"
	.align	2
.LC967:
	.ascii	"  Updating top left \000"
	.align	2
.LC968:
	.ascii	"  Creating top right \000"
	.align	2
.LC969:
	.ascii	"  Creating bottom right \000"
	.align	2
.LC970:
	.ascii	"  Updating top \000"
	.align	2
.LC971:
	.ascii	"  Creating left \000"
	.align	2
.LC972:
	.ascii	"  Creating right \000"
	.align	2
.LC973:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	insertvertex
	.syntax unified
	.arm
	.fpu softvfp
	.type	insertvertex, %function
insertvertex:
	@ args = 12, pretend = 0, frame = 296
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #320
	str	r0, [fp, #-296]
	str	r1, [fp, #-300]
	str	r2, [fp, #-304]
	str	r3, [fp, #-308]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-312]
	ldr	r3, .L1137
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #116]
	cmp	r3, #1
	ble	.L1066
	ldr	r3, [fp, #-304]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-304]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1137+4
	bl	printf
.L1066:
	ldr	r3, [fp, #-312]
	cmp	r3, #0
	bne	.L1067
	ldr	r3, [fp, #-308]
	ldr	r2, [r3]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1068
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	str	r3, [fp, #-200]
	mov	r3, #0
	str	r3, [fp, #-196]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-196]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-200]
	sub	r3, fp, #200
	ldr	r2, [fp, #-304]
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	locate
	str	r0, [fp, #-280]
	b	.L1069
.L1068:
	ldr	r3, [fp, #-308]
	ldr	r3, [r3]
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-308]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-196]
	sub	r3, fp, #200
	mov	r2, #1
	str	r2, [sp]
	ldr	r2, [fp, #-304]
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	preciselocate
	str	r0, [fp, #-280]
	b	.L1069
.L1067:
	ldr	r3, [fp, #-308]
	ldr	r3, [r3]
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-308]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-280]
.L1069:
	ldr	r3, [fp, #-280]
	cmp	r3, #2
	bne	.L1070
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-308]
	str	r2, [r3]
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-308]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-200]
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	str	r3, [r2, #632]
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	str	r3, [r2, #636]
	mov	r3, #3
	b	.L1134
.L1070:
	ldr	r3, [fp, #-280]
	cmp	r3, #1
	beq	.L1072
	ldr	r3, [fp, #-280]
	cmp	r3, #3
	bne	.L1073
.L1072:
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #564]
	cmp	r3, #0
	beq	.L1074
	ldr	r3, [fp, #-312]
	cmp	r3, #0
	bne	.L1074
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	and	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-256]
	bic	r3, r3, #3
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L1074
	ldr	r3, [fp, #8]
	cmp	r3, #0
	beq	.L1075
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #128]
	cmp	r3, #2
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-272]
	ldr	r3, [fp, #-272]
	cmp	r3, #0
	beq	.L1076
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #128]
	cmp	r3, #1
	bne	.L1076
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-96]
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-272]
.L1076:
	ldr	r3, [fp, #-272]
	cmp	r3, #0
	beq	.L1075
	ldr	r3, [fp, #-296]
	add	r3, r3, #224
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-252]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	orr	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-252]
	str	r2, [r3]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-252]
	str	r2, [r3, #4]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	rsb	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-252]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1075
	ldr	r3, [fp, #-252]
	ldr	r3, [r3, #4]
	ldmia	r3, {r6-r7}
	ldr	r3, [fp, #-252]
	ldr	r3, [r3, #4]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-252]
	ldr	r1, [r1, #8]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-252]
	ldr	ip, [ip, #8]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, r6
	mov	r3, r7
	ldr	r0, .L1137+8
	bl	printf
.L1075:
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-308]
	str	r2, [r3]
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-308]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-200]
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	str	r3, [r2, #632]
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	str	r3, [r2, #636]
	mov	r3, #2
	b	.L1134
.L1074:
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-196]
	ldr	r2, .L1137+48
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-172]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-120]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-156]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-160]
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-248]
	ldr	r3, [fp, #-248]
	cmp	r3, #0
	beq	.L1077
	ldr	r3, [fp, #-156]
	ldr	r2, .L1137+44
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-156]
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-104]
	sub	r3, fp, #136
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	maketriangle
	b	.L1078
.L1077:
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #536]
	add	r3, r3, #1
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	str	r3, [r2, #536]
.L1078:
	sub	r3, fp, #144
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	maketriangle
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	ldr	r1, .L1137+44
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-288]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	ldr	r1, .L1137+48
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-292]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-260]
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	ldr	r1, .L1137+44
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-260]
	str	r2, [r3]
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	ldr	r1, .L1137+48
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-288]
	str	r2, [r3]
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-304]
	str	r2, [r3]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	ldr	r1, .L1137+44
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-304]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-268]
	b	.L1079
.L1080:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-268]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r1, [fp, #-144]
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	ldr	r0, [r2, #556]
	ldr	r2, [fp, #-268]
	add	r2, r0, r2
	lsl	r2, r2, #3
	add	r1, r1, r2
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-268]
	add	r3, r3, #1
	str	r3, [fp, #-268]
.L1079:
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #532]
	ldr	r2, [fp, #-268]
	cmp	r2, r3
	blt	.L1080
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1081
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r1, [fp, #-144]
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	ldr	r2, [r2, #560]
	lsl	r2, r2, #3
	add	r1, r1, r2
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L1081:
	ldr	r3, [fp, #-248]
	cmp	r3, #0
	beq	.L1082
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-156]
	ldr	r1, .L1137+48
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-244]
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-132]
	ldr	r1, .L1137+44
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-288]
	str	r2, [r3]
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-132]
	ldr	r1, .L1137+48
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-244]
	str	r2, [r3]
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-132]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-304]
	str	r2, [r3]
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-156]
	ldr	r1, .L1137+44
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-304]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-268]
	b	.L1083
.L1084:
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-268]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r1, [fp, #-136]
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	ldr	r0, [r2, #556]
	ldr	r2, [fp, #-268]
	add	r2, r0, r2
	lsl	r2, r2, #3
	add	r1, r1, r2
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-268]
	add	r3, r3, #1
	str	r3, [fp, #-268]
.L1083:
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #532]
	ldr	r2, [fp, #-268]
	cmp	r2, r3
	blt	.L1084
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1082
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r1, [fp, #-136]
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	ldr	r2, [r2, #560]
	lsl	r2, r2, #3
	add	r1, r1, r2
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L1082:
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #564]
	cmp	r3, #0
	beq	.L1085
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	and	r3, r3, #1
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-256]
	bic	r3, r3, #3
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L1086
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r3, [fp, #-76]
	orr	r1, r2, r3
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-144]
	mov	r2, r3
	ldr	r3, [fp, #-140]
	orr	r1, r2, r3
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1086:
	ldr	r3, [fp, #-248]
	cmp	r3, #0
	beq	.L1085
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-156]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	and	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-256]
	bic	r3, r3, #3
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L1085
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-156]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	orr	r1, r2, r3
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-132]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	mov	r2, r3
	ldr	r3, [fp, #-132]
	orr	r1, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1085:
	ldr	r3, [fp, #-120]
	mov	r2, r3
	ldr	r3, [fp, #-116]
	orr	r1, r2, r3
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-144]
	mov	r2, r3
	ldr	r3, [fp, #-140]
	orr	r1, r2, r3
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-116]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-140]
	ldr	r2, .L1137+48
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-176]
	mov	r2, r3
	ldr	r3, [fp, #-172]
	orr	r1, r2, r3
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-144]
	mov	r2, r3
	ldr	r3, [fp, #-140]
	orr	r1, r2, r3
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-140]
	ldr	r2, .L1137+48
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-248]
	cmp	r3, #0
	beq	.L1087
	ldr	r3, [fp, #-104]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	orr	r1, r2, r3
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	mov	r2, r3
	ldr	r3, [fp, #-132]
	orr	r1, r2, r3
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-132]
	ldr	r2, .L1137+44
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-160]
	mov	r2, r3
	ldr	r3, [fp, #-156]
	orr	r1, r2, r3
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	mov	r2, r3
	ldr	r3, [fp, #-132]
	orr	r1, r2, r3
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-132]
	ldr	r2, .L1137+44
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-144]
	mov	r2, r3
	ldr	r3, [fp, #-140]
	orr	r1, r2, r3
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	mov	r2, r3
	ldr	r3, [fp, #-132]
	orr	r1, r2, r3
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1087:
	ldr	r3, [fp, #-312]
	cmp	r3, #0
	beq	.L1088
	ldr	r3, [fp, #-312]
	ldr	r2, [r3]
	ldr	r3, [fp, #-312]
	ldr	r3, [r3, #4]
	rsb	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-304]
	str	r2, [r3]
	ldr	r3, [fp, #-312]
	ldr	r2, [r3]
	ldr	r3, [fp, #-312]
	ldr	r3, [r3, #4]
	add	r3, r3, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-312]
	ldr	r2, [r3]
	ldr	r3, [fp, #-312]
	ldr	r3, [r3, #4]
	rsb	r3, r3, #5
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-236]
	ldr	r3, [fp, #-312]
	ldr	r3, [r3, #4]
	rsb	r2, r3, #1
	ldr	r3, [fp, #-312]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-312]
	ldr	r2, [r3]
	ldr	r3, [fp, #-312]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	and	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-256]
	bic	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-312]
	ldr	r3, [r3]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r2, fp, #144
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	insertsubseg
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	and	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-256]
	bic	r3, r3, #3
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-240]
	str	r2, [r3]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	rsb	r3, r3, #5
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-236]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r3, [fp, #-312]
	ldr	r2, [r3]
	ldr	r3, [fp, #-312]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-312]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-312]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	rsb	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-312]
	ldr	r3, [r3, #4]
	rsb	r2, r3, #1
	ldr	r3, [fp, #-312]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-304]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1088
	ldr	r3, [fp, #-312]
	ldr	r2, [r3]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-304]
	add	r3, r1, r3
	ldr	r2, [r2, #32]
	str	r2, [r3]
.L1088:
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #568]
	cmp	r3, #0
	beq	.L1089
	ldr	r3, [fp, #-296]
	add	r3, r3, #336
	mov	r0, r3
	bl	poolrestart
	ldr	r3, [fp, #-296]
	add	r3, r3, #336
	mov	r0, r3
	bl	poolalloc
	mov	r2, r0
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	str	r2, [r3, #452]
	ldr	r3, [fp, #-200]
	mov	r2, r3
	ldr	r3, [fp, #-196]
	orr	r2, r2, r3
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #452]
	str	r2, [r3]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #452]
	ldr	r2, .L1137+12
	str	r2, [r3, #4]
.L1089:
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1090
	ldr	r0, .L1137+16
	bl	printf
	sub	r3, fp, #176
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	printtriangle
	ldr	r3, [fp, #-248]
	cmp	r3, #0
	beq	.L1091
	ldr	r0, .L1137+20
	bl	printf
	sub	r3, fp, #160
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	printtriangle
	ldr	r0, .L1137+24
	bl	printf
	sub	r3, fp, #136
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	printtriangle
.L1091:
	ldr	r0, .L1137+28
	bl	printf
	sub	r3, fp, #144
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	printtriangle
.L1090:
	ldr	r3, [fp, #-196]
	ldr	r2, .L1137+44
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-196]
	b	.L1092
.L1138:
	.align	2
.L1137:
	.word	.LC973
	.word	.LC965
	.word	.LC950
	.word	insertvertex
	.word	.LC966
	.word	.LC967
	.word	.LC968
	.word	.LC969
	.word	.LC970
	.word	.LC971
	.word	.LC972
	.word	plus1mod3
	.word	minus1mod3
.L1073:
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-196]
	ldr	r2, .L1137+44
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-196]
	ldr	r2, .L1137+48
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-172]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-128]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-120]
	sub	r3, fp, #152
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	maketriangle
	sub	r3, fp, #144
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	maketriangle
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	ldr	r1, .L1137+44
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-288]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	ldr	r1, .L1137+48
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-292]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-260]
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-148]
	ldr	r1, .L1137+44
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-292]
	str	r2, [r3]
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-148]
	ldr	r1, .L1137+48
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-260]
	str	r2, [r3]
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-148]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-304]
	str	r2, [r3]
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	ldr	r1, .L1137+44
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-260]
	str	r2, [r3]
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	ldr	r1, .L1137+48
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-288]
	str	r2, [r3]
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-304]
	str	r2, [r3]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-304]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-268]
	b	.L1093
.L1094:
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-268]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-268]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-268]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-268]
	add	r3, r3, #1
	str	r3, [fp, #-268]
.L1093:
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #532]
	ldr	r2, [fp, #-268]
	cmp	r2, r3
	blt	.L1094
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1095
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L1095:
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #564]
	cmp	r3, #0
	beq	.L1096
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-180]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	and	r3, r3, #1
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-256]
	bic	r3, r3, #3
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L1097
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-180]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	mov	r2, r3
	ldr	r3, [fp, #-84]
	orr	r1, r2, r3
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-148]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-152]
	mov	r2, r3
	ldr	r3, [fp, #-148]
	orr	r1, r2, r3
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1097:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	and	r3, r3, #1
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-256]
	bic	r3, r3, #3
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L1096
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r3, [fp, #-76]
	orr	r1, r2, r3
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-144]
	mov	r2, r3
	ldr	r3, [fp, #-140]
	orr	r1, r2, r3
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1096:
	ldr	r3, [fp, #-128]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	orr	r1, r2, r3
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-152]
	mov	r2, r3
	ldr	r3, [fp, #-148]
	orr	r1, r2, r3
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-120]
	mov	r2, r3
	ldr	r3, [fp, #-116]
	orr	r1, r2, r3
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-144]
	mov	r2, r3
	ldr	r3, [fp, #-140]
	orr	r1, r2, r3
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-116]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-148]
	ldr	r2, .L1137+44
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-140]
	ldr	r2, .L1137+48
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-144]
	mov	r2, r3
	ldr	r3, [fp, #-140]
	orr	r1, r2, r3
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-152]
	mov	r2, r3
	ldr	r3, [fp, #-148]
	orr	r1, r2, r3
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-148]
	ldr	r2, .L1137+44
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-152]
	mov	r2, r3
	ldr	r3, [fp, #-148]
	orr	r1, r2, r3
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-184]
	mov	r2, r3
	ldr	r3, [fp, #-180]
	orr	r1, r2, r3
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-140]
	ldr	r2, .L1137+48
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-144]
	mov	r2, r3
	ldr	r3, [fp, #-140]
	orr	r1, r2, r3
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-176]
	mov	r2, r3
	ldr	r3, [fp, #-172]
	orr	r1, r2, r3
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #568]
	cmp	r3, #0
	beq	.L1098
	ldr	r3, [fp, #-296]
	add	r3, r3, #336
	mov	r0, r3
	bl	poolrestart
	ldr	r3, [fp, #-296]
	add	r3, r3, #336
	mov	r0, r3
	bl	poolalloc
	mov	r2, r0
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	str	r2, [r3, #452]
	ldr	r3, [fp, #-200]
	mov	r2, r3
	ldr	r3, [fp, #-196]
	orr	r2, r2, r3
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #452]
	str	r2, [r3]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #452]
	mov	r2, #0
	str	r2, [r3, #4]
.L1098:
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1092
	ldr	r0, .L1137+32
	bl	printf
	sub	r3, fp, #200
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	printtriangle
	ldr	r0, .L1137+36
	bl	printf
	sub	r3, fp, #152
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	printtriangle
	ldr	r0, .L1137+40
	bl	printf
	sub	r3, fp, #144
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	printtriangle
.L1092:
	mov	r3, #0
	str	r3, [fp, #-284]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	ldr	r1, .L1137+44
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-232]
	ldr	r3, [fp, #-232]
	str	r3, [fp, #-288]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	ldr	r1, .L1137+48
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-292]
.L1133:
	mov	r3, #1
	str	r3, [fp, #-276]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #564]
	cmp	r3, #0
	beq	.L1099
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	and	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-256]
	bic	r3, r3, #3
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L1099
	mov	r3, #0
	str	r3, [fp, #-276]
	ldr	r3, [fp, #8]
	cmp	r3, #0
	beq	.L1099
	sub	r3, fp, #48
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	checkseg4encroach
	mov	r3, r0
	cmp	r3, #0
	beq	.L1099
	mov	r3, #1
	str	r3, [fp, #-284]
.L1099:
	ldr	r3, [fp, #-276]
	cmp	r3, #0
	beq	.L1100
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-188]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1101
	mov	r3, #0
	str	r3, [fp, #-276]
	b	.L1100
.L1101:
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-188]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #604]
	ldr	r2, [fp, #-292]
	cmp	r2, r3
	beq	.L1102
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #608]
	ldr	r2, [fp, #-292]
	cmp	r2, r3
	beq	.L1102
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #612]
	ldr	r2, [fp, #-292]
	cmp	r2, r3
	bne	.L1103
.L1102:
	ldr	r3, [fp, #-228]
	str	r3, [sp]
	ldr	r3, [fp, #-288]
	ldr	r2, [fp, #-304]
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	counterclockwise
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1104
	mov	r3, #0
	mov	r4, r3
.L1104:
	and	r3, r4, #255
	str	r3, [fp, #-276]
	b	.L1105
.L1103:
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #604]
	ldr	r2, [fp, #-288]
	cmp	r2, r3
	beq	.L1106
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #608]
	ldr	r2, [fp, #-288]
	cmp	r2, r3
	beq	.L1106
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #612]
	ldr	r2, [fp, #-288]
	cmp	r2, r3
	bne	.L1107
.L1106:
	ldr	r3, [fp, #-304]
	str	r3, [sp]
	ldr	r3, [fp, #-292]
	ldr	r2, [fp, #-228]
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	counterclockwise
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1108
	mov	r3, #0
	mov	r4, r3
.L1108:
	and	r3, r4, #255
	str	r3, [fp, #-276]
	b	.L1105
.L1107:
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #604]
	ldr	r2, [fp, #-228]
	cmp	r2, r3
	beq	.L1109
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #608]
	ldr	r2, [fp, #-228]
	cmp	r2, r3
	beq	.L1109
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #612]
	ldr	r2, [fp, #-228]
	cmp	r2, r3
	bne	.L1110
.L1109:
	mov	r3, #0
	str	r3, [fp, #-276]
	b	.L1105
.L1110:
	ldr	r3, [fp, #-228]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-288]
	str	r3, [sp]
	ldr	r3, [fp, #-304]
	ldr	r2, [fp, #-292]
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	incircle
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1111
	mov	r3, #0
	mov	r4, r3
.L1111:
	and	r3, r4, #255
	str	r3, [fp, #-276]
.L1105:
	ldr	r3, [fp, #-276]
	cmp	r3, #0
	beq	.L1100
	ldr	r3, [fp, #-192]
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-188]
	ldr	r2, .L1137+48
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-164]
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-164]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-108]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-192]
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-188]
	ldr	r2, .L1137+44
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-156]
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-196]
	ldr	r2, .L1137+44
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-180]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-196]
	ldr	r2, .L1137+48
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-172]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-128]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	orr	r1, r2, r3
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-164]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-168]
	mov	r2, r3
	ldr	r3, [fp, #-164]
	orr	r1, r2, r3
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-120]
	mov	r2, r3
	ldr	r3, [fp, #-116]
	orr	r1, r2, r3
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-184]
	mov	r2, r3
	ldr	r3, [fp, #-180]
	orr	r1, r2, r3
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-116]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	orr	r1, r2, r3
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-176]
	mov	r2, r3
	ldr	r3, [fp, #-172]
	orr	r1, r2, r3
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-112]
	mov	r2, r3
	ldr	r3, [fp, #-108]
	orr	r1, r2, r3
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-160]
	mov	r2, r3
	ldr	r3, [fp, #-156]
	orr	r1, r2, r3
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #564]
	cmp	r3, #0
	beq	.L1112
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-164]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	and	r3, r3, #1
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-256]
	bic	r3, r3, #3
	str	r3, [fp, #-72]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-180]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	and	r3, r3, #1
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-256]
	bic	r3, r3, #3
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	and	r3, r3, #1
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-256]
	bic	r3, r3, #3
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-156]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	and	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-256]
	bic	r3, r3, #3
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1113
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-156]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	b	.L1114
.L1113:
	ldr	r3, [fp, #-72]
	mov	r2, r3
	ldr	r3, [fp, #-68]
	orr	r1, r2, r3
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-156]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-160]
	mov	r2, r3
	ldr	r3, [fp, #-156]
	orr	r1, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1114:
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1115
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-164]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	b	.L1116
.L1115:
	ldr	r3, [fp, #-88]
	mov	r2, r3
	ldr	r3, [fp, #-84]
	orr	r1, r2, r3
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-164]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-168]
	mov	r2, r3
	ldr	r3, [fp, #-164]
	orr	r1, r2, r3
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1116:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1117
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-180]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	b	.L1118
.L1117:
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r3, [fp, #-76]
	orr	r1, r2, r3
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-180]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-184]
	mov	r2, r3
	ldr	r3, [fp, #-180]
	orr	r1, r2, r3
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1118:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1119
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	b	.L1112
.L1119:
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	orr	r1, r2, r3
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-176]
	mov	r2, r3
	ldr	r3, [fp, #-172]
	orr	r1, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1112:
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	ldr	r1, .L1139
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-228]
	str	r2, [r3]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	ldr	r1, .L1139+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-304]
	str	r2, [r3]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-288]
	str	r2, [r3]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-188]
	ldr	r1, .L1139
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-304]
	str	r2, [r3]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-188]
	ldr	r1, .L1139+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-228]
	str	r2, [r3]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-188]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-292]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-268]
	b	.L1120
.L1121:
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-268]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	ip, [r3, #556]
	ldr	r3, [fp, #-268]
	add	r3, ip, r3
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L1139+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-268]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-268]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-268]
	add	r3, r3, #1
	str	r3, [fp, #-268]
.L1120:
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #532]
	ldr	r2, [fp, #-268]
	cmp	r2, r3
	blt	.L1121
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1122
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L1123
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L1136
.L1123:
	mov	r2, #0
	ldr	r3, .L1139+12
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	b	.L1126
.L1136:
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L1139+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
.L1126:
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L1122:
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #568]
	cmp	r3, #0
	beq	.L1127
	ldr	r3, [fp, #-296]
	add	r3, r3, #336
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-224]
	ldr	r3, [fp, #-200]
	mov	r2, r3
	ldr	r3, [fp, #-196]
	orr	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-224]
	str	r2, [r3]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r2, [r3, #452]
	ldr	r3, [fp, #-224]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	mov	r2, r3
	ldr	r3, [fp, #-224]
	str	r3, [r2, #452]
.L1127:
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1128
	ldr	r0, .L1139+16
	bl	printf
	ldr	r3, [fp, #-164]
	ldr	r2, .L1139
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-164]
	sub	r3, fp, #168
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	printtriangle
	ldr	r0, .L1139+20
	bl	printf
	sub	r3, fp, #200
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	printtriangle
.L1128:
	ldr	r3, [fp, #-196]
	ldr	r2, .L1139+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-228]
	str	r3, [fp, #-292]
.L1100:
	ldr	r3, [fp, #-276]
	cmp	r3, #0
	bne	.L1133
	ldr	r3, [fp, #12]
	cmp	r3, #0
	beq	.L1130
	sub	r3, fp, #200
	mov	r2, r3
	ldr	r1, [fp, #-300]
	ldr	r0, [fp, #-296]
	bl	testtriangle
.L1130:
	ldr	r3, [fp, #-196]
	ldr	r2, .L1139
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-196]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-264]
	and	r3, r3, #3
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	mov	r2, r3
	ldr	r3, [fp, #-264]
	eor	r3, r3, r2
	str	r3, [fp, #-96]
	ldr	r2, [fp, #-292]
	ldr	r3, [fp, #-232]
	cmp	r2, r3
	beq	.L1131
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-296]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1132
.L1131:
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-308]
	str	r2, [r3]
	ldr	r3, [fp, #-196]
	ldr	r2, .L1139
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-308]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-200]
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	str	r3, [r2, #632]
	ldr	r3, [fp, #-196]
	ldr	r2, .L1139
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-296]
	add	r2, r2, #49152
	str	r3, [r2, #636]
	ldr	r3, [fp, #-284]
	b	.L1134
.L1132:
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-92]
	ldr	r2, .L1139
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-292]
	str	r3, [fp, #-288]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	ldr	r1, .L1139+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-292]
	b	.L1133
.L1134:
	ldr	r2, .L1139+24
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1135
	bl	__stack_chk_fail
.L1135:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L1140:
	.align	2
.L1139:
	.word	plus1mod3
	.word	minus1mod3
	.word	1071644672
	.word	-1074790400
	.word	.LC960
	.word	.LC961
	.word	.LC973
	.size	insertvertex, .-insertvertex
	.section	.rodata
	.align	2
.LC974:
	.ascii	"  Triangulating interior polygon at edge\000"
	.align	2
.LC975:
	.ascii	"    (%.12g, %.12g) (%.12g, %.12g)\012\000"
	.align	2
.LC976:
	.ascii	"    Connecting edge to (%.12g, %.12g)\012\000"
	.align	2
.LC977:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	triangulatepolygon
	.syntax unified
	.arm
	.fpu softvfp
	.type	triangulatepolygon, %function
triangulatepolygon:
	@ args = 12, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #96
	str	r0, [fp, #-80]
	str	r1, [fp, #-84]
	str	r2, [fp, #-88]
	str	r3, [fp, #-92]
	ldr	r3, .L1153
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-92]
	ldr	r2, [r3]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #4]
	ldr	r1, .L1153+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1142
	ldr	r0, .L1153+8
	bl	puts
	ldr	r3, [fp, #-64]
	ldmia	r3, {r6-r7}
	ldr	r3, [fp, #-64]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-60]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-60]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, r6
	mov	r3, r7
	ldr	r0, .L1153+12
	bl	printf
.L1142:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #4]
	ldr	r2, .L1153+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-56]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1153+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-44]
	mov	r3, #1
	str	r3, [fp, #-72]
	mov	r3, #2
	str	r3, [fp, #-68]
	b	.L1143
.L1146:
	ldr	r3, [fp, #-44]
	ldr	r2, .L1153+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, r3
	ldr	r3, [fp, #-56]
	eor	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r1, .L1153+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-76]
	str	r3, [sp]
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-64]
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	incircle
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1144
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-72]
.L1144:
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L1143:
	ldr	r3, [fp, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-68]
	cmp	r2, r3
	blt	.L1146
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1147
	ldr	r3, [fp, #-76]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1153+16
	bl	printf
.L1147:
	ldr	r3, [fp, #-72]
	cmp	r3, #1
	ble	.L1148
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-56]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r2, .L1153+20
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	sub	r1, fp, #32
	ldr	r2, [fp, #12]
	str	r2, [sp, #8]
	mov	r2, #1
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-88]
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	triangulatepolygon
.L1148:
	ldr	r3, [fp, #4]
	sub	r3, r3, #2
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	bge	.L1149
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-56]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-72]
	sub	r3, r2, r3
	sub	r1, fp, #40
	ldr	r2, [fp, #12]
	str	r2, [sp, #8]
	mov	r2, #1
	str	r2, [sp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-92]
	mov	r2, r1
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	triangulatepolygon
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-56]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
.L1149:
	ldr	r3, [fp, #8]
	cmp	r3, #0
	beq	.L1150
	sub	r3, fp, #40
	mov	r2, r3
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	flip
	ldr	r3, [fp, #12]
	cmp	r3, #0
	beq	.L1150
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, r3
	ldr	r3, [fp, #-56]
	eor	r3, r3, r2
	str	r3, [fp, #-48]
	sub	r3, fp, #48
	mov	r2, r3
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	testtriangle
.L1150:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-92]
	str	r2, [r3]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-92]
	str	r2, [r3, #4]
	nop
	ldr	r3, .L1153
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1151
	bl	__stack_chk_fail
.L1151:
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L1154:
	.align	2
.L1153:
	.word	.LC977
	.word	minus1mod3
	.word	.LC974
	.word	.LC975
	.word	.LC976
	.word	plus1mod3
	.size	triangulatepolygon, .-triangulatepolygon
	.section	.rodata
	.align	2
.LC978:
	.ascii	"  Deleting (%.12g, %.12g).\012\000"
	.align	2
.LC979:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	deletevertex
	.syntax unified
	.arm
	.fpu softvfp
	.type	deletevertex, %function
deletevertex:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #136
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	str	r2, [fp, #-120]
	ldr	r3, .L1164
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-120]
	ldr	r2, [r3]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #4]
	ldr	r1, .L1164+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #116]
	cmp	r3, #1
	ble	.L1156
	ldr	r3, [fp, #-104]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-104]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1164+8
	bl	printf
.L1156:
	ldr	r1, [fp, #-104]
	ldr	r0, [fp, #-112]
	bl	vertexdealloc
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #4]
	ldr	r2, .L1164+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-84]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	and	r3, r3, #3
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	eor	r3, r3, r2
	str	r3, [fp, #-88]
	mov	r3, #1
	str	r3, [fp, #-108]
	b	.L1157
.L1158:
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-84]
	ldr	r2, .L1164+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-84]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	and	r3, r3, #3
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	eor	r3, r3, r2
	str	r3, [fp, #-88]
.L1157:
	ldr	r3, [fp, #-120]
	ldr	r2, [r3]
	ldr	r3, [fp, #-88]
	cmp	r2, r3
	bne	.L1158
	ldr	r3, [fp, #-120]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	bne	.L1158
	ldr	r3, [fp, #-108]
	cmp	r3, #3
	ble	.L1159
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #4]
	ldr	r2, .L1164+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	and	r3, r3, #3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	eor	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-120]
	ldr	r2, [r3]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	and	r3, r3, #3
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	eor	r3, r3, r2
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-68]
	ldr	r2, .L1164+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #128]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	sub	r1, fp, #72
	sub	r2, fp, #80
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	ldr	r3, [fp, #-108]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	bl	triangulatepolygon
.L1159:
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #4]
	ldr	r2, .L1164+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-120]
	ldr	r2, [r3]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	and	r3, r3, #3
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	eor	r3, r3, r2
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1164+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	and	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	and	r3, r3, #3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	eor	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r2, .L1164+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	and	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r3, [fp, #-120]
	ldr	r2, [r3]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	and	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-96]
	bic	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-112]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L1160
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r3, [fp, #-120]
	ldr	r2, [r3]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #4]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1160:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	and	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-96]
	bic	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-112]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L1161
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	orr	r1, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	orr	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1161:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	ldr	r1, .L1164+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-120]
	ldr	r2, [r3]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #4]
	ldr	r1, .L1164+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-92]
	str	r2, [r3]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #128]
	cmp	r3, #0
	bne	.L1162
	ldr	r2, [fp, #-120]
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	bl	testtriangle
.L1162:
	ldr	r3, [fp, #-56]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	triangledealloc
	ldr	r3, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	triangledealloc
	nop
	ldr	r3, .L1164
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1163
	bl	__stack_chk_fail
.L1163:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1165:
	.align	2
.L1164:
	.word	.LC979
	.word	plus1mod3
	.word	.LC978
	.word	minus1mod3
	.size	deletevertex, .-deletevertex
	.section	.rodata
	.align	2
.LC980:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	undovertex
	.syntax unified
	.arm
	.fpu softvfp
	.type	undovertex, %function
undovertex:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-120]
	str	r1, [fp, #-124]
	ldr	r3, .L1174
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	b	.L1167
.L1172:
	ldr	r3, [fp, #-120]
	add	r3, r3, #49152
	ldr	r3, [r3, #452]
	ldr	r3, [r3]
	and	r3, r3, #3
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-120]
	add	r3, r3, #49152
	ldr	r3, [r3, #452]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-120]
	add	r3, r3, #49152
	ldr	r3, [r3, #452]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1168
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-92]
	ldr	r2, .L1174+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-84]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	and	r3, r3, #3
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	mov	r2, r3
	ldr	r3, [fp, #-112]
	eor	r3, r3, r2
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-84]
	ldr	r2, .L1174+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-92]
	ldr	r2, .L1174+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	and	r3, r3, #3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	mov	r2, r3
	ldr	r3, [fp, #-112]
	eor	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-76]
	ldr	r2, .L1174+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	and	r3, r3, #3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	mov	r2, r3
	ldr	r3, [fp, #-112]
	eor	r3, r3, r2
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	and	r3, r3, #3
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	mov	r2, r3
	ldr	r3, [fp, #-112]
	eor	r3, r3, r2
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	ldr	r1, .L1174+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-100]
	str	r2, [r3]
	ldr	r3, [fp, #-92]
	ldr	r2, .L1174+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	orr	r1, r2, r3
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	orr	r1, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	and	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-104]
	bic	r3, r3, #3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-92]
	ldr	r2, .L1174+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	orr	r1, r2, r3
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	orr	r1, r2, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	and	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-104]
	bic	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	mov	r1, r3
	ldr	r0, [fp, #-120]
	bl	triangledealloc
	ldr	r3, [fp, #-80]
	mov	r1, r3
	ldr	r0, [fp, #-120]
	bl	triangledealloc
	b	.L1169
.L1168:
	ldr	r3, [fp, #-120]
	add	r3, r3, #49152
	ldr	r3, [r3, #452]
	ldr	r3, [r3, #4]
	ldr	r2, .L1174+12
	cmp	r3, r2
	bne	.L1170
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-92]
	ldr	r2, .L1174+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	and	r3, r3, #3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	mov	r2, r3
	ldr	r3, [fp, #-112]
	eor	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-76]
	ldr	r2, .L1174+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	and	r3, r3, #3
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	mov	r2, r3
	ldr	r3, [fp, #-112]
	eor	r3, r3, r2
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	ldr	r1, .L1174+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-108]
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	ldr	r1, .L1174+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-108]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	and	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-104]
	bic	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	mov	r1, r3
	ldr	r0, [fp, #-120]
	bl	triangledealloc
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	and	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-112]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-120]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L1171
	ldr	r3, [fp, #-36]
	ldr	r2, .L1174+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	and	r3, r3, #3
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	mov	r2, r3
	ldr	r3, [fp, #-112]
	eor	r3, r3, r2
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-68]
	ldr	r2, .L1174+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-68]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	and	r3, r3, #3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, r3
	ldr	r3, [fp, #-112]
	eor	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1174+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-108]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	and	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-104]
	bic	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-72]
	mov	r1, r3
	ldr	r0, [fp, #-120]
	bl	triangledealloc
.L1171:
	ldr	r3, [fp, #-120]
	add	r3, r3, #49152
	ldr	r3, [r3, #452]
	mov	r2, #0
	str	r2, [r3, #4]
	b	.L1169
.L1170:
	sub	r3, fp, #96
	mov	r2, r3
	ldr	r1, [fp, #-124]
	ldr	r0, [fp, #-120]
	bl	unflip
.L1169:
	ldr	r3, [fp, #-120]
	add	r3, r3, #49152
	ldr	r3, [r3, #452]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-120]
	add	r2, r2, #49152
	str	r3, [r2, #452]
.L1167:
	ldr	r3, [fp, #-120]
	add	r3, r3, #49152
	ldr	r3, [r3, #452]
	cmp	r3, #0
	bne	.L1172
	nop
	ldr	r3, .L1174
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1173
	bl	__stack_chk_fail
.L1173:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1175:
	.align	2
.L1174:
	.word	.LC980
	.word	plus1mod3
	.word	minus1mod3
	.word	insertvertex
	.size	undovertex, .-undovertex
	.align	2
	.global	vertexsort
	.syntax unified
	.arm
	.fpu softvfp
	.type	vertexsort, %function
vertexsort:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #2
	bne	.L1177
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1178
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L1191
	b	.L1176
.L1191:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1178
	b	.L1176
.L1178:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r2, [fp, #-40]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	b	.L1176
.L1177:
	ldr	r3, [fp, #-44]
	mov	r0, r3
	bl	randomnation
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	mvn	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-32]
	b	.L1183
.L1185:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bgt	.L1188
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1185
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1188
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1185
.L1188:
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bgt	.L1187
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1188
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1187
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1188
.L1187:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bge	.L1183
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
.L1183:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L1185
	ldr	r3, [fp, #-36]
	cmp	r3, #1
	ble	.L1190
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-40]
	bl	vertexsort
.L1190:
	ldr	r3, [fp, #-44]
	sub	r3, r3, #2
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bge	.L1176
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r0, r2, r3
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r1, r3
	bl	vertexsort
.L1176:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	vertexsort, .-vertexsort
	.align	2
	.global	vertexmedian
	.syntax unified
	.arm
	.fpu softvfp
	.type	vertexmedian, %function
vertexmedian:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-44]
	cmp	r3, #2
	bne	.L1195
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1196
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L1209
	b	.L1194
.L1209:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	rsb	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	rsb	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1196
	b	.L1194
.L1196:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r2, [fp, #-40]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	b	.L1194
.L1195:
	ldr	r3, [fp, #-44]
	mov	r0, r3
	bl	randomnation
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	rsb	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	mvn	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-32]
	b	.L1201
.L1203:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bgt	.L1206
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1203
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1206
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	rsb	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1203
.L1206:
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bgt	.L1205
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1206
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1205
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	rsb	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1206
.L1205:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bge	.L1201
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
.L1201:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L1203
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	ble	.L1208
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-40]
	bl	vertexmedian
.L1208:
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bge	.L1194
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r0, r2, r3
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	sub	r1, r3, #1
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, [fp, #-52]
	bl	vertexmedian
.L1194:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	vertexmedian, .-vertexmedian
	.align	2
	.global	alternateaxes
	.syntax unified
	.arm
	.fpu softvfp
	.type	alternateaxes, %function
alternateaxes:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	asr	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	bgt	.L1213
	mov	r3, #0
	str	r3, [fp, #-24]
.L1213:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	vertexmedian
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	cmp	r3, #1
	ble	.L1216
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	ble	.L1215
	ldr	r3, [fp, #-24]
	rsb	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	alternateaxes
.L1215:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r0, r2, r3
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	sub	r1, r2, r3
	ldr	r3, [fp, #-24]
	rsb	r3, r3, #1
	mov	r2, r3
	bl	alternateaxes
.L1216:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	alternateaxes, .-alternateaxes
	.section	.rodata
	.align	2
.LC981:
	.ascii	"  Creating base bounding \000"
	.align	2
.LC982:
	.ascii	"  Creating top bounding \000"
	.align	2
.LC983:
	.ascii	"  Connecting \000"
	.align	2
.LC984:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mergehulls
	.syntax unified
	.arm
	.fpu softvfp
	.type	mergehulls, %function
mergehulls:
	@ args = 12, pretend = 0, frame = 168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #180
	str	r0, [fp, #-160]
	str	r1, [fp, #-164]
	str	r2, [fp, #-168]
	str	r3, [fp, #-172]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #8]
	str	r3, [fp, #-180]
	ldr	r3, .L1267+20
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-172]
	ldr	r2, [r3]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	ldr	r1, .L1267+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	ldr	r2, [r3]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	ldr	r1, .L1267+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #100]
	cmp	r3, #0
	beq	.L1231
	ldr	r3, [fp, #12]
	cmp	r3, #1
	bne	.L1231
	ldr	r3, [fp, #-168]
	ldr	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #4]
	ldr	r1, .L1267+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-180]
	ldr	r2, [r3]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #4]
	ldr	r1, .L1267+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-180]
	ldr	r2, [r3]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-128]
	b	.L1219
.L1220:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #4]
	ldr	r2, .L1267+12
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-168]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r2, r3, #3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3]
	ldr	r3, [fp, #-132]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-132]
.L1219:
	ldr	r3, [fp, #-132]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1220
	ldr	r3, [fp, #-172]
	ldr	r2, [r3]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	b	.L1221
.L1222:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-172]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1267+12
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-172]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-104]
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	ldr	r2, [r3]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
.L1221:
	ldr	r3, [fp, #-104]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-156]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1222
	b	.L1223
.L1224:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	ldr	r2, .L1267+12
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-176]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r2, r3, #3
	ldr	r3, [fp, #-176]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-176]
	str	r2, [r3]
	ldr	r3, [fp, #-144]
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-144]
.L1223:
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-152]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1224
	ldr	r3, [fp, #-180]
	ldr	r2, [r3]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	b	.L1225
.L1226:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-180]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1267+12
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-180]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-136]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-104]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-180]
	ldr	r2, [r3]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
.L1225:
	ldr	r3, [fp, #-104]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1226
.L1231:
	mov	r3, #0
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-152]
	str	r3, [sp]
	ldr	r3, [fp, #-148]
	ldr	r2, [fp, #-156]
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	counterclockwise
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1227
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	ldr	r2, .L1267+8
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-172]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-172]
	ldr	r2, [r3]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r2, r3, #3
	ldr	r3, [fp, #-172]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-172]
	str	r2, [r3]
	ldr	r3, [fp, #-148]
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	ldr	r2, [r3]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-148]
	mov	r3, #1
	str	r3, [fp, #-100]
.L1227:
	ldr	r3, [fp, #-156]
	str	r3, [sp]
	ldr	r3, [fp, #-152]
	ldr	r2, [fp, #-144]
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	counterclockwise
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1229
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	ldr	r2, .L1267+12
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-176]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r2, r3, #3
	ldr	r3, [fp, #-176]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-176]
	str	r2, [r3]
	ldr	r3, [fp, #-144]
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-144]
	mov	r3, #1
	str	r3, [fp, #-100]
.L1229:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L1231
	ldr	r3, [fp, #-172]
	ldr	r2, [r3]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-72]
	sub	r3, fp, #64
	mov	r2, r3
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	maketriangle
	ldr	r3, [fp, #-172]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	orr	r1, r2, r3
	ldr	r3, [fp, #-172]
	ldr	r2, [r3]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	ldr	r2, .L1267+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	orr	r1, r2, r3
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	ldr	r2, .L1267+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-60]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	ldr	r1, .L1267+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-152]
	str	r2, [r3]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	ldr	r1, .L1267+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-156]
	str	r2, [r3]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1232
	ldr	r0, .L1267
	bl	printf
	sub	r3, fp, #64
	mov	r2, r3
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	printtriangle
.L1232:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #4]
	ldr	r1, .L1267+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-140]
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-140]
	cmp	r2, r3
	bne	.L1233
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-168]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	ldr	r2, .L1267+12
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-168]
	str	r2, [r3, #4]
.L1233:
	ldr	r3, [fp, #-180]
	ldr	r2, [r3]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #4]
	ldr	r1, .L1267+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	bne	.L1234
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-180]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	ldr	r2, .L1267+8
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-180]
	str	r2, [r3, #4]
.L1234:
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-152]
	str	r3, [fp, #-120]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
.L1262:
	ldr	r3, [fp, #-120]
	str	r3, [sp]
	ldr	r3, [fp, #-124]
	ldr	r2, [fp, #-116]
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	counterclockwise
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L1235
	mov	r3, #0
	mov	r4, r3
.L1235:
	and	r3, r4, #255
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-120]
	str	r3, [sp]
	ldr	r3, [fp, #-124]
	ldr	r2, [fp, #-112]
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	counterclockwise
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L1236
	mov	r3, #0
	mov	r4, r3
.L1236:
	and	r3, r4, #255
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	beq	.L1237
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L1237
	sub	r3, fp, #56
	mov	r2, r3
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	maketriangle
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	ldr	r1, .L1267+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-124]
	str	r2, [r3]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	ldr	r1, .L1267+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-120]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	orr	r1, r2, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	orr	r1, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1267+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-72]
	mov	r2, r3
	ldr	r3, [fp, #-68]
	orr	r1, r2, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	orr	r1, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1267+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r3, [fp, #-76]
	orr	r1, r2, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	orr	r1, r2, r3
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1238
	ldr	r0, .L1267+4
	bl	printf
	sub	r3, fp, #56
	mov	r2, r3
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	printtriangle
.L1238:
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #100]
	cmp	r3, #0
	beq	.L1266
	ldr	r3, [fp, #12]
	cmp	r3, #1
	bne	.L1266
	ldr	r3, [fp, #-168]
	ldr	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #4]
	ldr	r1, .L1267+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-180]
	ldr	r2, [r3]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #4]
	ldr	r1, .L1267+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-180]
	ldr	r2, [r3]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	b	.L1240
.L1241:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-168]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1267+8
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-168]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-104]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
.L1240:
	ldr	r3, [fp, #-104]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1241
	b	.L1242
.L1243:
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #4]
	ldr	r2, .L1267+8
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-180]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-180]
	ldr	r2, [r3]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r2, r3, #3
	ldr	r3, [fp, #-180]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-180]
	str	r2, [r3]
	ldr	r3, [fp, #-128]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-180]
	ldr	r2, [r3]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-128]
.L1242:
	ldr	r3, [fp, #-128]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-136]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1243
	b	.L1266
.L1237:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L1245
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-76]
	ldr	r2, .L1267+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L1245
	ldr	r3, [fp, #-108]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-116]
	str	r3, [sp]
	ldr	r3, [fp, #-120]
	ldr	r2, [fp, #-124]
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	incircle
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1246
	mov	r3, #0
	mov	r4, r3
.L1246:
	and	r3, r4, #255
	str	r3, [fp, #-96]
	b	.L1247
.L1268:
	.align	2
.L1267:
	.word	.LC981
	.word	.LC982
	.word	minus1mod3
	.word	plus1mod3
	.word	.LC983
	.word	.LC984
.L1250:
	ldr	r3, [fp, #-52]
	ldr	r2, .L1267+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1267+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r1, r2, r3
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r3, [fp, #-76]
	orr	r1, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-76]
	ldr	r2, .L1267+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1267+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	ldr	r1, .L1267+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-124]
	str	r2, [r3]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	ldr	r1, .L1267+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-108]
	str	r2, [r3]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	ldr	r1, .L1267+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	ldr	r1, .L1267+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-116]
	str	r2, [r3]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-108]
	str	r2, [r3]
	ldr	r3, [fp, #-108]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L1248
	ldr	r3, [fp, #-108]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-116]
	str	r3, [sp]
	ldr	r3, [fp, #-120]
	ldr	r2, [fp, #-124]
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	incircle
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1249
	mov	r3, #0
	mov	r4, r3
.L1249:
	and	r3, r4, #255
	str	r3, [fp, #-96]
	b	.L1247
.L1248:
	mov	r3, #0
	str	r3, [fp, #-96]
.L1247:
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bne	.L1250
.L1245:
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L1251
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-68]
	ldr	r2, .L1267+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L1251
	ldr	r3, [fp, #-108]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-112]
	str	r3, [sp]
	ldr	r3, [fp, #-120]
	ldr	r2, [fp, #-124]
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	incircle
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1252
	mov	r3, #0
	mov	r4, r3
.L1252:
	and	r3, r4, #255
	str	r3, [fp, #-96]
	b	.L1253
.L1256:
	ldr	r3, [fp, #-52]
	ldr	r2, .L1267+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1267+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r1, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-72]
	mov	r2, r3
	ldr	r3, [fp, #-68]
	orr	r1, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r2, .L1267+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-68]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1267+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	ldr	r1, .L1267+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	ldr	r1, .L1267+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-120]
	str	r2, [r3]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-108]
	str	r2, [r3]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	ldr	r1, .L1267+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-112]
	str	r2, [r3]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	ldr	r1, .L1267+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-108]
	str	r2, [r3]
	ldr	r3, [fp, #-108]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L1254
	ldr	r3, [fp, #-108]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-112]
	str	r3, [sp]
	ldr	r3, [fp, #-120]
	ldr	r2, [fp, #-124]
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	incircle
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1255
	mov	r3, #0
	mov	r4, r3
.L1255:
	and	r3, r4, #255
	str	r3, [fp, #-96]
	b	.L1253
.L1254:
	mov	r3, #0
	str	r3, [fp, #-96]
.L1253:
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bne	.L1256
.L1251:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L1257
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L1258
	ldr	r3, [fp, #-112]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-120]
	str	r3, [sp]
	ldr	r3, [fp, #-124]
	ldr	r2, [fp, #-116]
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	incircle
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1258
.L1257:
	ldr	r3, [fp, #-72]
	mov	r2, r3
	ldr	r3, [fp, #-68]
	orr	r1, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	orr	r1, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-68]
	ldr	r2, .L1267+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-60]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	ldr	r1, .L1267+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-124]
	str	r2, [r3]
	ldr	r3, [fp, #-112]
	str	r3, [fp, #-120]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-72]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	b	.L1260
.L1258:
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r3, [fp, #-76]
	orr	r1, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	orr	r1, r2, r3
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-76]
	ldr	r2, .L1267+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-60]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	ldr	r1, .L1267+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-120]
	str	r2, [r3]
	ldr	r3, [fp, #-116]
	str	r3, [fp, #-124]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
.L1260:
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1262
	ldr	r0, .L1267+16
	bl	printf
	sub	r3, fp, #64
	mov	r2, r3
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-160]
	bl	printtriangle
	b	.L1262
.L1266:
	nop
	ldr	r3, .L1267+20
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1263
	bl	__stack_chk_fail
.L1263:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	mergehulls, .-mergehulls
	.section	.rodata
	.align	2
.LC985:
	.ascii	"  Triangulating %d vertices.\012\000"
	.align	2
.LC986:
	.ascii	"  Creating \000"
	.align	2
.LC987:
	.ascii	"  Joining triangulations with %d and %d vertices.\012"
	.ascii	"\000"
	.align	2
.LC988:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	divconqrecurse
	.syntax unified
	.arm
	.fpu softvfp
	.type	divconqrecurse, %function
divconqrecurse:
	@ args = 12, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #96
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #8]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #12]
	str	r3, [fp, #-84]
	ldr	r3, .L1294
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1270
	ldr	r1, [fp, #-76]
	ldr	r0, .L1294+4
	bl	printf
.L1270:
	ldr	r3, [fp, #-76]
	cmp	r3, #2
	bne	.L1271
	ldr	r2, [fp, #-80]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	maketriangle
	ldr	r3, [fp, #-80]
	ldr	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	ldr	r1, .L1294+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	str	r2, [r3]
	ldr	r2, [fp, #-84]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	maketriangle
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	ldr	r1, .L1294+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	str	r2, [r3]
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r3, [fp, #-80]
	ldr	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	ldr	r2, .L1294+12
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-80]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	ldr	r2, .L1294+8
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r3, [fp, #-80]
	ldr	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	ldr	r2, .L1294+12
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-80]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	ldr	r2, .L1294+8
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r3, [fp, #-80]
	ldr	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1272
	ldr	r0, .L1294+16
	bl	printf
	ldr	r2, [fp, #-80]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	printtriangle
	ldr	r0, .L1294+16
	bl	printf
	ldr	r2, [fp, #-84]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	printtriangle
.L1272:
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-80]
	str	r2, [r3]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	ldr	r2, .L1294+12
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-80]
	str	r2, [r3, #4]
	b	.L1269
.L1271:
	ldr	r3, [fp, #-76]
	cmp	r3, #3
	bne	.L1274
	sub	r3, fp, #40
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	maketriangle
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	maketriangle
	sub	r3, fp, #24
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	maketriangle
	sub	r3, fp, #16
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	maketriangle
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	counterclockwise
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1290
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1294+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	str	r2, [r3]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L1294+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	str	r2, [r3]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L1294+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #8]
	str	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	str	r2, [r3]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r1, .L1294+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	str	r2, [r3]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #8]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r2, .L1294+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-28]
	ldr	r2, .L1294+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1294+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	ldr	r2, .L1294+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r2, .L1294+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-28]
	ldr	r2, .L1294+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1294+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	ldr	r2, .L1294+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-80]
	str	r2, [r3]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-80]
	str	r2, [r3, #4]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-84]
	str	r2, [r3]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
	b	.L1277
.L1290:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1294+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r1, .L1294+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2]
	str	r2, [r3]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1291
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	str	r2, [r3]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L1294+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	str	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	str	r2, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #8]
	str	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L1294+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #8]
	str	r2, [r3]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #8]
	str	r2, [r3]
	b	.L1280
.L1291:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #8]
	str	r2, [r3]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L1294+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #8]
	str	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #8]
	str	r2, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	str	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L1294+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	str	r2, [r3]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r1, .L1294+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	str	r2, [r3]
.L1280:
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r2, .L1294+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r2, .L1294+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, .L1294+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1294+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, .L1294+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-12]
	ldr	r2, .L1294+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1294+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	ldr	r2, .L1294+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-80]
	str	r2, [r3]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-80]
	str	r2, [r3, #4]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1292
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-84]
	str	r2, [r3]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
	b	.L1277
.L1292:
	ldr	r3, [fp, #-80]
	ldr	r2, [r3]
	ldr	r3, [fp, #-84]
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	ldr	r2, .L1294+8
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
.L1277:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1293
	ldr	r0, .L1294+16
	bl	printf
	sub	r3, fp, #40
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	printtriangle
	ldr	r0, .L1294+16
	bl	printf
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	printtriangle
	ldr	r0, .L1294+16
	bl	printf
	sub	r3, fp, #24
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	printtriangle
	ldr	r0, .L1294+16
	bl	printf
	sub	r3, fp, #16
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	printtriangle
	b	.L1293
.L1274:
	ldr	r3, [fp, #-76]
	asr	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #4]
	rsb	r3, r3, #1
	sub	r2, fp, #24
	str	r2, [sp, #8]
	ldr	r2, [fp, #-80]
	str	r2, [sp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-72]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	divconqrecurse
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r1, r2, r3
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-56]
	sub	r0, r2, r3
	ldr	r3, [fp, #4]
	rsb	r3, r3, #1
	ldr	r2, [fp, #-84]
	str	r2, [sp, #8]
	sub	r2, fp, #16
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r0
	mov	r2, r1
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	divconqrecurse
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #116]
	cmp	r3, #1
	ble	.L1284
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-56]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-56]
	ldr	r0, .L1294+20
	bl	printf
.L1284:
	sub	r2, fp, #24
	ldr	r3, [fp, #4]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-84]
	str	r3, [sp, #4]
	sub	r3, fp, #16
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-80]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	mergehulls
	b	.L1269
.L1293:
	nop
.L1269:
	ldr	r3, .L1294
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1286
	bl	__stack_chk_fail
.L1286:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1295:
	.align	2
.L1294:
	.word	.LC988
	.word	.LC985
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC986
	.word	.LC987
	.size	divconqrecurse, .-divconqrecurse
	.section	.rodata
	.align	2
.LC989:
	.ascii	"  Removing ghost triangles.\000"
	.text
	.align	2
	.global	removeghosts
	.syntax unified
	.arm
	.fpu softvfp
	.type	removeghosts, %function
removeghosts:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1297
	ldr	r0, .L1301
	bl	puts
.L1297:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, .L1301+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-24]
	orr	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-40]
.L1299:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, .L1301+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, .L1301+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	eor	r3, r3, r2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1298
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L1298
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r1, .L1301+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1298
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
.L1298:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	eor	r3, r3, r2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	triangledealloc
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1299
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L1299
	ldr	r3, [fp, #-40]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1302:
	.align	2
.L1301:
	.word	.LC989
	.word	minus1mod3
	.word	plus1mod3
	.size	removeghosts, .-removeghosts
	.section	.rodata
	.align	2
.LC990:
	.ascii	"  Sorting vertices.\000"
	.align	2
.LC991:
	.ascii	"Warning:  A duplicate vertex at (%.12g, %.12g) appe"
	.ascii	"ared and was ignored.\012\000"
	.align	2
.LC992:
	.ascii	"  Forming triangulation.\000"
	.align	2
.LC993:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	divconqdelaunay
	.syntax unified
	.arm
	.fpu softvfp
	.type	divconqdelaunay, %function
divconqdelaunay:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #68
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L1321
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1304
	ldr	r0, .L1321+4
	bl	puts
.L1304:
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	trimalloc
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-56]
	add	r3, r3, #112
	mov	r0, r3
	bl	traversalinit
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L1305
.L1306:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r4, r2, r3
	ldr	r0, [fp, #-56]
	bl	vertextraverse
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L1305:
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L1306
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	vertexsort
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #1
	str	r3, [fp, #-44]
	b	.L1307
.L1313:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1308
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1308
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1311
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1321+8
	bl	printf
.L1311:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, .L1321+12
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #516]
	add	r3, r3, #1
	ldr	r2, [fp, #-56]
	add	r2, r2, #49152
	str	r3, [r2, #516]
	b	.L1312
.L1308:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
.L1312:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1307:
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L1313
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #100]
	cmp	r3, #0
	beq	.L1314
	ldr	r3, [fp, #-48]
	asr	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	cmp	r3, #1
	ble	.L1314
	ldr	r3, [fp, #-36]
	cmp	r3, #1
	ble	.L1315
	mov	r2, #1
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-40]
	bl	alternateaxes
.L1315:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r0, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	mov	r2, #1
	mov	r1, r3
	bl	alternateaxes
.L1314:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1316
	ldr	r0, .L1321+16
	bl	puts
.L1316:
	sub	r3, fp, #24
	str	r3, [sp, #8]
	sub	r3, fp, #32
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	divconqrecurse
	ldr	r0, [fp, #-40]
	bl	trifree
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	removeghosts
	mov	r3, r0
	ldr	r2, .L1321
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1318
	bl	__stack_chk_fail
.L1318:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1322:
	.align	2
.L1321:
	.word	.LC993
	.word	.LC990
	.word	.LC991
	.word	-32767
	.word	.LC992
	.size	divconqdelaunay, .-divconqdelaunay
	.section	.rodata
	.align	2
.LC994:
	.ascii	"  Creating triangular bounding box.\000"
	.align	2
.LC995:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	boundingbox
	.syntax unified
	.arm
	.fpu softvfp
	.type	boundingbox, %function
boundingbox:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #36
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L1334
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1324
	ldr	r0, .L1334+4
	bl	puts
.L1324:
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1325
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
.L1325:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1327
	mov	r2, #0
	ldr	r3, .L1334+8
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
.L1327:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #140]
	mov	r0, r3
	bl	trimalloc
	mov	r2, r0
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	str	r2, [r3, #604]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #140]
	mov	r0, r3
	bl	trimalloc
	mov	r2, r0
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	str	r2, [r3, #608]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #140]
	mov	r0, r3
	bl	trimalloc
	mov	r2, r0
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	str	r2, [r3, #612]
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmdb	r3, {r4-r5}
	mov	r2, #0
	ldr	r3, .L1334+12
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r6, [r3, #604]
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmdb	r3, {r4-r5}
	mov	r2, #0
	ldr	r3, .L1334+16
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #604]
	add	r6, r3, #8
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmia	r3, {r4-r5}
	mov	r2, #0
	ldr	r3, .L1334+12
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r6, [r3, #608]
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmdb	r3, {r4-r5}
	mov	r2, #0
	ldr	r3, .L1334+16
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #608]
	add	r6, r3, #8
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmdb	r3, {r0-r1}
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r4, [r3, #612]
	mov	r2, #0
	ldr	r3, .L1334+20
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, [fp, #-48]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmia	r3, {r4-r5}
	mov	r2, #0
	ldr	r3, .L1334+24
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #612]
	add	r6, r3, #8
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	maketriangle
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L1334+28
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	add	r2, r2, #49152
	ldr	r2, [r2, #604]
	str	r2, [r3]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L1334+32
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	add	r2, r2, #49152
	ldr	r2, [r2, #608]
	str	r2, [r3]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	add	r2, r2, #49152
	ldr	r2, [r2, #612]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1333
	ldr	r0, .L1334+36
	bl	printf
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	printtriangle
.L1333:
	nop
	ldr	r3, .L1334
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1330
	bl	__stack_chk_fail
.L1330:
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L1335:
	.align	2
.L1334:
	.word	.LC995
	.word	.LC994
	.word	1072693248
	.word	1078525952
	.word	1078198272
	.word	1071644672
	.word	1078853632
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC986
	.size	boundingbox, .-boundingbox
	.section	.rodata
	.align	2
.LC996:
	.ascii	"  Removing triangular bounding box.\000"
	.text
	.align	2
	.global	removebox
	.syntax unified
	.arm
	.fpu softvfp
	.type	removebox, %function
removebox:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1337
	ldr	r0, .L1343
	bl	puts
.L1337:
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	and	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r2, .L1343+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, .L1343+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	and	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-24]
	ldr	r2, .L1343+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	ldr	r2, .L1343+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	and	r3, r3, #3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	eor	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1338
	ldr	r3, [fp, #-40]
	ldr	r2, .L1343+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
.L1338:
	ldr	r3, [fp, #-44]
	mov	r2, r3
	ldr	r3, [fp, #-40]
	orr	r2, r2, r3
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	str	r2, [r3]
	mvn	r3, #1
	str	r3, [fp, #-64]
	b	.L1339
.L1341:
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r2, .L1343+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	and	r3, r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	eor	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1340
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L1340
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r1, .L1343+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1340
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
.L1340:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-24]
	ldr	r2, .L1343+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	and	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-52]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	triangledealloc
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1339
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
.L1339:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L1341
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L1341
	ldr	r3, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	triangledealloc
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #604]
	mov	r0, r3
	bl	trifree
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #608]
	mov	r0, r3
	bl	trifree
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #612]
	mov	r0, r3
	bl	trifree
	ldr	r3, [fp, #-64]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1344:
	.align	2
.L1343:
	.word	.LC996
	.word	minus1mod3
	.word	plus1mod3
	.size	removebox, .-removebox
	.section	.rodata
	.align	2
.LC997:
	.ascii	"  Incrementally inserting vertices.\000"
	.align	2
.LC998:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	incrementaldelaunay
	.syntax unified
	.arm
	.fpu softvfp
	.type	incrementaldelaunay, %function
incrementaldelaunay:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L1353
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	boundingbox
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1346
	ldr	r0, .L1353+4
	bl	puts
.L1346:
	ldr	r3, [fp, #-24]
	add	r3, r3, #112
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-24]
	bl	vertextraverse
	str	r0, [fp, #-20]
	b	.L1347
.L1350:
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	str	r3, [fp, #-16]
	sub	r3, fp, #16
	mov	r2, #0
	str	r2, [sp, #8]
	mov	r2, #0
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	insertvertex
	mov	r3, r0
	cmp	r3, #3
	bne	.L1348
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1349
	ldr	r3, [fp, #-20]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-20]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1353+8
	bl	printf
.L1349:
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, .L1353+12
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #516]
	add	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r2, r2, #49152
	str	r3, [r2, #516]
.L1348:
	ldr	r0, [fp, #-24]
	bl	vertextraverse
	str	r0, [fp, #-20]
.L1347:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1350
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	removebox
	mov	r3, r0
	ldr	r2, .L1353
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1352
	bl	__stack_chk_fail
.L1352:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1354:
	.align	2
.L1353:
	.word	.LC998
	.word	.LC997
	.word	.LC991
	.word	-32767
	.size	incrementaldelaunay, .-incrementaldelaunay
	.align	2
	.global	eventheapinsert
	.syntax unified
	.arm
	.fpu softvfp
	.type	eventheapinsert, %function
eventheapinsert:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-28]
	b	.L1356
.L1361:
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	asr	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1357
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1358
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L1358
.L1357:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1356
.L1358:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-28]
.L1356:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1361
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #20]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	eventheapinsert, .-eventheapinsert
	.align	2
	.global	eventheapify
	.syntax unified
	.arm
	.fpu softvfp
	.type	eventheapify, %function
eventheapify:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #1
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-32]
	b	.L1364
.L1375:
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1365
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1366
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1366
.L1365:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	b	.L1369
.L1366:
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-36]
.L1369:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bge	.L1370
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1371
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1370
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1370
.L1371:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-36]
.L1370:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	bne	.L1374
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L1364
.L1374:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-48]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-56]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #1
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-32]
.L1364:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1375
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	eventheapify, .-eventheapify
	.align	2
	.global	eventheapdelete
	.syntax unified
	.arm
	.fpu softvfp
	.type	eventheapdelete, %function
eventheapdelete:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	ble	.L1379
	ldr	r3, [fp, #-28]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
.L1385:
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	asr	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1380
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1381
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L1381
.L1380:
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L1384
.L1381:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-32]
.L1384:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1385
.L1379:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-48]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r2, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	eventheapify
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	eventheapdelete, .-eventheapdelete
	.align	2
	.global	createeventheap
	.syntax unified
	.arm
	.fpu softvfp
	.type	createeventheap, %function
createeventheap:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r2, [r3, #496]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	trimalloc
	mov	r2, r0
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r0, r3
	bl	trimalloc
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #112
	mov	r0, r3
	bl	traversalinit
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1388
.L1389:
	ldr	r0, [fp, #-24]
	bl	vertextraverse
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r1, r1, r3
	ldr	r3, [fp, #-8]
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-32]
	ldr	r1, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r1, r1, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r3, [fp, #-28]
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	mov	r2, r3
	ldr	r1, [fp, #-16]
	bl	eventheapinsert
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1388:
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L1389
	ldr	r3, [fp, #-36]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L1390
.L1391:
	ldr	r3, [fp, #-32]
	ldr	r1, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r2, [fp, #-36]
	ldr	r2, [r2]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r2, r1, r3
	ldr	r3, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L1390:
	ldr	r3, [fp, #-24]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L1391
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	createeventheap, .-createeventheap
	.align	2
	.global	rightofhyperbola
	.syntax unified
	.arm
	.fpu softvfp
	.type	rightofhyperbola, %function
rightofhyperbola:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #56
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #592]
	add	r3, r3, #1
	ldr	r2, [fp, #-64]
	add	r2, r2, #49152
	str	r3, [r2, #592]
	ldr	r3, [fp, #-68]
	ldr	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	ldr	r1, .L1406
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-68]
	ldr	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-56]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1393
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-56]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1394
	ldr	r3, [fp, #-60]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-56]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1394
.L1393:
	ldr	r3, [fp, #-72]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-56]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L1400
	mov	r3, #1
	b	.L1399
.L1394:
	ldr	r3, [fp, #-72]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L1400
	mov	r3, #0
	b	.L1399
.L1400:
	ldr	r3, [fp, #-60]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-72]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-72]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-56]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r1, #1
	mov	r6, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1402
	mov	r3, #0
	mov	r6, r3
.L1402:
	and	r3, r6, #255
.L1399:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L1407:
	.align	2
.L1406:
	.word	minus1mod3
	.size	rightofhyperbola, .-rightofhyperbola
	.align	2
	.global	circletop
	.syntax unified
	.arm
	.fpu softvfp
	.type	circletop, %function
circletop:
	@ args = 8, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #88
	str	r0, [fp, #-96]
	str	r1, [fp, #-100]
	str	r2, [fp, #-104]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-96]
	add	r3, r3, #49152
	ldr	r3, [r3, #600]
	add	r3, r3, #1
	ldr	r2, [fp, #-96]
	add	r2, r2, #49152
	str	r3, [r2, #600]
	ldr	r3, [fp, #-100]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-108]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-100]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-108]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-104]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-108]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-104]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-108]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-100]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-104]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-100]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-104]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-108]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldmib	fp, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
	.size	circletop, .-circletop
	.align	2
	.global	check4deadevent
	.syntax unified
	.arm
	.fpu softvfp
	.type	check4deadevent, %function
check4deadevent:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r1, .L1413
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1412
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	eventheapdelete
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r1, .L1413
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
.L1412:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1414:
	.align	2
.L1413:
	.word	plus1mod3
	.size	check4deadevent, .-check4deadevent
	.align	2
	.global	splay
	.syntax unified
	.arm
	.fpu softvfp
	.type	splay, %function
splay:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L1416
	mov	r3, #0
	b	.L1417
.L1416:
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	ldr	r1, .L1442
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L1418
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	rightofhyperbola
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1419
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-36]
	b	.L1420
.L1419:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-36]
.L1420:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1421
	ldr	r3, [fp, #-44]
	b	.L1417
.L1421:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r1, .L1442
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L1422
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-40]
	bl	splay
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1422
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1423
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #16]
	b	.L1424
.L1423:
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #12]
.L1424:
	ldr	r3, [fp, #-44]
	b	.L1417
.L1422:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	rightofhyperbola
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1425
	ldr	r3, [fp, #-36]
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-48]
	ldr	r0, [fp, #-40]
	bl	splay
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #16]
	b	.L1426
.L1425:
	ldr	r3, [fp, #-36]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-48]
	ldr	r0, [fp, #-40]
	bl	splay
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #12]
.L1426:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1427
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1428
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #12]
	b	.L1429
.L1428:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #16]
.L1429:
	ldr	r3, [fp, #-36]
	b	.L1417
.L1427:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1430
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1431
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #12]
	b	.L1432
.L1431:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #16]
.L1432:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #12]
	b	.L1433
.L1430:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1434
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #12]
	b	.L1435
.L1434:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #16]
.L1435:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #16]
.L1433:
	ldr	r3, [fp, #-32]
	b	.L1417
.L1418:
	ldr	r3, [fp, #-44]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-48]
	ldr	r0, [fp, #-40]
	bl	splay
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-44]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-48]
	ldr	r0, [fp, #-40]
	bl	splay
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-40]
	add	r3, r3, #392
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	pooldealloc
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1436
	ldr	r3, [fp, #-16]
	b	.L1417
.L1436:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1437
	ldr	r3, [fp, #-20]
	b	.L1417
.L1437:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L1438
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	b	.L1417
.L1438:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1439
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	b	.L1417
.L1439:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-28]
	b	.L1440
.L1441:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-28]
.L1440:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L1441
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
.L1417:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1443:
	.align	2
.L1442:
	.word	minus1mod3
	.size	splay, .-splay
	.align	2
	.global	splayinsert
	.syntax unified
	.arm
	.fpu softvfp
	.type	splayinsert, %function
splayinsert:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	add	r3, r3, #392
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r1, .L1449
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1445
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	b	.L1446
.L1445:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	rightofhyperbola
	mov	r3, r0
	cmp	r3, #0
	beq	.L1447
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #16]
	b	.L1446
.L1447:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #12]
.L1446:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1450:
	.align	2
.L1449:
	.word	minus1mod3
	.size	splayinsert, .-splayinsert
	.section	.rodata
	.align	2
.LC999:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	circletopinsert
	.syntax unified
	.arm
	.fpu softvfp
	.type	circletopinsert, %function
circletopinsert:
	@ args = 24, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #128
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	str	r2, [fp, #-120]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #8]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #12]
	str	r3, [fp, #-136]
	ldr	r3, .L1454
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-136]
	str	r3, [sp]
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-128]
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	bl	counterclockwise
	str	r0, [fp, #-108]
	str	r1, [fp, #-104]
	ldr	r3, [fp, #-128]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-136]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-128]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-132]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-136]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-132]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-136]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #52
	sub	r2, fp, #44
	ldr	r1, [fp, #-120]
	ldr	r0, [fp, #-112]
	bl	splay
	mov	r1, r0
	sub	r3, fp, #44
	ldr	r2, [fp, #-124]
	ldr	r0, [fp, #-112]
	bl	splayinsert
	mov	r3, r0
	ldr	r2, .L1454
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1453
	bl	__stack_chk_fail
.L1453:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L1455:
	.align	2
.L1454:
	.word	.LC999
	.size	circletopinsert, .-circletopinsert
	.align	2
	.global	frontlocate
	.syntax unified
	.arm
	.fpu softvfp
	.type	frontlocate, %function
frontlocate:
	@ args = 8, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #4]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #4]
	str	r2, [r3, #4]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	splay
	str	r0, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1457
.L1461:
	ldr	r3, [fp, #4]
	ldr	r3, [r3, #4]
	ldr	r2, .L1463
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #4]
	str	r2, [r3, #4]
	ldr	r3, [fp, #4]
	ldr	r2, [r3]
	ldr	r3, [fp, #4]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	and	r2, r3, #3
	ldr	r3, [fp, #4]
	str	r2, [r3, #4]
	ldr	r3, [fp, #4]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	eor	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	ldr	r3, [fp, #4]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1458
	ldr	r3, [fp, #4]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L1458
	mov	r3, #1
	b	.L1459
.L1458:
	mov	r3, #0
.L1459:
	str	r3, [fp, #-12]
.L1457:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1460
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #4]
	ldr	r0, [fp, #-16]
	bl	rightofhyperbola
	mov	r3, r0
	cmp	r3, #0
	bne	.L1461
.L1460:
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1464:
	.align	2
.L1463:
	.word	minus1mod3
	.size	frontlocate, .-frontlocate
	.section	.rodata
	.align	2
.LC1000:
	.ascii	"  Placing vertices in event heap.\000"
	.align	2
.LC1001:
	.ascii	"Error:  Input vertices are all identical.\000"
	.align	2
.LC1002:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	sweeplinedelaunay
	.syntax unified
	.arm
	.fpu softvfp
	.type	sweeplinedelaunay, %function
sweeplinedelaunay:
	@ args = 0, pretend = 0, frame = 168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #192
	str	r0, [fp, #-168]
	str	r1, [fp, #-172]
	ldr	r3, .L1502
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-168]
	add	r0, r3, #392
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #508
	mov	r2, #508
	mov	r1, #20
	bl	poolinit
	mov	r3, #0
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1466
	ldr	r0, .L1502+4
	bl	puts
.L1466:
	sub	r3, fp, #156
	sub	r2, fp, #160
	sub	r1, fp, #164
	ldr	r0, [fp, #-168]
	bl	createeventheap
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1467
	ldr	r0, .L1502+8
	bl	puts
.L1467:
	sub	r3, fp, #48
	mov	r2, r3
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	maketriangle
	sub	r3, fp, #40
	mov	r2, r3
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	maketriangle
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r2, .L1502+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-36]
	ldr	r2, .L1502+16
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r2, .L1502+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-36]
	ldr	r2, .L1502+16
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3]
	ldr	r2, [fp, #-156]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3]
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-164]
	ldr	r1, [fp, #-152]
	mov	r2, #0
	mov	r0, r3
	bl	eventheapdelete
	ldr	r3, [fp, #-152]
	sub	r3, r3, #1
	str	r3, [fp, #-152]
.L1475:
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	bne	.L1468
	ldr	r0, .L1502+20
	bl	puts
	mov	r0, #1
	bl	triexit
.L1468:
	ldr	r3, [fp, #-164]
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3]
	ldr	r2, [fp, #-156]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3]
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-164]
	ldr	r1, [fp, #-152]
	mov	r2, #0
	mov	r0, r3
	bl	eventheapdelete
	ldr	r3, [fp, #-152]
	sub	r3, r3, #1
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-132]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-128]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1469
	ldr	r3, [fp, #-132]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-128]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1469
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1472
	ldr	r3, [fp, #-128]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-128]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1502+24
	bl	printf
.L1472:
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-128]
	add	r3, r2, r3
	ldr	r2, .L1502+28
	str	r2, [r3]
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #516]
	add	r3, r3, #1
	ldr	r2, [fp, #-168]
	add	r2, r2, #49152
	str	r3, [r2, #516]
.L1469:
	ldr	r3, [fp, #-132]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-128]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1473
	ldr	r3, [fp, #-132]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-128]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L1475
.L1473:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r1, .L1502+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-132]
	str	r2, [r3]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r1, .L1502+16
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-128]
	str	r2, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1502+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-128]
	str	r2, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1502+16
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-132]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-44]
	ldr	r2, .L1502+16
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-128]
	str	r3, [fp, #-140]
	b	.L1476
.L1490:
	ldr	r3, [fp, #-164]
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-164]
	ldr	r1, [fp, #-152]
	mov	r2, #0
	mov	r0, r3
	bl	eventheapdelete
	ldr	r3, [fp, #-152]
	sub	r3, r3, #1
	str	r3, [fp, #-152]
	mov	r3, #1
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-124]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-168]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1501
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #16]
	and	r3, r3, #3
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #16]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	eor	r3, r3, r2
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-116]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r2, .L1502+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-164]
	sub	r3, fp, #152
	sub	r1, fp, #156
	sub	r0, fp, #32
	bl	check4deadevent
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1502+16
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-116]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-164]
	sub	r3, fp, #152
	sub	r1, fp, #156
	sub	r0, fp, #24
	bl	check4deadevent
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	bne	.L1479
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bne	.L1479
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1502+16
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-68]
.L1479:
	sub	r3, fp, #56
	mov	r2, r3
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	flip
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1502+16
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1502+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-116]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	mov	r0, #10
	bl	randomnation
	mov	r3, r0
	cmp	r3, #0
	bne	.L1480
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #3
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	mov	r2, r3
	ldr	r3, [fp, #-116]
	eor	r3, r3, r2
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	ldr	r1, .L1502+16
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-108]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	ldr	r1, .L1502+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-124]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #48
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #-100]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-104]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-108]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-144]
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	circletopinsert
	str	r0, [fp, #-144]
	b	.L1480
.L1501:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1481
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1481
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1484
	ldr	r3, [fp, #-120]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1502+24
	bl	printf
.L1484:
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r2, .L1502+28
	str	r2, [r3]
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #516]
	add	r3, r3, #1
	ldr	r2, [fp, #-168]
	add	r2, r2, #49152
	str	r3, [r2, #516]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L1480
.L1481:
	ldr	r3, [fp, #-120]
	str	r3, [fp, #-140]
	sub	r2, fp, #72
	sub	r3, fp, #148
	str	r3, [sp, #4]
	sub	r3, fp, #64
	str	r3, [sp]
	ldr	r3, [fp, #-120]
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-168]
	bl	frontlocate
	str	r0, [fp, #-144]
	ldr	r2, [fp, #-164]
	sub	r3, fp, #152
	sub	r1, fp, #156
	sub	r0, fp, #64
	bl	check4deadevent
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	and	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-116]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	sub	r3, fp, #48
	mov	r2, r3
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	maketriangle
	sub	r3, fp, #40
	mov	r2, r3
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	maketriangle
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L1502+16
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r1, .L1502+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-112]
	str	r2, [r3]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r1, .L1502+16
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-120]
	str	r2, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1502+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-120]
	str	r2, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1502+16
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-112]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r2, .L1502+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-36]
	ldr	r2, .L1502+16
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r2, .L1502+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-36]
	ldr	r2, .L1502+16
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r1, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r1, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r1, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r1, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	bne	.L1485
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	bne	.L1485
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bne	.L1485
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-68]
.L1485:
	mov	r0, #10
	bl	randomnation
	mov	r3, r0
	cmp	r3, #0
	bne	.L1486
	sub	r2, fp, #48
	ldr	r3, [fp, #-120]
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-168]
	bl	splayinsert
	str	r0, [fp, #-144]
	b	.L1480
.L1486:
	mov	r0, #10
	bl	randomnation
	mov	r3, r0
	cmp	r3, #0
	bne	.L1480
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-36]
	ldr	r2, .L1502+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-12]
	sub	r2, fp, #16
	ldr	r3, [fp, #-120]
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-168]
	bl	splayinsert
	str	r0, [fp, #-144]
.L1480:
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-124]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-124]
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	beq	.L1476
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-108]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r1, .L1502+16
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	str	r3, [sp]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-108]
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	counterclockwise
	str	r0, [fp, #-92]
	str	r1, [fp, #-88]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1487
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-156]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-168]
	add	r3, r3, #49408
	add	r3, r3, #240
	ldmdb	r3, {r2-r3}
	ldr	r1, [fp, #-96]
	stm	r1, {r2-r3}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-100]
	ldr	r2, [fp, #-104]
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-168]
	bl	circletop
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-96]
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r3, [fp, #-48]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-96]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-164]
	ldr	r1, [fp, #-152]
	ldr	r2, [fp, #-96]
	mov	r0, r3
	bl	eventheapinsert
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r1, .L1502+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-96]
	str	r2, [r3]
.L1487:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-108]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1502+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	str	r3, [sp]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-108]
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	counterclockwise
	str	r0, [fp, #-84]
	str	r1, [fp, #-80]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1500
	b	.L1476
.L1500:
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-156]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-168]
	add	r3, r3, #49408
	add	r3, r3, #240
	ldmdb	r3, {r2-r3}
	ldr	r1, [fp, #-96]
	stm	r1, {r2-r3}
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-100]
	ldr	r2, [fp, #-104]
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-168]
	bl	circletop
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-96]
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	orr	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-96]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-164]
	ldr	r1, [fp, #-152]
	ldr	r2, [fp, #-96]
	mov	r0, r3
	bl	eventheapinsert
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L1502+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-96]
	str	r2, [r3]
.L1476:
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	bgt	.L1490
	ldr	r3, [fp, #-168]
	add	r3, r3, #392
	mov	r0, r3
	bl	pooldeinit
	ldr	r3, [fp, #-68]
	ldr	r2, .L1502+16
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-68]
	sub	r3, fp, #72
	mov	r2, r3
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	removeghosts
	mov	r3, r0
	ldr	r2, .L1502
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1492
	bl	__stack_chk_fail
.L1492:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1503:
	.align	2
.L1502:
	.word	.LC1002
	.word	.LC1000
	.word	.LC992
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC1001
	.word	.LC991
	.word	-32767
	.size	sweeplinedelaunay, .-sweeplinedelaunay
	.section	.rodata
	.align	2
.LC1003:
	.ascii	"Constructing Delaunay triangulation \000"
	.align	2
.LC1004:
	.ascii	"by incremental method.\000"
	.align	2
.LC1005:
	.ascii	"by sweepline method.\000"
	.align	2
.LC1006:
	.ascii	"by divide-and-conquer method.\000"
	.text
	.align	2
	.global	delaunay
	.syntax unified
	.arm
	.fpu softvfp
	.type	delaunay, %function
delaunay:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #532]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	initializetrisubpools
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1505
	ldr	r0, .L1513
	bl	printf
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #92]
	cmp	r3, #0
	beq	.L1506
	ldr	r0, .L1513+4
	bl	puts
	b	.L1505
.L1506:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #96]
	cmp	r3, #0
	beq	.L1507
	ldr	r0, .L1513+8
	bl	puts
	b	.L1505
.L1507:
	ldr	r0, .L1513+12
	bl	puts
.L1505:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #92]
	cmp	r3, #0
	beq	.L1508
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	incrementaldelaunay
	str	r0, [fp, #-8]
	b	.L1509
.L1508:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #96]
	cmp	r3, #0
	beq	.L1510
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	sweeplinedelaunay
	str	r0, [fp, #-8]
	b	.L1509
.L1510:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	divconqdelaunay
	str	r0, [fp, #-8]
.L1509:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	bne	.L1511
	mov	r3, #0
	b	.L1512
.L1511:
	ldr	r3, [fp, #-8]
.L1512:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1514:
	.align	2
.L1513:
	.word	.LC1003
	.word	.LC1004
	.word	.LC1005
	.word	.LC1006
	.size	delaunay, .-delaunay
	.section	.rodata
	.align	2
.LC1007:
	.ascii	"Opening %s.\012\000"
	.align	2
.LC1008:
	.ascii	"r\000"
	.align	2
.LC1009:
	.ascii	"  Error:  Cannot access file %s.\012\000"
	.align	2
.LC1010:
	.ascii	"Error:  Triangles in %s must have at least 3 vertic"
	.ascii	"es.\012\000"
	.align	2
.LC1011:
	.ascii	"Error:  %s and %s disagree on number of triangles.\012"
	.ascii	"\000"
	.align	2
.LC1012:
	.ascii	"Reconstructing mesh.\000"
	.align	2
.LC1013:
	.ascii	"  Assembling triangles.\000"
	.align	2
.LC1014:
	.ascii	"Error:  Triangle %ld is missing vertex %d in %s.\012"
	.ascii	"\000"
	.align	2
.LC1015:
	.ascii	"Error:  Triangle %ld has an invalid vertex index.\012"
	.ascii	"\000"
	.align	2
.LC1016:
	.ascii	"  Marking segments in triangulation.\000"
	.align	2
.LC1017:
	.ascii	"Error:  Segment %ld has no endpoints in %s.\012\000"
	.align	2
.LC1018:
	.ascii	"Error:  Segment %ld is missing its second endpoint "
	.ascii	"in %s.\012\000"
	.align	2
.LC1019:
	.ascii	"Error:  Segment %ld has an invalid vertex index.\012"
	.ascii	"\000"
	.align	2
.LC1020:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	reconstruct
	.syntax unified
	.arm
	.fpu softvfp
	.type	reconstruct, %function
reconstruct:
	@ args = 8, pretend = 0, frame = 1240
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #1232
	sub	sp, sp, #12
	str	r0, [fp, #-1232]
	str	r1, [fp, #-1236]
	str	r2, [fp, #-1240]
	str	r3, [fp, #-1244]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-1248]
	ldr	r3, [fp, #8]
	str	r3, [fp, #-1252]
	ldr	r3, .L1587+64
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1516
	ldr	r1, [fp, #-1240]
	ldr	r0, .L1587
	bl	printf
.L1516:
	ldr	r1, .L1587+4
	ldr	r0, [fp, #-1240]
	bl	fopen
	str	r0, [fp, #-1176]
	ldr	r3, [fp, #-1176]
	cmp	r3, #0
	bne	.L1517
	ldr	r1, [fp, #-1240]
	ldr	r0, .L1587+8
	bl	printf
	mov	r0, #1
	bl	triexit
.L1517:
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-1240]
	ldr	r1, [fp, #-1176]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r0, [fp, #-1224]
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	str	r2, [r3, #500]
	ldr	r3, [fp, #-1224]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1224]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1518
	mov	r3, #3
	str	r3, [fp, #-1212]
	b	.L1519
.L1518:
	ldr	r0, [fp, #-1224]
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1212]
	ldr	r3, [fp, #-1212]
	cmp	r3, #2
	bgt	.L1519
	ldr	r1, [fp, #-1240]
	ldr	r0, .L1587+12
	bl	printf
	mov	r0, #1
	bl	triexit
.L1519:
	ldr	r3, [fp, #-1224]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1224]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1520
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #532]
	b	.L1521
.L1520:
	ldr	r0, [fp, #-1224]
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	str	r2, [r3, #532]
.L1521:
	ldr	r1, [fp, #-1236]
	ldr	r0, [fp, #-1232]
	bl	initializetrisubpools
	mov	r3, #1
	str	r3, [fp, #-1192]
	b	.L1522
.L1523:
	sub	r3, fp, #1088
	sub	r3, r3, #12
	sub	r3, r3, #8
	mov	r2, r3
	ldr	r1, [fp, #-1236]
	ldr	r0, [fp, #-1232]
	bl	maketriangle
	ldr	r3, [fp, #-1108]
	add	r3, r3, #12
	ldr	r2, [fp, #-1108]
	str	r2, [r3]
	ldr	r3, [fp, #-1192]
	add	r3, r3, #1
	str	r3, [fp, #-1192]
.L1522:
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #500]
	ldr	r2, [fp, #-1192]
	cmp	r2, r3
	ble	.L1523
	mov	r3, #0
	str	r3, [fp, #-1208]
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1524
	ldr	r3, [fp, #-1236]
	add	r2, r3, #4224
	add	r2, r2, #40
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, [fp, #-1252]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r0, [fp, #-1224]
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	str	r2, [r3, #504]
	ldr	r3, [fp, #-1224]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1224]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1525
	ldr	r0, [fp, #-1224]
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1208]
.L1525:
	mov	r3, #1
	str	r3, [fp, #-1188]
	b	.L1526
.L1527:
	sub	r3, fp, #1056
	sub	r3, r3, #12
	mov	r1, r3
	ldr	r0, [fp, #-1232]
	bl	makesubseg
	ldr	r3, [fp, #-1068]
	add	r3, r3, #8
	ldr	r2, [fp, #-1068]
	str	r2, [r3]
	ldr	r3, [fp, #-1188]
	add	r3, r3, #1
	str	r3, [fp, #-1188]
.L1526:
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #504]
	ldr	r2, [fp, #-1188]
	cmp	r2, r3
	ble	.L1527
.L1524:
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1528
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1529
	ldr	r1, [fp, #-1244]
	ldr	r0, .L1587
	bl	printf
.L1529:
	ldr	r1, .L1587+4
	ldr	r0, [fp, #-1244]
	bl	fopen
	str	r0, [fp, #-1220]
	ldr	r3, [fp, #-1220]
	cmp	r3, #0
	bne	.L1530
	ldr	r1, [fp, #-1244]
	ldr	r0, .L1587+8
	bl	printf
	mov	r0, #1
	bl	triexit
.L1530:
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-1244]
	ldr	r1, [fp, #-1220]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r0, [fp, #-1224]
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1172]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #500]
	ldr	r2, [fp, #-1172]
	cmp	r2, r3
	beq	.L1528
	ldr	r2, [fp, #-1244]
	ldr	r1, [fp, #-1240]
	ldr	r0, .L1587+16
	bl	printf
	mov	r0, #1
	bl	triexit
.L1528:
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1531
	ldr	r0, .L1587+20
	bl	puts
.L1531:
	ldr	r3, [fp, #-1232]
	ldr	r3, [r3, #152]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	trimalloc
	str	r0, [fp, #-1168]
	mov	r3, #0
	str	r3, [fp, #-1184]
	b	.L1532
.L1533:
	ldr	r3, [fp, #-1184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1168]
	add	r3, r2, r3
	ldr	r2, [fp, #-1232]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-1184]
	add	r3, r3, #1
	str	r3, [fp, #-1184]
.L1532:
	ldr	r3, [fp, #-1232]
	ldr	r3, [r3, #152]
	ldr	r2, [fp, #-1184]
	cmp	r2, r3
	blt	.L1533
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1534
	ldr	r0, .L1587+24
	bl	puts
.L1534:
	ldr	r3, [fp, #-1232]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-1232]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-1108]
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-1192]
	b	.L1535
.L1557:
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-1240]
	ldr	r1, [fp, #-1176]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1224]
	mov	r3, #0
	str	r3, [fp, #-1180]
	b	.L1536
.L1540:
	ldr	r3, [fp, #-1224]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1224]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1537
	ldr	r3, [fp, #-1180]
	add	r2, r3, #1
	ldr	r3, [fp, #-1240]
	ldr	r1, [fp, #-1192]
	ldr	r0, .L1587+28
	bl	printf
	mov	r0, #1
	bl	triexit
	b	.L1538
.L1537:
	ldr	r0, [fp, #-1224]
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1180]
	lsl	r3, r3, #2
	sub	r1, fp, #12
	add	r3, r1, r3
	str	r2, [r3, #-1040]
	ldr	r3, [fp, #-1180]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-1040]
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #40]
	cmp	r2, r3
	blt	.L1539
	ldr	r3, [fp, #-1180]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-1040]
	ldr	r3, [fp, #-1236]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	add	r3, r1, r3
	cmp	r2, r3
	blt	.L1538
.L1539:
	ldr	r1, [fp, #-1192]
	ldr	r0, .L1587+32
	bl	printf
	mov	r0, #1
	bl	triexit
.L1538:
	ldr	r3, [fp, #-1180]
	add	r3, r3, #1
	str	r3, [fp, #-1180]
.L1536:
	ldr	r3, [fp, #-1180]
	cmp	r3, #2
	ble	.L1540
	mov	r3, #3
	str	r3, [fp, #-1180]
	b	.L1541
.L1543:
	ldr	r3, [fp, #-1224]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1224]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1542
	ldr	r0, [fp, #-1224]
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1124]
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	blt	.L1542
	ldr	r3, [fp, #-1236]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	add	r3, r2, r3
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	bge	.L1542
	ldr	r2, [fp, #-1124]
	ldr	r1, [fp, #-1236]
	ldr	r0, [fp, #-1232]
	bl	getvertex
	str	r0, [fp, #-1120]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1120]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmn	r3, #32768
	beq	.L1542
	ldr	r1, [fp, #-1120]
	ldr	r0, [fp, #-1232]
	bl	vertexdealloc
.L1542:
	ldr	r3, [fp, #-1180]
	add	r3, r3, #1
	str	r3, [fp, #-1180]
.L1541:
	ldr	r2, [fp, #-1180]
	ldr	r3, [fp, #-1212]
	cmp	r2, r3
	blt	.L1543
	mov	r3, #0
	str	r3, [fp, #-1180]
	b	.L1544
.L1547:
	ldr	r3, [fp, #-1224]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1224]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1545
	ldr	r2, [fp, #-1108]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-1180]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r1, r2, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	b	.L1546
.L1545:
	ldr	r0, [fp, #-1224]
	ldr	r2, [fp, #-1108]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-1180]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r4, r2, r3
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r1, r3
	bl	strtod
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
.L1546:
	ldr	r3, [fp, #-1180]
	add	r3, r3, #1
	str	r3, [fp, #-1180]
.L1544:
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #532]
	ldr	r2, [fp, #-1180]
	cmp	r2, r3
	blt	.L1547
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1548
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-1244]
	ldr	r1, [fp, #-1220]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1224]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1224]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1549
	mov	r2, #0
	ldr	r3, .L1587+36
	str	r2, [fp, #-1116]
	str	r3, [fp, #-1112]
	b	.L1550
.L1549:
	ldr	r2, [fp, #-1224]
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r1, r3
	mov	r0, r2
	bl	strtod
	str	r0, [fp, #-1116]
	str	r1, [fp, #-1112]
.L1550:
	ldr	r2, [fp, #-1108]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r1, r2, r3
	ldr	r2, [fp, #-1116]
	ldr	r3, [fp, #-1112]
	stm	r1, {r2-r3}
.L1548:
	mov	r3, #0
	str	r3, [fp, #-1104]
	ldr	r1, [fp, #-1052]
	ldr	r2, [fp, #-1108]
	ldr	r3, [fp, #-1104]
	ldr	r0, .L1587+40
	ldr	r3, [r0, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r2, r1
	ldr	r1, [fp, #-1236]
	ldr	r0, [fp, #-1232]
	bl	getvertex
	mov	r3, r0
	str	r3, [r4]
	ldr	r1, [fp, #-1048]
	ldr	r2, [fp, #-1108]
	ldr	r3, [fp, #-1104]
	ldr	r0, .L1587+60
	ldr	r3, [r0, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r2, r1
	ldr	r1, [fp, #-1236]
	ldr	r0, [fp, #-1232]
	bl	getvertex
	mov	r3, r0
	str	r3, [r4]
	ldr	r1, [fp, #-1044]
	ldr	r2, [fp, #-1108]
	ldr	r3, [fp, #-1104]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r2, r1
	ldr	r1, [fp, #-1236]
	ldr	r0, [fp, #-1232]
	bl	getvertex
	mov	r3, r0
	str	r3, [r4]
	mov	r3, #0
	str	r3, [fp, #-1104]
	b	.L1551
.L1556:
	ldr	r3, [fp, #-1104]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1040]
	str	r3, [fp, #-1156]
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-1156]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1168]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1152]
	ldr	r2, [fp, #-1108]
	ldr	r3, [fp, #-1104]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-1152]
	str	r2, [r3]
	ldr	r3, [fp, #-1108]
	mov	r2, r3
	ldr	r3, [fp, #-1104]
	orr	r1, r2, r3
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-1156]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1168]
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-1152]
	and	r3, r3, #3
	str	r3, [fp, #-1088]
	ldr	r3, [fp, #-1088]
	mov	r2, r3
	ldr	r3, [fp, #-1152]
	eor	r3, r3, r2
	str	r3, [fp, #-1092]
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L1552
	ldr	r2, [fp, #-1108]
	ldr	r3, [fp, #-1104]
	ldr	r1, .L1587+60
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1136]
	ldr	r2, [fp, #-1108]
	ldr	r3, [fp, #-1104]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1132]
.L1555:
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	ldr	r1, .L1587+60
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1144]
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1128]
	ldr	r2, [fp, #-1132]
	ldr	r3, [fp, #-1144]
	cmp	r2, r3
	bne	.L1553
	ldr	r3, [fp, #-1108]
	str	r3, [fp, #-1100]
	ldr	r3, [fp, #-1104]
	ldr	r2, .L1587+60
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1092]
	mov	r2, r3
	ldr	r3, [fp, #-1088]
	orr	r1, r2, r3
	ldr	r2, [fp, #-1100]
	ldr	r3, [fp, #-1096]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-1100]
	mov	r2, r3
	ldr	r3, [fp, #-1096]
	orr	r1, r2, r3
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1553:
	ldr	r2, [fp, #-1136]
	ldr	r3, [fp, #-1128]
	cmp	r2, r3
	bne	.L1554
	ldr	r3, [fp, #-1092]
	str	r3, [fp, #-1084]
	ldr	r3, [fp, #-1088]
	ldr	r2, .L1587+60
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-1080]
	ldr	r3, [fp, #-1084]
	mov	r2, r3
	ldr	r3, [fp, #-1080]
	orr	r1, r2, r3
	ldr	r2, [fp, #-1108]
	ldr	r3, [fp, #-1104]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-1108]
	mov	r2, r3
	ldr	r3, [fp, #-1104]
	orr	r1, r2, r3
	ldr	r2, [fp, #-1084]
	ldr	r3, [fp, #-1080]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L1554:
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1152]
	ldr	r3, [fp, #-1152]
	and	r3, r3, #3
	str	r3, [fp, #-1088]
	ldr	r3, [fp, #-1088]
	mov	r2, r3
	ldr	r3, [fp, #-1152]
	eor	r3, r3, r2
	str	r3, [fp, #-1092]
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1555
.L1552:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #1
	str	r3, [fp, #-1104]
.L1551:
	ldr	r3, [fp, #-1104]
	cmp	r3, #2
	ble	.L1556
	ldr	r0, [fp, #-1232]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-1108]
	ldr	r3, [fp, #-1192]
	add	r3, r3, #1
	str	r3, [fp, #-1192]
.L1535:
	ldr	r3, [fp, #-1108]
	cmp	r3, #0
	bne	.L1557
	ldr	r0, [fp, #-1176]
	bl	fclose
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1558
	ldr	r0, [fp, #-1220]
	bl	fclose
.L1558:
	mov	r3, #0
	str	r3, [fp, #-1200]
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1559
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1560
	ldr	r0, .L1587+44
	bl	puts
.L1560:
	mov	r3, #0
	str	r3, [fp, #-1204]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #56
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-1232]
	bl	subsegtraverse
	mov	r3, r0
	str	r3, [fp, #-1068]
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-1188]
	b	.L1561
.L1579:
	ldr	r3, [fp, #-1236]
	add	r2, r3, #4224
	add	r2, r2, #40
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, [fp, #-1252]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1224]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1224]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1562
	ldr	r2, [fp, #-1248]
	ldr	r1, [fp, #-1188]
	ldr	r0, .L1587+48
	bl	printf
	mov	r0, #1
	bl	triexit
	b	.L1563
.L1562:
	ldr	r0, [fp, #-1224]
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r3, r0
	str	r3, [fp, #-1060]
.L1563:
	ldr	r3, [fp, #-1224]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1224]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1564
	ldr	r2, [fp, #-1248]
	ldr	r1, [fp, #-1188]
	ldr	r0, .L1587+52
	bl	printf
	mov	r0, #1
	bl	triexit
	b	.L1565
.L1564:
	ldr	r0, [fp, #-1224]
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r3, r0
	str	r3, [fp, #-1056]
.L1565:
	ldr	r3, [fp, #-1208]
	cmp	r3, #0
	beq	.L1566
	ldr	r3, [fp, #-1224]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1224]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1567
	mov	r3, #0
	str	r3, [fp, #-1204]
	b	.L1566
.L1567:
	ldr	r0, [fp, #-1224]
	sub	r3, fp, #1200
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1204]
.L1566:
	mov	r3, #0
	str	r3, [fp, #-1180]
	b	.L1568
.L1571:
	ldr	r3, [fp, #-1180]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-1048]
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #40]
	cmp	r2, r3
	blt	.L1569
	ldr	r3, [fp, #-1180]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-1048]
	ldr	r3, [fp, #-1236]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	add	r3, r1, r3
	cmp	r2, r3
	blt	.L1570
.L1569:
	ldr	r1, [fp, #-1188]
	ldr	r0, .L1587+56
	bl	printf
	mov	r0, #1
	bl	triexit
.L1570:
	ldr	r3, [fp, #-1180]
	add	r3, r3, #1
	str	r3, [fp, #-1180]
.L1568:
	ldr	r3, [fp, #-1180]
	cmp	r3, #1
	ble	.L1571
	mov	r3, #0
	str	r3, [fp, #-1064]
	ldr	r3, [fp, #-1060]
	mov	r2, r3
	ldr	r1, [fp, #-1236]
	ldr	r0, [fp, #-1232]
	bl	getvertex
	str	r0, [fp, #-1164]
	ldr	r3, [fp, #-1056]
	mov	r2, r3
	ldr	r1, [fp, #-1236]
	ldr	r0, [fp, #-1232]
	bl	getvertex
	str	r0, [fp, #-1160]
	ldr	r2, [fp, #-1068]
	ldr	r3, [fp, #-1064]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-1164]
	str	r2, [r3]
	ldr	r2, [fp, #-1068]
	ldr	r3, [fp, #-1064]
	rsb	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-1160]
	str	r2, [r3]
	ldr	r2, [fp, #-1068]
	ldr	r3, [fp, #-1064]
	add	r3, r3, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-1164]
	str	r2, [r3]
	ldr	r2, [fp, #-1068]
	ldr	r3, [fp, #-1064]
	rsb	r3, r3, #5
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-1160]
	str	r2, [r3]
	ldr	r3, [fp, #-1068]
	add	r3, r3, #32
	ldr	r2, [fp, #-1204]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-1064]
	b	.L1572
.L1578:
	ldr	r3, [fp, #-1064]
	rsb	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1048]
	str	r3, [fp, #-1156]
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-1156]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1168]
	add	r3, r2, r3
	str	r3, [fp, #-1216]
	ldr	r3, [fp, #-1236]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-1156]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1168]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1152]
	ldr	r3, [fp, #-1152]
	and	r3, r3, #3
	str	r3, [fp, #-1088]
	ldr	r3, [fp, #-1088]
	mov	r2, r3
	ldr	r3, [fp, #-1152]
	eor	r3, r3, r2
	str	r3, [fp, #-1092]
	ldr	r2, [fp, #-1068]
	ldr	r3, [fp, #-1064]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1148]
	mov	r3, #1
	str	r3, [fp, #-1196]
	b	.L1573
.L1588:
	.align	2
.L1587:
	.word	.LC1007
	.word	.LC1008
	.word	.LC1009
	.word	.LC1010
	.word	.LC1011
	.word	.LC1012
	.word	.LC1013
	.word	.LC1014
	.word	.LC1015
	.word	-1074790400
	.word	plus1mod3
	.word	.LC1016
	.word	.LC1017
	.word	.LC1018
	.word	.LC1019
	.word	minus1mod3
	.word	.LC1020
.L1577:
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	ldr	r1, .L1587+60
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1144]
	ldr	r2, [fp, #-1148]
	ldr	r3, [fp, #-1144]
	cmp	r2, r3
	bne	.L1574
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-1216]
	str	r2, [r3]
	ldr	r3, [fp, #-1068]
	mov	r2, r3
	ldr	r3, [fp, #-1064]
	orr	r1, r2, r3
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-1092]
	mov	r2, r3
	ldr	r3, [fp, #-1088]
	orr	r1, r2, r3
	ldr	r2, [fp, #-1068]
	ldr	r3, [fp, #-1064]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1140]
	ldr	r3, [fp, #-1140]
	and	r3, r3, #3
	str	r3, [fp, #-1072]
	ldr	r3, [fp, #-1072]
	mov	r2, r3
	ldr	r3, [fp, #-1140]
	eor	r3, r3, r2
	str	r3, [fp, #-1076]
	ldr	r2, [fp, #-1076]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1575
	sub	r2, fp, #1072
	sub	r2, r2, #12
	sub	r2, r2, #8
	mov	r3, #1
	ldr	r1, [fp, #-1236]
	ldr	r0, [fp, #-1232]
	bl	insertsubseg
	ldr	r3, [fp, #-1200]
	add	r3, r3, #1
	str	r3, [fp, #-1200]
.L1575:
	mov	r3, #0
	str	r3, [fp, #-1196]
.L1574:
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r3, [fp, #-1216]
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1152]
	ldr	r3, [fp, #-1152]
	and	r3, r3, #3
	str	r3, [fp, #-1088]
	ldr	r3, [fp, #-1088]
	mov	r2, r3
	ldr	r3, [fp, #-1152]
	eor	r3, r3, r2
	str	r3, [fp, #-1092]
.L1573:
	ldr	r3, [fp, #-1196]
	cmp	r3, #0
	beq	.L1576
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1577
.L1576:
	ldr	r3, [fp, #-1064]
	add	r3, r3, #1
	str	r3, [fp, #-1064]
.L1572:
	ldr	r3, [fp, #-1064]
	cmp	r3, #1
	ble	.L1578
	ldr	r0, [fp, #-1232]
	bl	subsegtraverse
	mov	r3, r0
	str	r3, [fp, #-1068]
	ldr	r3, [fp, #-1188]
	add	r3, r3, #1
	str	r3, [fp, #-1188]
.L1561:
	ldr	r3, [fp, #-1068]
	cmp	r3, #0
	bne	.L1579
.L1559:
	mov	r3, #0
	str	r3, [fp, #-1184]
	b	.L1580
.L1584:
	ldr	r3, [fp, #-1184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1168]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1152]
	ldr	r3, [fp, #-1152]
	and	r3, r3, #3
	str	r3, [fp, #-1088]
	ldr	r3, [fp, #-1088]
	mov	r2, r3
	ldr	r3, [fp, #-1152]
	eor	r3, r3, r2
	str	r3, [fp, #-1092]
	b	.L1581
.L1583:
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1152]
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-1232]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1088]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1140]
	ldr	r3, [fp, #-1140]
	and	r3, r3, #3
	str	r3, [fp, #-1072]
	ldr	r3, [fp, #-1072]
	mov	r2, r3
	ldr	r3, [fp, #-1140]
	eor	r3, r3, r2
	str	r3, [fp, #-1076]
	ldr	r2, [fp, #-1076]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1582
	sub	r2, fp, #1072
	sub	r2, r2, #12
	sub	r2, r2, #8
	mov	r3, #1
	ldr	r1, [fp, #-1236]
	ldr	r0, [fp, #-1232]
	bl	insertsubseg
	ldr	r3, [fp, #-1200]
	add	r3, r3, #1
	str	r3, [fp, #-1200]
.L1582:
	ldr	r3, [fp, #-1152]
	and	r3, r3, #3
	str	r3, [fp, #-1088]
	ldr	r3, [fp, #-1088]
	mov	r2, r3
	ldr	r3, [fp, #-1152]
	eor	r3, r3, r2
	str	r3, [fp, #-1092]
.L1581:
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1232]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1583
	ldr	r3, [fp, #-1184]
	add	r3, r3, #1
	str	r3, [fp, #-1184]
.L1580:
	ldr	r3, [fp, #-1232]
	ldr	r3, [r3, #152]
	ldr	r2, [fp, #-1184]
	cmp	r2, r3
	blt	.L1584
	ldr	r0, [fp, #-1168]
	bl	trifree
	ldr	r3, [fp, #-1200]
	ldr	r2, .L1587+64
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1586
	bl	__stack_chk_fail
.L1586:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	reconstruct, .-reconstruct
	.section	.rodata
	.align	2
.LC1021:
	.ascii	"Internal error in finddirection():  Unable to find "
	.ascii	"a\000"
	.align	2
.LC1022:
	.ascii	"  triangle leading from (%.12g, %.12g) to\000"
	.align	2
.LC1023:
	.ascii	"  (%.12g, %.12g).\012\000"
	.text
	.align	2
	.global	finddirection
	.syntax unified
	.arm
	.fpu softvfp
	.type	finddirection, %function
finddirection:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #76
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r1, .L1612
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r1, .L1612+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	str	r3, [sp]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-76]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	counterclockwise
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1590
	mov	r3, #0
	mov	r4, r3
.L1590:
	and	r3, r4, #255
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-48]
	str	r3, [sp]
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	counterclockwise
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1591
	mov	r3, #0
	mov	r4, r3
.L1591:
	and	r3, r4, #255
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L1594
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L1594
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r2, .L1612+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	and	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-40]
	eor	r3, r3, r2
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1593
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L1594
.L1593:
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L1594
.L1597:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r2, .L1612+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-72]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	and	r2, r3, #3
	ldr	r3, [fp, #-72]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-40]
	eor	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-72]
	str	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1595
	ldr	r0, .L1612+8
	bl	puts
	ldr	r3, [fp, #-52]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-52]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1612+12
	bl	printf
	ldr	r3, [fp, #-76]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1612+16
	bl	printf
	bl	internalerror
.L1595:
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-44]
	str	r3, [sp]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-76]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	counterclockwise
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1596
	mov	r3, #0
	mov	r4, r3
.L1596:
	and	r3, r4, #255
	str	r3, [fp, #-60]
.L1594:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L1597
	b	.L1598
.L1601:
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	and	r2, r3, #3
	ldr	r3, [fp, #-72]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-40]
	eor	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-72]
	str	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r2, .L1612
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-72]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1599
	ldr	r0, .L1612+8
	bl	puts
	ldr	r3, [fp, #-52]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-52]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1612+12
	bl	printf
	ldr	r3, [fp, #-76]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1612+16
	bl	printf
	bl	internalerror
.L1599:
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r1, .L1612+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	str	r3, [sp]
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	counterclockwise
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1600
	mov	r3, #0
	mov	r4, r3
.L1600:
	and	r3, r4, #255
	str	r3, [fp, #-56]
.L1598:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L1601
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1610
	mov	r3, #1
	b	.L1607
.L1610:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1611
	mov	r3, #2
	b	.L1607
.L1611:
	mov	r3, #0
.L1607:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1613:
	.align	2
.L1612:
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC1021
	.word	.LC1022
	.word	.LC1023
	.size	finddirection, .-finddirection
	.section	.rodata
	.align	2
.LC1024:
	.ascii	"Internal error in segmentintersection():\000"
	.align	2
.LC1025:
	.ascii	"  Attempt to find intersection of parallel segments"
	.ascii	".\000"
	.align	2
.LC1026:
	.ascii	"  Splitting subsegment (%.12g, %.12g) (%.12g, %.12g"
	.ascii	") at (%.12g, %.12g).\012\000"
	.align	2
.LC1027:
	.ascii	"  Failure to split a segment.\000"
	.align	2
.LC1028:
	.ascii	"  Topological inconsistency after splitting a segme"
	.ascii	"nt.\000"
	.text
	.align	2
	.global	segmentintersection
	.syntax unified
	.arm
	.fpu softvfp
	.type	segmentintersection, %function
segmentintersection:
	@ args = 4, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #184
	str	r0, [fp, #-152]
	str	r1, [fp, #-156]
	str	r2, [fp, #-160]
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-160]
	ldr	r2, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-160]
	ldr	r2, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r1, .L1634
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-160]
	ldr	r2, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r1, .L1634+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-132]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-136]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-132]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #4]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-136]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #4]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1615
	ldr	r0, .L1634+8
	bl	printf
	ldr	r0, .L1634+12
	bl	puts
	bl	internalerror
.L1615:
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-152]
	add	r3, r3, #112
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-128]
	mov	r3, #0
	str	r3, [fp, #-144]
	b	.L1617
.L1618:
	ldr	r3, [fp, #-144]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-136]
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-144]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-144]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-136]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-144]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-128]
	add	r6, r2, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
.L1617:
	ldr	r3, [fp, #-152]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	add	r3, r3, #1
	ldr	r2, [fp, #-144]
	cmp	r2, r3
	ble	.L1618
	ldr	r3, [fp, #-164]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-128]
	add	r3, r1, r3
	ldr	r2, [r2, #32]
	str	r2, [r3]
	ldr	r3, [fp, #-152]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-128]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-156]
	ldr	r3, [r3, #116]
	cmp	r3, #1
	ble	.L1619
	ldr	r3, [fp, #-136]
	ldmia	r3, {r3-r4}
	str	r3, [fp, #-172]
	str	r4, [fp, #-168]
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-132]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-132]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	ldr	ip, [fp, #-128]
	ldmia	ip, {r6-r7}
	ldr	ip, [fp, #-128]
	add	ip, ip, #8
	ldmia	ip, {r8-r9}
	str	r8, [sp, #32]
	str	r9, [sp, #36]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	ldr	r0, .L1634+16
	bl	printf
.L1619:
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	ldr	r3, [fp, #-164]
	str	r3, [sp]
	ldr	r3, [fp, #-160]
	ldr	r2, [fp, #-128]
	ldr	r1, [fp, #-156]
	ldr	r0, [fp, #-152]
	bl	insertvertex
	str	r0, [fp, #-124]
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	beq	.L1620
	ldr	r0, .L1634+8
	bl	puts
	ldr	r0, .L1634+20
	bl	puts
	bl	internalerror
.L1620:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	orr	r1, r2, r3
	ldr	r3, [fp, #-152]
	add	r3, r3, #49152
	ldr	r3, [r3, #548]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-128]
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-152]
	add	r3, r3, #49152
	ldr	r3, [r3, #540]
	cmp	r3, #0
	ble	.L1621
	ldr	r3, [fp, #-152]
	add	r3, r3, #49152
	ldr	r3, [r3, #540]
	sub	r3, r3, #1
	ldr	r2, [fp, #-152]
	add	r2, r2, #49152
	str	r3, [r2, #540]
.L1621:
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #4]
	rsb	r2, r3, #1
	ldr	r3, [fp, #-164]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-164]
	ldr	r2, [r3]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	and	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-120]
	bic	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-164]
	ldr	r2, [r3]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-152]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-152]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
.L1622:
	ldr	r3, [fp, #-164]
	ldr	r2, [r3]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #4]
	add	r3, r3, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-128]
	str	r2, [r3]
	ldr	r3, [fp, #-164]
	ldr	r2, [r3]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #4]
	rsb	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	and	r2, r3, #1
	ldr	r3, [fp, #-164]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-120]
	bic	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-164]
	str	r2, [r3]
	ldr	r3, [fp, #-164]
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1622
.L1623:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-128]
	str	r2, [r3]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	rsb	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	and	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-120]
	bic	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-152]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1623
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-160]
	ldr	r1, [fp, #-156]
	ldr	r0, [fp, #-152]
	bl	finddirection
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-160]
	ldr	r2, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r1, .L1634+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-160]
	ldr	r2, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-108]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1624
	ldr	r3, [fp, #-108]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1624
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L1634+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-160]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-160]
	ldr	r2, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	and	r2, r3, #3
	ldr	r3, [fp, #-160]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-104]
	eor	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-160]
	str	r2, [r3]
	b	.L1633
.L1624:
	ldr	r3, [fp, #-112]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1628
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1628
	b	.L1633
.L1628:
	ldr	r0, .L1634+8
	bl	puts
	ldr	r0, .L1634+24
	bl	puts
	bl	internalerror
.L1633:
	nop
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L1635:
	.align	2
.L1634:
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC1024
	.word	.LC1025
	.word	.LC1026
	.word	.LC1027
	.word	.LC1028
	.size	segmentintersection, .-segmentintersection
	.section	.rodata
	.align	2
.LC1029:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	scoutsegment
	.syntax unified
	.arm
	.fpu softvfp
	.type	scoutsegment, %function
scoutsegment:
	@ args = 4, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, .L1656
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	finddirection
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r1, .L1656+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1637
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L1639
.L1637:
	ldr	r3, [fp, #-36]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1640
	ldr	r3, [fp, #-36]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1640
.L1639:
	ldr	r3, [fp, #-32]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1643
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1643
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, .L1656+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #4]
.L1643:
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	insertsubseg
	mov	r3, #1
	b	.L1650
.L1640:
	ldr	r3, [fp, #-40]
	cmp	r3, #1
	bne	.L1647
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, .L1656+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #4]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	insertsubseg
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	scoutsegment
	mov	r3, r0
	b	.L1650
.L1647:
	ldr	r3, [fp, #-40]
	cmp	r3, #2
	bne	.L1648
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	insertsubseg
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, .L1656+8
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	scoutsegment
	mov	r3, r0
	b	.L1650
.L1648:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, .L1656+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	and	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	bic	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1649
	mov	r3, #0
	b	.L1650
.L1649:
	sub	r1, fp, #16
	sub	r2, fp, #24
	ldr	r3, [fp, #-60]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	segmentintersection
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-56]
	str	r2, [r3]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #4]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	insertsubseg
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	scoutsegment
	mov	r3, r0
.L1650:
	ldr	r2, .L1656
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1651
	bl	__stack_chk_fail
.L1651:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1657:
	.align	2
.L1656:
	.word	.LC1029
	.word	minus1mod3
	.word	plus1mod3
	.size	scoutsegment, .-scoutsegment
	.section	.rodata
	.align	2
.LC1030:
	.ascii	"Forcing segment into triangulation by recursive spl"
	.ascii	"itting:\000"
	.align	2
.LC1031:
	.ascii	"  (%.12g, %.12g) (%.12g, %.12g)\012\000"
	.align	2
.LC1032:
	.ascii	"  Segment intersects existing vertex (%.12g, %.12g)"
	.ascii	".\012\000"
	.align	2
.LC1033:
	.ascii	"  Two segments intersect at (%.12g, %.12g).\012\000"
	.align	2
.LC1034:
	.ascii	"Internal error in conformingedge():\000"
	.align	2
.LC1035:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	conformingedge
	.syntax unified
	.arm
	.fpu softvfp
	.type	conformingedge, %function
conformingedge:
	@ args = 4, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #96
	str	r0, [fp, #-80]
	str	r1, [fp, #-84]
	str	r2, [fp, #-88]
	str	r3, [fp, #-92]
	ldr	r3, .L1671
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1659
	ldr	r0, .L1671+4
	bl	puts
	ldr	r3, [fp, #-88]
	ldmia	r3, {r6-r7}
	ldr	r3, [fp, #-88]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-92]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-92]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, r6
	mov	r3, r7
	ldr	r0, .L1671+8
	bl	printf
.L1659:
	ldr	r3, [fp, #-80]
	add	r3, r3, #112
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L1660
.L1661:
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-92]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-68]
	add	r4, r2, r3
	mov	r2, #0
	ldr	r3, .L1671+12
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L1660:
	ldr	r3, [fp, #-80]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	add	r3, r3, #1
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	ble	.L1661
	ldr	r3, [fp, #-80]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #4]
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	str	r3, [fp, #-48]
	sub	r3, fp, #48
	mov	r2, #0
	str	r2, [sp, #8]
	mov	r2, #0
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	insertvertex
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #3
	bne	.L1662
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1663
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1671+16
	bl	printf
.L1663:
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-80]
	bl	vertexdealloc
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r1, .L1671+20
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	b	.L1664
.L1662:
	ldr	r3, [fp, #-64]
	cmp	r3, #2
	bne	.L1665
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1666
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1671+24
	bl	printf
.L1666:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	and	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-60]
	bic	r3, r3, #3
	str	r3, [fp, #-32]
	sub	r2, fp, #48
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	sub	r3, fp, #32
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	insertvertex
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L1665
	ldr	r0, .L1671+28
	bl	puts
	ldr	r0, .L1671+32
	bl	puts
	bl	internalerror
.L1665:
	ldr	r3, [fp, #-80]
	add	r3, r3, #49152
	ldr	r3, [r3, #540]
	cmp	r3, #0
	ble	.L1664
	ldr	r3, [fp, #-80]
	add	r3, r3, #49152
	ldr	r3, [r3, #540]
	sub	r3, r3, #1
	ldr	r2, [fp, #-80]
	add	r2, r2, #49152
	str	r3, [r2, #540]
.L1664:
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-36]
	sub	r2, fp, #40
	ldr	r3, [fp, #-92]
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	finddirection
	sub	r2, fp, #48
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-88]
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	scoutsegment
	mov	r3, r0
	cmp	r3, #0
	bne	.L1667
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r1, .L1671+20
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	conformingedge
.L1667:
	sub	r2, fp, #40
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-92]
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	scoutsegment
	mov	r3, r0
	cmp	r3, #0
	bne	.L1670
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1671+20
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-92]
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	conformingedge
.L1670:
	nop
	ldr	r3, .L1671
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1669
	bl	__stack_chk_fail
.L1669:
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L1672:
	.align	2
.L1671:
	.word	.LC1035
	.word	.LC1030
	.word	.LC1031
	.word	1071644672
	.word	.LC1032
	.word	plus1mod3
	.word	.LC1033
	.word	.LC1034
	.word	.LC1027
	.size	conformingedge, .-conformingedge
	.section	.rodata
	.align	2
.LC1036:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	delaunayfixup
	.syntax unified
	.arm
	.fpu softvfp
	.type	delaunayfixup, %function
delaunayfixup:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, .L1692
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r2, .L1692+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-56]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L1687
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	and	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-52]
	bic	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1688
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L1692+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L1692+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L1677
	ldr	r3, [fp, #-36]
	str	r3, [sp]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	counterclockwise
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L1689
	b	.L1678
.L1677:
	ldr	r3, [fp, #-48]
	str	r3, [sp]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	counterclockwise
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L1690
.L1678:
	ldr	r3, [fp, #-36]
	str	r3, [sp]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	counterclockwise
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1681
	ldr	r3, [fp, #-48]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-40]
	str	r3, [sp]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	incircle
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L1691
.L1681:
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	flip
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r2, .L1692+8
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-72]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-72]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	delaunayfixup
	sub	r2, fp, #24
	ldr	r3, [fp, #-76]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	delaunayfixup
	b	.L1673
.L1687:
	nop
	b	.L1673
.L1688:
	nop
	b	.L1673
.L1689:
	nop
	b	.L1673
.L1690:
	nop
	b	.L1673
.L1691:
	nop
.L1673:
	ldr	r3, .L1692
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1685
	bl	__stack_chk_fail
.L1685:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1693:
	.align	2
.L1692:
	.word	.LC1036
	.word	plus1mod3
	.word	minus1mod3
	.size	delaunayfixup, .-delaunayfixup
	.section	.rodata
	.align	2
.LC1037:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	constrainededge
	.syntax unified
	.arm
	.fpu softvfp
	.type	constrainededge, %function
constrainededge:
	@ args = 4, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	str	r3, [fp, #-84]
	ldr	r3, .L1715
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-80]
	ldr	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	ldr	r1, .L1715+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	ldr	r2, .L1715+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-28]
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	flip
	mov	r3, #0
	str	r3, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-64]
.L1705:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L1715+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-84]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1695
	ldr	r3, [fp, #-56]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-84]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1695
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1715+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	sub	r2, fp, #32
	mov	r3, #0
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	delaunayfixup
	sub	r2, fp, #24
	mov	r3, #1
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	delaunayfixup
	mov	r3, #1
	str	r3, [fp, #-64]
	b	.L1698
.L1695:
	ldr	r3, [fp, #-56]
	str	r3, [sp]
	ldr	r3, [fp, #-84]
	ldr	r2, [fp, #-60]
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	counterclockwise
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1712
	mov	r3, #1
	str	r3, [fp, #-68]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1715+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	sub	r2, fp, #32
	mov	r3, #0
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	delaunayfixup
	sub	r2, fp, #24
	mov	r3, #1
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	delaunayfixup
	mov	r3, #1
	str	r3, [fp, #-64]
	b	.L1698
.L1712:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1713
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1715+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	sub	r2, fp, #24
	mov	r3, #1
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	delaunayfixup
	ldr	r3, [fp, #-28]
	ldr	r2, .L1715+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-28]
	b	.L1703
.L1713:
	sub	r2, fp, #32
	mov	r3, #0
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	delaunayfixup
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	and	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r2, .L1715+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-28]
.L1703:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	and	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-48]
	bic	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-72]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1704
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	flip
	b	.L1698
.L1704:
	mov	r3, #1
	str	r3, [fp, #-68]
	sub	r1, fp, #16
	sub	r2, fp, #32
	ldr	r3, [fp, #-84]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	segmentintersection
	mov	r3, #1
	str	r3, [fp, #-64]
.L1698:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L1705
	sub	r2, fp, #32
	ldr	r3, [fp, #4]
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	insertsubseg
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L1714
	sub	r2, fp, #32
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-84]
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	scoutsegment
	mov	r3, r0
	cmp	r3, #0
	bne	.L1714
	sub	r2, fp, #32
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-84]
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	constrainededge
.L1714:
	nop
	ldr	r3, .L1715
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1707
	bl	__stack_chk_fail
.L1707:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1716:
	.align	2
.L1715:
	.word	.LC1037
	.word	plus1mod3
	.word	minus1mod3
	.size	constrainededge, .-constrainededge
	.section	.rodata
	.align	2
.LC1038:
	.ascii	"  Connecting (%.12g, %.12g) to (%.12g, %.12g).\012\000"
	.align	2
.LC1039:
	.ascii	"Internal error in insertsegment():  Unable to locat"
	.ascii	"e PSLG vertex\000"
	.align	2
.LC1040:
	.ascii	"  (%.12g, %.12g) in triangulation.\012\000"
	.align	2
.LC1041:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	insertsegment
	.syntax unified
	.arm
	.fpu softvfp
	.type	insertsegment, %function
insertsegment:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #72
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, .L1732
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #116]
	cmp	r3, #1
	ble	.L1718
	ldr	r3, [fp, #-64]
	ldmia	r3, {r6-r7}
	ldr	r3, [fp, #-64]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-68]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-68]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, r6
	mov	r3, r7
	ldr	r0, .L1732+4
	bl	printf
.L1718:
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #548]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L1719
	ldr	r3, [fp, #-48]
	and	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-48]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1732+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
.L1719:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	beq	.L1720
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	and	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	sub	r3, fp, #40
	ldr	r2, [fp, #-64]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	locate
	mov	r3, r0
	cmp	r3, #2
	beq	.L1720
	ldr	r0, .L1732+12
	bl	puts
	ldr	r3, [fp, #-64]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-64]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1732+16
	bl	printf
	bl	internalerror
.L1720:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-56]
	add	r2, r2, #49152
	str	r3, [r2, #632]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-56]
	add	r2, r2, #49152
	str	r3, [r2, #636]
	sub	r2, fp, #40
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-68]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	scoutsegment
	mov	r3, r0
	cmp	r3, #0
	bne	.L1730
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1732+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #548]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L1723
	ldr	r3, [fp, #-48]
	and	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-48]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L1732+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
.L1723:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	beq	.L1724
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	and	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	sub	r3, fp, #32
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	locate
	mov	r3, r0
	cmp	r3, #2
	beq	.L1724
	ldr	r0, .L1732+12
	bl	puts
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1732+16
	bl	printf
	bl	internalerror
.L1724:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-56]
	add	r2, r2, #49152
	str	r3, [r2, #632]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-56]
	add	r2, r2, #49152
	str	r3, [r2, #636]
	sub	r2, fp, #32
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-64]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	scoutsegment
	mov	r3, r0
	cmp	r3, #0
	bne	.L1731
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r1, .L1732+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #104]
	cmp	r3, #0
	beq	.L1726
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-64]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	conformingedge
	b	.L1717
.L1726:
	sub	r2, fp, #40
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-68]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	constrainededge
	b	.L1717
.L1730:
	nop
	b	.L1717
.L1731:
	nop
.L1717:
	ldr	r3, .L1732
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1729
	bl	__stack_chk_fail
.L1729:
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L1733:
	.align	2
.L1732:
	.word	.LC1041
	.word	.LC1038
	.word	plus1mod3
	.word	.LC1039
	.word	.LC1040
	.size	insertsegment, .-insertsegment
	.section	.rodata
	.align	2
.LC1042:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	markhull
	.syntax unified
	.arm
	.fpu softvfp
	.type	markhull, %function
markhull:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L1739
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-40]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	eor	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-12]
.L1737:
	sub	r2, fp, #32
	mov	r3, #1
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	insertsubseg
	ldr	r3, [fp, #-28]
	ldr	r2, .L1739+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1739+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	b	.L1735
.L1736:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1739+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
.L1735:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-40]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1736
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L1737
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bne	.L1737
	nop
	ldr	r3, .L1739
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1738
	bl	__stack_chk_fail
.L1738:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1740:
	.align	2
.L1739:
	.word	.LC1042
	.word	plus1mod3
	.size	markhull, .-markhull
	.section	.rodata
	.align	2
.LC1043:
	.ascii	"Recovering segments in Delaunay triangulation.\000"
	.align	2
.LC1044:
	.ascii	"  Recovering PSLG segments.\000"
	.align	2
.LC1045:
	.ascii	"Error:  Segment %d has no endpoints in %s.\012\000"
	.align	2
.LC1046:
	.ascii	"Error:  Segment %d is missing its second endpoint i"
	.ascii	"n %s.\012\000"
	.align	2
.LC1047:
	.ascii	"Warning:  Invalid first endpoint of segment %d in %"
	.ascii	"s.\012\000"
	.align	2
.LC1048:
	.ascii	"Warning:  Invalid second endpoint of segment %d in "
	.ascii	"%s.\012\000"
	.align	2
.LC1049:
	.ascii	"Warning:  Endpoints of segment %d are coincident in"
	.ascii	" %s.\012\000"
	.align	2
.LC1050:
	.ascii	"  Enclosing convex hull with segments.\000"
	.align	2
.LC1051:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	formskeleton
	.syntax unified
	.arm
	.fpu softvfp
	.type	formskeleton, %function
formskeleton:
	@ args = 0, pretend = 0, frame = 1080
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1088
	str	r0, [fp, #-1072]
	str	r1, [fp, #-1076]
	str	r2, [fp, #-1080]
	str	r3, [fp, #-1084]
	ldr	r3, .L1776
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-1076]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1742
	ldr	r3, [fp, #-1076]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1743
	ldr	r0, .L1776+4
	bl	puts
.L1743:
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, [fp, #-1084]
	ldr	r1, [fp, #-1080]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1064]
	ldr	r0, [fp, #-1064]
	sub	r3, fp, #1056
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1072]
	add	r3, r3, #49152
	str	r2, [r3, #504]
	ldr	r3, [fp, #-1064]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1064]
	ldr	r3, [fp, #-1064]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1744
	mov	r3, #0
	str	r3, [fp, #-1060]
	b	.L1745
.L1744:
	ldr	r0, [fp, #-1064]
	sub	r3, fp, #1056
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1060]
.L1745:
	ldr	r3, [fp, #-1072]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1775
	ldr	r3, [fp, #-1072]
	add	r3, r3, #49152
	ldr	r3, [r3, #504]
	cmp	r3, #0
	ble	.L1748
	ldr	r1, [fp, #-1076]
	ldr	r0, [fp, #-1072]
	bl	makevertexmap
	ldr	r3, [fp, #-1076]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1748
	ldr	r0, .L1776+8
	bl	puts
.L1748:
	mov	r3, #0
	str	r3, [fp, #-1048]
	mov	r3, #0
	str	r3, [fp, #-1044]
	b	.L1749
.L1767:
	ldr	r3, [fp, #-1076]
	add	r2, r3, #4224
	add	r2, r2, #40
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r1, [fp, #-1080]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1064]
	ldr	r3, [fp, #-1064]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1064]
	ldr	r3, [fp, #-1064]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1750
	ldr	r3, [fp, #-1076]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1044]
	add	r3, r2, r3
	ldr	r2, [fp, #-1084]
	mov	r1, r3
	ldr	r0, .L1776+12
	bl	printf
	mov	r0, #1
	bl	triexit
	b	.L1751
.L1750:
	ldr	r0, [fp, #-1064]
	sub	r3, fp, #1056
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1056]
.L1751:
	ldr	r3, [fp, #-1064]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1064]
	ldr	r3, [fp, #-1064]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1752
	ldr	r3, [fp, #-1076]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1044]
	add	r3, r2, r3
	ldr	r2, [fp, #-1084]
	mov	r1, r3
	ldr	r0, .L1776+16
	bl	printf
	mov	r0, #1
	bl	triexit
	b	.L1753
.L1752:
	ldr	r0, [fp, #-1064]
	sub	r3, fp, #1056
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1052]
.L1753:
	ldr	r3, [fp, #-1060]
	cmp	r3, #0
	beq	.L1754
	ldr	r3, [fp, #-1064]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1064]
	ldr	r3, [fp, #-1064]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1755
	mov	r3, #0
	str	r3, [fp, #-1048]
	b	.L1754
.L1755:
	ldr	r0, [fp, #-1064]
	sub	r3, fp, #1056
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1048]
.L1754:
	ldr	r3, [fp, #-1076]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-1056]
	cmp	r2, r3
	blt	.L1756
	ldr	r3, [fp, #-1076]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1072]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	add	r3, r2, r3
	ldr	r2, [fp, #-1056]
	cmp	r2, r3
	blt	.L1757
.L1756:
	ldr	r3, [fp, #-1076]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1759
	ldr	r3, [fp, #-1076]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1044]
	add	r3, r2, r3
	ldr	r2, [fp, #-1084]
	mov	r1, r3
	ldr	r0, .L1776+20
	bl	printf
	b	.L1759
.L1757:
	ldr	r3, [fp, #-1076]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-1052]
	cmp	r2, r3
	blt	.L1760
	ldr	r3, [fp, #-1076]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1072]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	add	r3, r2, r3
	ldr	r2, [fp, #-1052]
	cmp	r2, r3
	blt	.L1761
.L1760:
	ldr	r3, [fp, #-1076]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1759
	ldr	r3, [fp, #-1076]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1044]
	add	r3, r2, r3
	ldr	r2, [fp, #-1084]
	mov	r1, r3
	ldr	r0, .L1776+24
	bl	printf
	b	.L1759
.L1761:
	ldr	r2, [fp, #-1056]
	ldr	r1, [fp, #-1076]
	ldr	r0, [fp, #-1072]
	bl	getvertex
	str	r0, [fp, #-1040]
	ldr	r2, [fp, #-1052]
	ldr	r1, [fp, #-1076]
	ldr	r0, [fp, #-1072]
	bl	getvertex
	str	r0, [fp, #-1036]
	ldr	r3, [fp, #-1040]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-1036]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1763
	ldr	r3, [fp, #-1040]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-1036]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1763
	ldr	r3, [fp, #-1076]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1759
	ldr	r3, [fp, #-1076]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1044]
	add	r3, r2, r3
	ldr	r2, [fp, #-1084]
	mov	r1, r3
	ldr	r0, .L1776+28
	bl	printf
	b	.L1759
.L1763:
	ldr	r3, [fp, #-1048]
	str	r3, [sp]
	ldr	r3, [fp, #-1036]
	ldr	r2, [fp, #-1040]
	ldr	r1, [fp, #-1076]
	ldr	r0, [fp, #-1072]
	bl	insertsegment
.L1759:
	ldr	r3, [fp, #-1044]
	add	r3, r3, #1
	str	r3, [fp, #-1044]
.L1749:
	ldr	r3, [fp, #-1072]
	add	r3, r3, #49152
	ldr	r3, [r3, #504]
	ldr	r2, [fp, #-1044]
	cmp	r2, r3
	blt	.L1767
	b	.L1768
.L1742:
	ldr	r3, [fp, #-1072]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #504]
.L1768:
	ldr	r3, [fp, #-1076]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L1769
	ldr	r3, [fp, #-1076]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1741
.L1769:
	ldr	r3, [fp, #-1076]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1771
	ldr	r0, .L1776+32
	bl	puts
.L1771:
	ldr	r1, [fp, #-1076]
	ldr	r0, [fp, #-1072]
	bl	markhull
	b	.L1741
.L1775:
	nop
.L1741:
	ldr	r3, .L1776
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1772
	bl	__stack_chk_fail
.L1772:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1777:
	.align	2
.L1776:
	.word	.LC1051
	.word	.LC1043
	.word	.LC1044
	.word	.LC1045
	.word	.LC1046
	.word	.LC1047
	.word	.LC1048
	.word	.LC1049
	.word	.LC1050
	.size	formskeleton, .-formskeleton
	.section	.rodata
	.align	2
.LC1052:
	.ascii	"  Marking concavities (external triangles) for elim"
	.ascii	"ination.\000"
	.text
	.align	2
	.global	infecthull
	.syntax unified
	.arm
	.fpu softvfp
	.type	infecthull, %function
infecthull:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1779
	ldr	r0, .L1786
	bl	puts
.L1779:
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-56]
	eor	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-16]
.L1785:
	ldr	r3, [fp, #-36]
	add	r3, r3, #24
	ldr	r3, [r3]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L1780
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	and	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-52]
	bic	r3, r3, #3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1781
	ldr	r3, [fp, #-36]
	add	r3, r3, #24
	ldr	r3, [r3]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L1780
	ldr	r3, [fp, #-36]
	add	r3, r3, #24
	ldr	r3, [r3]
	orr	r2, r3, #2
	ldr	r3, [fp, #-36]
	add	r3, r3, #24
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #168
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-40]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-40]
	str	r2, [r3]
	b	.L1780
.L1781:
	ldr	r3, [fp, #-12]
	add	r3, r3, #32
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1780
	ldr	r3, [fp, #-12]
	add	r3, r3, #32
	mov	r2, #1
	str	r2, [r3]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	ldr	r1, .L1786+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	ldr	r1, .L1786+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1782
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
.L1782:
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1780
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
.L1780:
	ldr	r3, [fp, #-32]
	ldr	r2, .L1786+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-56]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r2, .L1786+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-24]
	b	.L1783
.L1784:
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-56]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r2, .L1786+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-24]
.L1783:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1784
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L1785
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L1785
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1787:
	.align	2
.L1786:
	.word	.LC1052
	.word	plus1mod3
	.word	minus1mod3
	.size	infecthull, .-infecthull
	.section	.rodata
	.align	2
.LC1053:
	.ascii	"  Marking neighbors of marked triangles.\000"
	.align	2
.LC1054:
	.ascii	"    Checking (%.12g, %.12g) (%.12g, %.12g) (%.12g, "
	.ascii	"%.12g)\012\000"
	.align	2
.LC1055:
	.ascii	"    Marking (%.12g, %.12g) (%.12g, %.12g) (%.12g, %"
	.ascii	".12g)\012\000"
	.align	2
.LC1056:
	.ascii	"  Deleting marked triangles.\000"
	.align	2
.LC1057:
	.ascii	"    Deleting vertex (%.12g, %.12g)\012\000"
	.text
	.align	2
	.global	plague
	.syntax unified
	.arm
	.fpu softvfp
	.type	plague, %function
plague:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #128
	str	r0, [fp, #-104]
	str	r1, [fp, #-108]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1789
	ldr	r0, .L1825
	bl	puts
.L1789:
	ldr	r3, [fp, #-104]
	add	r3, r3, #168
	mov	r0, r3
	bl	traversalinit
	ldr	r3, [fp, #-104]
	add	r3, r3, #168
	mov	r0, r3
	bl	traverse
	str	r0, [fp, #-96]
	b	.L1790
.L1802:
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	add	r3, r3, #24
	ldr	r3, [r3]
	bic	r2, r3, #2
	ldr	r3, [fp, #-52]
	add	r3, r3, #24
	str	r2, [r3]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1791
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	ldr	r1, .L1825+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	ldr	r1, .L1825+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-80]
	ldmia	r3, {r3-r4}
	str	r3, [fp, #-116]
	str	r4, [fp, #-112]
	ldr	r3, [fp, #-80]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-76]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-76]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	ldr	ip, [fp, #-72]
	ldmia	ip, {r6-r7}
	ldr	ip, [fp, #-72]
	add	ip, ip, #8
	ldmia	ip, {r8-r9}
	str	r8, [sp, #32]
	str	r9, [sp, #36]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	ldr	r0, .L1825+12
	bl	printf
.L1791:
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L1792
.L1801:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-88]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	and	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-68]
	bic	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L1793
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	ldr	r3, [r3]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L1794
.L1793:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L1824
	ldr	r3, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	subsegdealloc
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L1824
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	ldr	r3, [r3]
	bic	r2, r3, #2
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	str	r2, [r3]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-104]
	add	r2, r2, #49152
	ldr	r2, [r2, #624]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	ldr	r3, [r3]
	orr	r2, r3, #2
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	str	r2, [r3]
	b	.L1824
.L1794:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1797
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1798
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	ldr	r1, .L1825+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	ldr	r1, .L1825+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-80]
	ldmia	r3, {r3-r4}
	str	r3, [fp, #-116]
	str	r4, [fp, #-112]
	ldr	r3, [fp, #-80]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-76]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-76]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	ldr	ip, [fp, #-72]
	ldmia	ip, {r6-r7}
	ldr	ip, [fp, #-72]
	add	ip, ip, #8
	ldmia	ip, {r8-r9}
	str	r8, [sp, #32]
	str	r9, [sp, #36]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	ldr	r0, .L1825+16
	bl	printf
.L1798:
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	ldr	r3, [r3]
	orr	r2, r3, #2
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #168
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-56]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-56]
	str	r2, [r3]
	b	.L1796
.L1797:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-104]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #32
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1799
	ldr	r3, [fp, #-36]
	add	r3, r3, #32
	mov	r2, #1
	str	r2, [r3]
.L1799:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	ldr	r1, .L1825+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	ldr	r1, .L1825+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1800
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
.L1800:
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1796
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
	b	.L1796
.L1824:
	nop
.L1796:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L1792:
	ldr	r3, [fp, #-48]
	cmp	r3, #2
	ble	.L1801
	ldr	r3, [fp, #-52]
	add	r3, r3, #24
	ldr	r3, [r3]
	orr	r2, r3, #2
	ldr	r3, [fp, #-52]
	add	r3, r3, #24
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #168
	mov	r0, r3
	bl	traverse
	str	r0, [fp, #-96]
.L1790:
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bne	.L1802
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1803
	ldr	r0, .L1825+20
	bl	puts
.L1803:
	ldr	r3, [fp, #-104]
	add	r3, r3, #168
	mov	r0, r3
	bl	traversalinit
	ldr	r3, [fp, #-104]
	add	r3, r3, #168
	mov	r0, r3
	bl	traverse
	str	r0, [fp, #-96]
	b	.L1804
.L1823:
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L1805
.L1818:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	ldr	r1, .L1825+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L1806
	mov	r3, #1
	str	r3, [fp, #-92]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	ldr	r1, .L1825+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-48]
	ldr	r2, .L1825+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-88]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	b	.L1807
.L1811:
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	ldr	r3, [r3]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L1808
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	ldr	r1, .L1825+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	b	.L1809
.L1808:
	mov	r3, #0
	str	r3, [fp, #-92]
.L1809:
	ldr	r3, [fp, #-40]
	ldr	r2, .L1825+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-88]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
.L1807:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L1810
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bne	.L1811
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bne	.L1811
.L1810:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1812
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-88]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	ldr	r2, .L1825+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-40]
	b	.L1813
.L1816:
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	ldr	r3, [r3]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L1814
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	ldr	r1, .L1825+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	b	.L1815
.L1814:
	mov	r3, #0
	str	r3, [fp, #-92]
.L1815:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-88]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	ldr	r2, .L1825+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-40]
.L1813:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1816
.L1812:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	beq	.L1806
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #116]
	cmp	r3, #1
	ble	.L1817
	ldr	r3, [fp, #-84]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-84]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1825+24
	bl	printf
.L1817:
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, .L1825+28
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #516]
	add	r3, r3, #1
	ldr	r2, [fp, #-104]
	add	r2, r2, #49152
	str	r3, [r2, #516]
.L1806:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L1805:
	ldr	r3, [fp, #-48]
	cmp	r3, #2
	ble	.L1818
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L1819
.L1822:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-88]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L1820
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #536]
	sub	r3, r3, #1
	ldr	r2, [fp, #-104]
	add	r2, r2, #49152
	str	r3, [r2, #536]
	b	.L1821
.L1820:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-104]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #49152
	ldr	r3, [r3, #536]
	add	r3, r3, #1
	ldr	r2, [fp, #-104]
	add	r2, r2, #49152
	str	r3, [r2, #536]
.L1821:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L1819:
	ldr	r3, [fp, #-48]
	cmp	r3, #2
	ble	.L1822
	ldr	r3, [fp, #-52]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	triangledealloc
	ldr	r3, [fp, #-104]
	add	r3, r3, #168
	mov	r0, r3
	bl	traverse
	str	r0, [fp, #-96]
.L1804:
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bne	.L1823
	ldr	r3, [fp, #-104]
	add	r3, r3, #168
	mov	r0, r3
	bl	poolrestart
	nop
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L1826:
	.align	2
.L1825:
	.word	.LC1053
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC1054
	.word	.LC1055
	.word	.LC1056
	.word	.LC1057
	.word	-32767
	.size	plague, .-plague
	.section	.rodata
	.align	2
.LC1058:
	.ascii	"  Unmarking marked triangles.\000"
	.text
	.align	2
	.global	regionplague
	.syntax unified
	.arm
	.fpu softvfp
	.type	regionplague, %function
regionplague:
	@ args = 8, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #120
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #116]
	cmp	r3, #1
	ble	.L1828
	ldr	r0, .L1841
	bl	puts
.L1828:
	ldr	r3, [fp, #-88]
	add	r3, r3, #168
	mov	r0, r3
	bl	traversalinit
	ldr	r3, [fp, #-88]
	add	r3, r3, #168
	mov	r0, r3
	bl	traverse
	str	r0, [fp, #-80]
	b	.L1829
.L1837:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	add	r3, r3, #24
	ldr	r3, [r3]
	bic	r2, r3, #2
	ldr	r3, [fp, #-52]
	add	r3, r3, #24
	str	r2, [r3]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1830
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-88]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-88]
	add	r3, r3, #49152
	ldr	r3, [r3, #532]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L1830:
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1831
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-88]
	add	r3, r3, #49152
	ldr	r3, [r3, #560]
	lsl	r3, r3, #3
	add	r1, r2, r3
	ldmib	fp, {r2-r3}
	stm	r1, {r2-r3}
.L1831:
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1832
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	ldr	r1, .L1841+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	ldr	r1, .L1841+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-72]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-76]
	ldmia	r3, {r3-r4}
	str	r3, [fp, #-108]
	str	r4, [fp, #-104]
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-72]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-72]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	ldr	ip, [fp, #-68]
	ldmia	ip, {r6-r7}
	ldr	ip, [fp, #-68]
	add	ip, ip, #8
	ldmia	ip, {r8-r9}
	str	r8, [sp, #32]
	str	r9, [sp, #36]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	ldr	r0, .L1841+12
	bl	printf
.L1832:
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L1833
.L1836:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-64]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	and	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-60]
	bic	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-88]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L1834
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	ldr	r3, [r3]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L1834
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-88]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L1834
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #116]
	cmp	r3, #2
	ble	.L1835
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	ldr	r1, .L1841+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	ldr	r1, .L1841+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-72]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-76]
	ldmia	r3, {r3-r4}
	str	r3, [fp, #-108]
	str	r4, [fp, #-104]
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-72]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-72]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	ldr	ip, [fp, #-68]
	ldmia	ip, {r6-r7}
	ldr	ip, [fp, #-68]
	add	ip, ip, #8
	ldmia	ip, {r8-r9}
	str	r8, [sp, #32]
	str	r9, [sp, #36]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	ldr	r0, .L1841+16
	bl	printf
.L1835:
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	ldr	r3, [r3]
	orr	r2, r3, #2
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	add	r3, r3, #168
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-56]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-56]
	str	r2, [r3]
.L1834:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L1833:
	ldr	r3, [fp, #-48]
	cmp	r3, #2
	ble	.L1836
	ldr	r3, [fp, #-52]
	add	r3, r3, #24
	ldr	r3, [r3]
	orr	r2, r3, #2
	ldr	r3, [fp, #-52]
	add	r3, r3, #24
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	add	r3, r3, #168
	mov	r0, r3
	bl	traverse
	str	r0, [fp, #-80]
.L1829:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L1837
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #116]
	cmp	r3, #1
	ble	.L1838
	ldr	r0, .L1841+20
	bl	puts
.L1838:
	ldr	r3, [fp, #-88]
	add	r3, r3, #168
	mov	r0, r3
	bl	traversalinit
	ldr	r3, [fp, #-88]
	add	r3, r3, #168
	mov	r0, r3
	bl	traverse
	str	r0, [fp, #-80]
	b	.L1839
.L1840:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	add	r3, r3, #24
	ldr	r3, [r3]
	bic	r2, r3, #2
	ldr	r3, [fp, #-52]
	add	r3, r3, #24
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	add	r3, r3, #168
	mov	r0, r3
	bl	traverse
	str	r0, [fp, #-80]
.L1839:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L1840
	ldr	r3, [fp, #-88]
	add	r3, r3, #168
	mov	r0, r3
	bl	poolrestart
	nop
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L1842:
	.align	2
.L1841:
	.word	.LC1053
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC1054
	.word	.LC1055
	.word	.LC1058
	.size	regionplague, .-regionplague
	.section	.rodata
	.align	2
.LC1059:
	.ascii	"Removing unwanted triangles.\000"
	.align	2
.LC1060:
	.ascii	"  Marking holes for elimination.\000"
	.align	2
.LC1061:
	.ascii	"Spreading regional attributes and area constraints."
	.ascii	"\000"
	.align	2
.LC1062:
	.ascii	"Spreading regional attributes.\000"
	.align	2
.LC1063:
	.ascii	"Spreading regional area constraints.\000"
	.align	2
.LC1064:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	carveholes
	.syntax unified
	.arm
	.fpu softvfp
	.type	carveholes, %function
carveholes:
	@ args = 8, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-80]
	ldr	r3, .L1897
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1844
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #80]
	cmp	r3, #0
	beq	.L1845
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L1844
.L1845:
	ldr	r0, .L1897+4
	bl	puts
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1844
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	ble	.L1844
	ldr	r0, .L1897+8
	bl	puts
.L1844:
	ldr	r3, [fp, #8]
	cmp	r3, #0
	ble	.L1846
	ldr	r3, [fp, #8]
	lsl	r3, r3, #3
	mov	r0, r3
	bl	trimalloc
	str	r0, [fp, #-56]
	b	.L1847
.L1846:
	mov	r3, #0
	str	r3, [fp, #-56]
.L1847:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	ble	.L1848
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #80]
	cmp	r3, #0
	beq	.L1849
.L1848:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L1849
	ldr	r3, [fp, #8]
	cmp	r3, #0
	ble	.L1850
.L1849:
	ldr	r3, [fp, #-64]
	add	r0, r3, #168
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #1020
	mov	r2, #1020
	mov	r1, #4
	bl	poolinit
.L1850:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L1851
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	infecthull
.L1851:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	ble	.L1852
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #80]
	cmp	r3, #0
	bne	.L1852
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1853
.L1860:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-64]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L1854
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-64]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L1854
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #3
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-64]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L1854
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #3
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-64]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L1854
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-48]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L1897+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L1897+16
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	str	r3, [sp]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	counterclockwise
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1854
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	sub	r3, fp, #24
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	locate
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #3
	beq	.L1854
	ldr	r3, [fp, #-24]
	add	r3, r3, #24
	ldr	r3, [r3]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L1854
	ldr	r3, [fp, #-24]
	add	r3, r3, #24
	ldr	r3, [r3]
	orr	r2, r3, #2
	ldr	r3, [fp, #-24]
	add	r3, r3, #24
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #168
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-32]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-32]
	str	r2, [r3]
.L1854:
	ldr	r3, [fp, #-52]
	add	r3, r3, #2
	str	r3, [fp, #-52]
.L1853:
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	blt	.L1860
.L1852:
	ldr	r3, [fp, #8]
	cmp	r3, #0
	ble	.L1861
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1862
.L1869:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [fp, #-64]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-64]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L1863
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-64]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L1863
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #5
	add	r3, r3, #8
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-64]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L1863
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #5
	add	r3, r3, #8
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-64]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L1863
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	and	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-48]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L1897+12
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r1, .L1897+16
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	str	r3, [sp]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	counterclockwise
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1863
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	sub	r3, fp, #24
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	locate
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #3
	beq	.L1863
	ldr	r3, [fp, #-24]
	add	r3, r3, #24
	ldr	r3, [r3]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L1863
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
.L1863:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L1862:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #8]
	cmp	r2, r3
	blt	.L1869
.L1861:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #208]
	cmp	r3, #0
	ble	.L1870
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	plague
.L1870:
	ldr	r3, [fp, #8]
	cmp	r3, #0
	ble	.L1871
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1872
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1873
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1874
	ldr	r0, .L1897+20
	bl	puts
	b	.L1872
.L1874:
	ldr	r0, .L1897+24
	bl	puts
	b	.L1872
.L1873:
	ldr	r0, .L1897+28
	bl	puts
.L1872:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1875
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1875
	ldr	r3, [fp, #-64]
	mov	r0, r3
	bl	traversalinit
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-64]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-16]
	b	.L1876
.L1877:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #532]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r1, r2, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r0, [fp, #-64]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-16]
.L1876:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1877
.L1875:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1878
.L1880:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L1879
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1879
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #24
	ldr	r3, [r3]
	orr	r1, r3, #2
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #24
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #168
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #5
	add	r3, r3, #16
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #5
	add	r3, r3, #24
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	regionplague
.L1879:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L1878:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #8]
	cmp	r2, r3
	blt	.L1880
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1871
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1871
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #532]
	add	r3, r3, #1
	ldr	r2, [fp, #-64]
	add	r2, r2, #49152
	str	r3, [r2, #532]
.L1871:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	ble	.L1881
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #80]
	cmp	r3, #0
	beq	.L1882
.L1881:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L1882
	ldr	r3, [fp, #8]
	cmp	r3, #0
	ble	.L1883
.L1882:
	ldr	r3, [fp, #-64]
	add	r3, r3, #168
	mov	r0, r3
	bl	pooldeinit
.L1883:
	ldr	r3, [fp, #8]
	cmp	r3, #0
	ble	.L1896
	ldr	r0, [fp, #-56]
	bl	trifree
.L1896:
	nop
	ldr	r3, .L1897
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1885
	bl	__stack_chk_fail
.L1885:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1898:
	.align	2
.L1897:
	.word	.LC1064
	.word	.LC1059
	.word	.LC1060
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC1061
	.word	.LC1062
	.word	.LC1063
	.size	carveholes, .-carveholes
	.section	.rodata
	.align	2
.LC1065:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tallyencs
	.syntax unified
	.arm
	.fpu softvfp
	.type	tallyencs, %function
tallyencs:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L1903
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-24]
	add	r3, r3, #56
	mov	r0, r3
	bl	traversalinit
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	subsegtraverse
	mov	r3, r0
	str	r3, [fp, #-16]
	b	.L1900
.L1901:
	sub	r3, fp, #16
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	checkseg4encroach
	str	r0, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	subsegtraverse
	mov	r3, r0
	str	r3, [fp, #-16]
.L1900:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1901
	nop
	ldr	r3, .L1903
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1902
	bl	__stack_chk_fail
.L1902:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1904:
	.align	2
.L1903:
	.word	.LC1065
	.size	tallyencs, .-tallyencs
	.section	.rodata
	.align	2
.LC1066:
	.ascii	"Try increasing the area criterion and/or reducing t"
	.ascii	"he minimum\000"
	.align	2
.LC1067:
	.ascii	"  allowable angle so that tiny triangles are not cr"
	.ascii	"eated.\000"
	.text
	.align	2
	.global	precisionerror
	.syntax unified
	.arm
	.fpu softvfp
	.type	precisionerror, %function
precisionerror:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L1906
	bl	puts
	ldr	r0, .L1906+4
	bl	puts
	nop
	pop	{fp, pc}
.L1907:
	.align	2
.L1906:
	.word	.LC1066
	.word	.LC1067
	.size	precisionerror, .-precisionerror
	.section	.rodata
	.align	2
.LC1068:
	.ascii	"Error:  Ran out of precision at (%.12g, %.12g).\012"
	.ascii	"\000"
	.align	2
.LC1069:
	.ascii	"I attempted to split a segment to a smaller size th"
	.ascii	"an\000"
	.align	2
.LC1070:
	.ascii	"  can be accommodated by the finite precision of\000"
	.align	2
.LC1071:
	.ascii	"  floating point arithmetic.\000"
	.align	2
.LC1072:
	.ascii	"Internal error in splitencsegs():\000"
	.align	2
.LC1073:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	splitencsegs
	.syntax unified
	.arm
	.fpu softvfp
	.type	splitencsegs, %function
splitencsegs:
	@ args = 0, pretend = 0, frame = 160
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #200
	str	r0, [fp, #-168]
	str	r1, [fp, #-172]
	str	r2, [fp, #-176]
	ldr	r3, .L1957+52
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	b	.L1909
.L1949:
	ldr	r3, [fp, #-168]
	add	r3, r3, #224
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-168]
	bl	badsubsegtraverse
	str	r0, [fp, #-164]
	b	.L1910
.L1947:
	ldr	r3, [fp, #-164]
	ldr	r3, [r3]
	and	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3]
	bic	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-144]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	rsb	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1911
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-144]
	cmp	r2, r3
	bne	.L1911
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	bne	.L1911
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-136]
	and	r3, r3, #3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	mov	r2, r3
	ldr	r3, [fp, #-136]
	eor	r3, r3, r2
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	ldr	r2, .L1957
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-132]
	and	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-132]
	bic	r3, r3, #3
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1957
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-132]
	and	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-132]
	bic	r3, r3, #3
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #88]
	cmp	r3, #0
	bne	.L1912
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bne	.L1912
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	bne	.L1912
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-160]
	b	.L1913
.L1914:
	sub	r3, fp, #56
	mov	r2, r3
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	deletevertex
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-136]
	and	r3, r3, #3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	mov	r2, r3
	ldr	r3, [fp, #-136]
	eor	r3, r3, r2
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	ldr	r2, .L1957+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
.L1913:
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-160]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L1912
	ldr	r3, [fp, #-144]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-140]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-160]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-160]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1914
.L1912:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-136]
	and	r3, r3, #3
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	mov	r2, r3
	ldr	r3, [fp, #-136]
	eor	r3, r3, r2
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L1915
	ldr	r3, [fp, #-52]
	ldr	r2, .L1957
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-132]
	and	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-132]
	bic	r3, r3, #3
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	bne	.L1916
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	beq	.L1917
.L1916:
	mov	r3, #1
	b	.L1918
.L1917:
	mov	r3, #0
.L1918:
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1957
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-132]
	and	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-132]
	bic	r3, r3, #3
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bne	.L1919
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	beq	.L1920
.L1919:
	mov	r3, #1
	b	.L1921
.L1920:
	mov	r3, #0
.L1921:
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #88]
	cmp	r3, #0
	bne	.L1915
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	bne	.L1915
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	bne	.L1915
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	ldr	r1, .L1957
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-160]
	b	.L1922
.L1923:
	sub	r3, fp, #56
	mov	r2, r3
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	deletevertex
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-136]
	and	r3, r3, #3
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	mov	r2, r3
	ldr	r3, [fp, #-136]
	eor	r3, r3, r2
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1957+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
.L1922:
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-160]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L1915
	ldr	r3, [fp, #-144]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-140]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-160]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-160]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1923
.L1915:
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bne	.L1924
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	beq	.L1925
.L1924:
	ldr	r3, [fp, #-140]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-144]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-140]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-144]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	str	r0, [fp, #-92]
	str	r1, [fp, #-88]
	mov	r2, #0
	ldr	r3, .L1957+8
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	b	.L1926
.L1927:
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
.L1926:
	mov	r2, #0
	ldr	r3, .L1957+12
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1927
	b	.L1928
.L1929:
	mov	r2, #0
	ldr	r3, .L1957+16
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
.L1928:
	mov	r2, #0
	ldr	r3, .L1957+20
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L1929
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	beq	.L1931
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L1957+8
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	b	.L1931
.L1925:
	mov	r2, #0
	ldr	r3, .L1957+16
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
.L1931:
	ldr	r3, [fp, #-168]
	add	r3, r3, #112
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-120]
	mov	r3, #0
	str	r3, [fp, #-148]
	b	.L1932
.L1958:
	.align	2
.L1957:
	.word	plus1mod3
	.word	minus1mod3
	.word	1072693248
	.word	1074266112
	.word	1071644672
	.word	1073217536
	.word	.LC1026
	.word	.LC1068
	.word	.LC1069
	.word	.LC1070
	.word	.LC1071
	.word	.LC1072
	.word	.LC1027
	.word	.LC1073
.L1933:
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-144]
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-144]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-120]
	add	r6, r2, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	ldr	r3, [fp, #-148]
	add	r3, r3, #1
	str	r3, [fp, #-148]
.L1932:
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	add	r3, r3, #1
	ldr	r2, [fp, #-148]
	cmp	r2, r3
	ble	.L1933
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #84]
	cmp	r3, #0
	bne	.L1934
	ldr	r3, [fp, #-120]
	str	r3, [sp]
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-144]
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	counterclockwise
	str	r0, [fp, #-84]
	str	r1, [fp, #-80]
	ldr	r3, [fp, #-144]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-144]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L1934
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L1934
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1934
	ldr	r3, [fp, #-120]
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-120]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-144]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-120]
	add	r6, r3, #8
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
.L1934:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-120]
	add	r3, r1, r3
	ldr	r2, [r2, #32]
	str	r2, [r3]
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #116]
	cmp	r3, #1
	ble	.L1938
	ldr	r3, [fp, #-144]
	ldmia	r3, {r3-r4}
	str	r3, [fp, #-188]
	str	r4, [fp, #-184]
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-140]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-140]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	ldr	ip, [fp, #-120]
	ldmia	ip, {r6-r7}
	ldr	ip, [fp, #-120]
	add	ip, ip, #8
	ldmia	ip, {r8-r9}
	str	r8, [sp, #32]
	str	r9, [sp, #36]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	ldr	r0, .L1957+24
	bl	printf
.L1938:
	ldr	r3, [fp, #-120]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-144]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1939
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L1941
.L1939:
	ldr	r3, [fp, #-120]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1942
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1942
.L1941:
	ldr	r3, [fp, #-120]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1957+28
	bl	printf
	ldr	r0, .L1957+32
	bl	puts
	ldr	r0, .L1957+36
	bl	puts
	ldr	r0, .L1957+40
	bl	puts
	bl	precisionerror
	mov	r0, #1
	bl	triexit
.L1942:
	sub	r2, fp, #64
	ldr	r3, [fp, #-176]
	str	r3, [sp, #8]
	mov	r3, #1
	str	r3, [sp, #4]
	sub	r3, fp, #40
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-120]
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	insertvertex
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	beq	.L1945
	ldr	r3, [fp, #-116]
	cmp	r3, #1
	beq	.L1945
	ldr	r0, .L1957+44
	bl	puts
	ldr	r0, .L1957+48
	bl	puts
	bl	internalerror
.L1945:
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #540]
	cmp	r3, #0
	ble	.L1946
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #540]
	sub	r3, r3, #1
	ldr	r2, [fp, #-168]
	add	r2, r2, #49152
	str	r3, [r2, #540]
.L1946:
	sub	r3, fp, #40
	mov	r2, r3
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	checkseg4encroach
	str	r0, [fp, #-112]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	rsb	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-132]
	and	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-132]
	bic	r3, r3, #3
	str	r3, [fp, #-40]
	sub	r3, fp, #40
	mov	r2, r3
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	checkseg4encroach
	str	r0, [fp, #-112]
.L1911:
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-168]
	bl	badsubsegdealloc
	ldr	r0, [fp, #-168]
	bl	badsubsegtraverse
	str	r0, [fp, #-164]
.L1910:
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	beq	.L1909
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #540]
	cmp	r3, #0
	bne	.L1947
.L1909:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #264]
	cmp	r3, #0
	ble	.L1956
	ldr	r3, [fp, #-168]
	add	r3, r3, #49152
	ldr	r3, [r3, #540]
	cmp	r3, #0
	bne	.L1949
.L1956:
	nop
	ldr	r3, .L1957+52
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1950
	bl	__stack_chk_fail
.L1950:
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	splitencsegs, .-splitencsegs
	.section	.rodata
	.align	2
.LC1074:
	.ascii	"  Making a list of bad triangles.\000"
	.align	2
.LC1075:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tallyfaces
	.syntax unified
	.arm
	.fpu softvfp
	.type	tallyfaces, %function
tallyfaces:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L1964
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1960
	ldr	r0, .L1964+4
	bl	puts
.L1960:
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	traversalinit
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-16]
	b	.L1961
.L1962:
	sub	r3, fp, #16
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	testtriangle
	ldr	r0, [fp, #-24]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-16]
.L1961:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1962
	nop
	ldr	r3, .L1964
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1963
	bl	__stack_chk_fail
.L1963:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1965:
	.align	2
.L1964:
	.word	.LC1075
	.word	.LC1074
	.size	tallyfaces, .-tallyfaces
	.section	.rodata
	.align	2
.LC1076:
	.ascii	"  Splitting this triangle at its circumcenter:\000"
	.align	2
.LC1077:
	.ascii	"Warning:  New vertex (%.12g, %.12g) falls on existi"
	.ascii	"ng vertex.\012\000"
	.align	2
.LC1078:
	.ascii	"  Rejecting (%.12g, %.12g).\012\000"
	.align	2
.LC1079:
	.ascii	"  The new vertex is at the circumcenter of triangle"
	.ascii	"\000"
	.align	2
.LC1080:
	.ascii	"This probably means that I am trying to refine tria"
	.ascii	"ngles\000"
	.align	2
.LC1081:
	.ascii	"  to a smaller size than can be accommodated by the"
	.ascii	" finite\000"
	.align	2
.LC1082:
	.ascii	"  precision of floating point arithmetic.  (You can"
	.ascii	" be\000"
	.align	2
.LC1083:
	.ascii	"  sure of this if I fail to terminate.)\000"
	.align	2
.LC1084:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	splittriangle
	.syntax unified
	.arm
	.fpu softvfp
	.type	splittriangle, %function
splittriangle:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #128
	str	r0, [fp, #-96]
	str	r1, [fp, #-100]
	str	r2, [fp, #-104]
	ldr	r3, .L1995
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	ldr	r3, [fp, #-104]
	ldr	r3, [r3]
	and	r3, r3, #3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1995+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1995+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1994
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-80]
	cmp	r2, r3
	bne	.L1994
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-76]
	cmp	r2, r3
	bne	.L1994
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	bne	.L1994
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #116]
	cmp	r3, #1
	ble	.L1968
	ldr	r0, .L1995+12
	bl	puts
	ldr	r3, [fp, #-80]
	ldmia	r3, {r3-r4}
	str	r3, [fp, #-116]
	str	r4, [fp, #-112]
	ldr	r3, [fp, #-80]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-76]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-76]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	ldr	ip, [fp, #-72]
	ldmia	ip, {r6-r7}
	ldr	ip, [fp, #-72]
	add	ip, ip, #8
	ldmia	ip, {r8-r9}
	str	r8, [sp, #32]
	str	r9, [sp, #36]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	ldr	r0, .L1995+16
	bl	printf
.L1968:
	mov	r3, #0
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-96]
	add	r3, r3, #112
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-68]
	mov	r3, #1
	str	r3, [sp, #16]
	sub	r3, fp, #52
	str	r3, [sp, #12]
	sub	r3, fp, #60
	str	r3, [sp, #8]
	ldr	r3, [fp, #-68]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-72]
	str	r3, [sp]
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-80]
	ldr	r1, [fp, #-100]
	ldr	r0, [fp, #-96]
	bl	findcircumcenter
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-80]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1969
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-80]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L1971
.L1969:
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1972
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L1971
.L1972:
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-72]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1974
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L1974
.L1971:
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1977
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1995+20
	bl	printf
	mov	r3, #1
	str	r3, [fp, #-88]
.L1977:
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-96]
	bl	vertexdealloc
	b	.L1978
.L1974:
	mov	r3, #2
	str	r3, [fp, #-84]
	b	.L1979
.L1980:
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-68]
	add	r4, r2, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L1979:
	ldr	r3, [fp, #-96]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	add	r3, r3, #1
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	ble	.L1980
	ldr	r3, [fp, #-96]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	mov	r2, #2
	str	r2, [r3]
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L1981
	ldr	r3, [fp, #-36]
	ldr	r2, .L1995+8
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-36]
.L1981:
	sub	r3, fp, #40
	mov	r2, #1
	str	r2, [sp, #8]
	mov	r2, #1
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-100]
	ldr	r0, [fp, #-96]
	bl	insertvertex
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L1983
	ldr	r3, [fp, #-96]
	add	r3, r3, #49152
	ldr	r3, [r3, #540]
	cmp	r3, #0
	ble	.L1978
	ldr	r3, [fp, #-96]
	add	r3, r3, #49152
	ldr	r3, [r3, #540]
	sub	r3, r3, #1
	ldr	r2, [fp, #-96]
	add	r2, r2, #49152
	str	r3, [r2, #540]
	b	.L1978
.L1983:
	ldr	r3, [fp, #-64]
	cmp	r3, #1
	bne	.L1984
	ldr	r1, [fp, #-100]
	ldr	r0, [fp, #-96]
	bl	undovertex
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #116]
	cmp	r3, #1
	ble	.L1985
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1995+24
	bl	printf
.L1985:
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-96]
	bl	vertexdealloc
	b	.L1978
.L1984:
	ldr	r3, [fp, #-64]
	cmp	r3, #2
	bne	.L1986
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-96]
	bl	vertexdealloc
	b	.L1978
.L1986:
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1987
	ldr	r3, [fp, #-68]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L1995+20
	bl	printf
	mov	r3, #1
	str	r3, [fp, #-88]
.L1987:
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-96]
	bl	vertexdealloc
.L1978:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	beq	.L1994
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1988
	ldr	r0, .L1995+28
	bl	puts
	ldr	r3, [fp, #-80]
	ldmia	r3, {r3-r4}
	str	r3, [fp, #-116]
	str	r4, [fp, #-112]
	ldr	r3, [fp, #-80]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-76]
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-76]
	add	ip, ip, #8
	ldmia	ip, {r4-r5}
	ldr	ip, [fp, #-72]
	ldmia	ip, {r6-r7}
	ldr	ip, [fp, #-72]
	add	ip, ip, #8
	ldmia	ip, {r8-r9}
	str	r8, [sp, #32]
	str	r9, [sp, #36]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	ldr	r0, .L1995+16
	bl	printf
.L1988:
	ldr	r0, .L1995+32
	bl	puts
	ldr	r0, .L1995+36
	bl	puts
	ldr	r0, .L1995+40
	bl	puts
	ldr	r0, .L1995+44
	bl	puts
	bl	precisionerror
.L1994:
	nop
	ldr	r3, .L1995
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1989
	bl	__stack_chk_fail
.L1989:
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L1996:
	.align	2
.L1995:
	.word	.LC1084
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC1076
	.word	.LC949
	.word	.LC1077
	.word	.LC1078
	.word	.LC1079
	.word	.LC1080
	.word	.LC1081
	.word	.LC1082
	.word	.LC1083
	.size	splittriangle, .-splittriangle
	.section	.rodata
	.align	2
.LC1085:
	.ascii	"Adding Steiner points to enforce quality.\000"
	.align	2
.LC1086:
	.ascii	"  Looking for encroached subsegments.\000"
	.align	2
.LC1087:
	.ascii	"  Splitting encroached subsegments.\000"
	.align	2
.LC1088:
	.ascii	"  Splitting bad triangles.\000"
	.align	2
.LC1089:
	.ascii	"\012Warning:  I ran out of Steiner points, but the "
	.ascii	"mesh has\000"
	.align	2
.LC1090:
	.ascii	"  one encroached subsegment, and therefore might no"
	.ascii	"t be truly\000"
	.align	2
.LC1091:
	.ascii	"  %ld encroached subsegments, and therefore might n"
	.ascii	"ot be truly\012\000"
	.align	2
.LC1092:
	.ascii	"  Delaunay.  If the Delaunay property is important "
	.ascii	"to you,\000"
	.align	2
.LC1093:
	.ascii	"  try increasing the number of Steiner points (cont"
	.ascii	"rolled by\000"
	.align	2
.LC1094:
	.ascii	"  the -S switch) slightly and try again.\012\000"
	.text
	.align	2
	.global	enforcequality
	.syntax unified
	.arm
	.fpu softvfp
	.type	enforcequality, %function
enforcequality:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L1998
	ldr	r0, .L2013
	bl	puts
.L1998:
	ldr	r3, [fp, #-16]
	add	r0, r3, #224
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #252
	mov	r2, #252
	mov	r1, #12
	bl	poolinit
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1999
	ldr	r0, .L2013+4
	bl	puts
.L1999:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	tallyencs
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L2000
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #264]
	cmp	r3, #0
	ble	.L2000
	ldr	r0, .L2013+8
	bl	puts
.L2000:
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	splitencsegs
	ldr	r3, [fp, #-20]
	add	r1, r3, #136
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L2001
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L2001
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L2001
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L2002
.L2001:
	ldr	r3, [fp, #-16]
	add	r0, r3, #280
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, .L2013+12
	ldr	r2, .L2013+12
	mov	r1, #32
	bl	poolinit
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L2003
.L2004:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	add	r2, r2, #112
	mov	r1, #0
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L2003:
	ldr	r3, [fp, #-12]
	cmp	r3, #4096
	blt	.L2004
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #448]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	tallyfaces
	ldr	r3, [fp, #-16]
	add	r0, r3, #336
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #252
	mov	r2, #252
	mov	r1, #8
	bl	poolinit
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #568]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L2006
	ldr	r0, .L2013+16
	bl	puts
	b	.L2006
.L2008:
	ldr	r0, [fp, #-16]
	bl	dequeuebadtriang
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	splittriangle
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #264]
	cmp	r3, #0
	ble	.L2007
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	enqueuebadtriang
	mov	r2, #1
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	splitencsegs
	b	.L2006
.L2007:
	ldr	r3, [fp, #-16]
	add	r3, r3, #280
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	pooldealloc
.L2006:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #320]
	cmp	r3, #0
	ble	.L2002
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #540]
	cmp	r3, #0
	bne	.L2008
.L2002:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L2012
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #88]
	cmp	r3, #0
	beq	.L2012
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #264]
	cmp	r3, #0
	ble	.L2012
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #540]
	cmp	r3, #0
	bne	.L2012
	ldr	r0, .L2013+20
	bl	puts
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #264]
	cmp	r3, #1
	bne	.L2010
	ldr	r0, .L2013+24
	bl	puts
	b	.L2011
.L2010:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #264]
	mov	r1, r3
	ldr	r0, .L2013+28
	bl	printf
.L2011:
	ldr	r0, .L2013+32
	bl	puts
	ldr	r0, .L2013+36
	bl	puts
	ldr	r0, .L2013+40
	bl	puts
.L2012:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2014:
	.align	2
.L2013:
	.word	.LC1085
	.word	.LC1086
	.word	.LC1087
	.word	4092
	.word	.LC1088
	.word	.LC1089
	.word	.LC1090
	.word	.LC1091
	.word	.LC1092
	.word	.LC1093
	.word	.LC1094
	.size	enforcequality, .-enforcequality
	.section	.rodata
	.align	2
.LC1095:
	.ascii	"Adding vertices for second-order triangles.\000"
	.align	2
.LC1096:
	.ascii	"  Creating (%.12g, %.12g).\012\000"
	.text
	.align	2
	.global	highorder
	.syntax unified
	.arm
	.fpu softvfp
	.type	highorder, %function
highorder:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #68
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L2016
	ldr	r0, .L2029
	bl	puts
.L2016:
	ldr	r3, [fp, #-64]
	mov	r2, #0
	str	r2, [r3, #124]
	ldr	r3, [fp, #-64]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-64]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-36]
	b	.L2017
.L2028:
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L2018
.L2027:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-56]
	eor	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L2019
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L2020
.L2019:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	ldr	r1, .L2029+4
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	ldr	r1, .L2029+8
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-64]
	add	r3, r3, #112
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L2021
.L2022:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-44]
	add	r4, r2, r3
	mov	r2, #0
	ldr	r3, .L2029+12
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L2021:
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	add	r3, r3, #1
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	ble	.L2022
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r1, r3, #255
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L2023
	mov	r2, #2
	b	.L2024
.L2023:
	mov	r2, #1
.L2024:
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-44]
	add	r3, r1, r3
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #120]
	cmp	r3, #0
	beq	.L2025
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	and	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	bic	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	beq	.L2025
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-44]
	add	r3, r1, r3
	ldr	r2, [r2, #32]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
.L2025:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #116]
	cmp	r3, #1
	ble	.L2026
	ldr	r3, [fp, #-44]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-44]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L2029+16
	bl	printf
.L2026:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r1, [r3, #552]
	ldr	r3, [fp, #-32]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	beq	.L2020
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r1, [r3, #552]
	ldr	r3, [fp, #-24]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-44]
	str	r2, [r3]
.L2020:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L2018:
	ldr	r3, [fp, #-32]
	cmp	r3, #2
	ble	.L2027
	ldr	r0, [fp, #-64]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-36]
.L2017:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L2028
	nop
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L2030:
	.align	2
.L2029:
	.word	.LC1095
	.word	plus1mod3
	.word	minus1mod3
	.word	1071644672
	.word	.LC1096
	.size	highorder, .-highorder
	.section	.rodata
	.align	2
.LC1097:
	.ascii	"  Error:  Unexpected end of file in %s.\012\000"
	.text
	.align	2
	.global	readline
	.syntax unified
	.arm
	.fpu softvfp
	.type	readline, %function
readline:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
.L2036:
	ldr	r2, [fp, #-20]
	mov	r1, #1024
	ldr	r0, [fp, #-16]
	bl	fgets
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2033
	ldr	r1, [fp, #-24]
	ldr	r0, .L2038
	bl	printf
	mov	r0, #1
	bl	triexit
	b	.L2033
.L2035:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2033:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2034
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	beq	.L2034
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L2034
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L2034
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L2034
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L2035
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L2035
.L2034:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	beq	.L2036
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2036
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2039:
	.align	2
.L2038:
	.word	.LC1097
	.size	readline, .-readline
	.align	2
	.global	findfield
	.syntax unified
	.arm
	.fpu softvfp
	.type	findfield, %function
findfield:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L2041
.L2043:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2041:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2044
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	beq	.L2044
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L2044
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #9
	bne	.L2043
	b	.L2044
.L2046:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2044:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2045
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	beq	.L2045
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L2045
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L2045
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L2045
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L2046
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L2046
.L2045:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	bne	.L2047
	ldr	r3, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3]
.L2047:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	findfield, .-findfield
	.section	.rodata
	.align	2
.LC1098:
	.ascii	"Error:  Input must have at least three input vertic"
	.ascii	"es.\000"
	.align	2
.LC1099:
	.ascii	"Error:  Triangle only works with two-dimensional me"
	.ascii	"shes.\000"
	.align	2
.LC1100:
	.ascii	"Error:  Vertex %d has no x coordinate.\012\000"
	.align	2
.LC1101:
	.ascii	"Error:  Vertex %d has no y coordinate.\012\000"
	.align	2
.LC1102:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	readnodes
	.syntax unified
	.arm
	.fpu softvfp
	.type	readnodes, %function
readnodes:
	@ args = 4, pretend = 0, frame = 1112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #1104
	sub	sp, sp, #8
	str	r0, [fp, #-1104]
	str	r1, [fp, #-1108]
	str	r2, [fp, #-1112]
	str	r3, [fp, #-1116]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-1120]
	ldr	r3, .L2109
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-1108]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2050
	ldr	r3, [fp, #-1108]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L2051
	ldr	r1, [fp, #-1116]
	ldr	r0, .L2109+4
	bl	printf
.L2051:
	ldr	r1, .L2109+8
	ldr	r0, [fp, #-1116]
	bl	fopen
	mov	r2, r0
	ldr	r3, [fp, #-1120]
	str	r2, [r3]
	ldr	r3, [fp, #-1120]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2052
	ldr	r1, [fp, #-1116]
	ldr	r0, .L2109+12
	bl	printf
	mov	r0, #1
	bl	triexit
.L2052:
	ldr	r3, [fp, #-1120]
	ldr	r1, [r3]
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-1116]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r0, [fp, #-1096]
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	str	r2, [r3, #496]
	ldr	r3, [fp, #-1096]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1096]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2053
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #524]
	b	.L2054
.L2053:
	ldr	r0, [fp, #-1096]
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	str	r2, [r3, #524]
.L2054:
	ldr	r3, [fp, #-1096]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1096]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2055
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #528]
	b	.L2056
.L2055:
	ldr	r0, [fp, #-1096]
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	str	r2, [r3, #528]
.L2056:
	ldr	r3, [fp, #-1096]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1096]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2057
	mov	r3, #0
	str	r3, [fp, #-1084]
	b	.L2058
.L2057:
	ldr	r0, [fp, #-1096]
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1084]
.L2058:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	cmp	r3, #0
	ble	.L2059
	ldr	r3, [fp, #-1120]
	ldr	r3, [r3]
	str	r3, [fp, #-1092]
	ldr	r3, [fp, #-1116]
	str	r3, [fp, #-1088]
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #572]
	b	.L2060
.L2059:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #572]
	ldr	r3, [fp, #-1112]
	str	r3, [fp, #-1088]
	b	.L2060
.L2050:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #572]
	ldr	r3, [fp, #-1112]
	str	r3, [fp, #-1088]
	ldr	r3, [fp, #-1120]
	mov	r2, #0
	str	r2, [r3]
.L2060:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	ldr	r3, [r3, #572]
	cmp	r3, #0
	beq	.L2061
	ldr	r3, [fp, #-1108]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L2062
	ldr	r1, [fp, #-1112]
	ldr	r0, .L2109+4
	bl	printf
.L2062:
	ldr	r1, .L2109+8
	ldr	r0, [fp, #-1112]
	bl	fopen
	str	r0, [fp, #-1092]
	ldr	r3, [fp, #-1092]
	cmp	r3, #0
	bne	.L2063
	ldr	r1, [fp, #-1112]
	ldr	r0, .L2109+12
	bl	printf
	mov	r0, #1
	bl	triexit
.L2063:
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-1112]
	ldr	r1, [fp, #-1092]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r0, [fp, #-1096]
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	str	r2, [r3, #496]
	ldr	r3, [fp, #-1096]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1096]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2064
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #524]
	b	.L2065
.L2064:
	ldr	r0, [fp, #-1096]
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	str	r2, [r3, #524]
.L2065:
	ldr	r3, [fp, #-1096]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1096]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2066
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #528]
	b	.L2067
.L2066:
	ldr	r0, [fp, #-1096]
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	str	r2, [r3, #528]
.L2067:
	ldr	r3, [fp, #-1096]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1096]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2068
	mov	r3, #0
	str	r3, [fp, #-1084]
	b	.L2061
.L2068:
	ldr	r0, [fp, #-1096]
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1084]
.L2061:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	cmp	r3, #2
	bgt	.L2069
	ldr	r0, .L2109+16
	bl	puts
	mov	r0, #1
	bl	triexit
.L2069:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	ldr	r3, [r3, #524]
	cmp	r3, #2
	beq	.L2070
	ldr	r0, .L2109+20
	bl	puts
	mov	r0, #1
	bl	triexit
.L2070:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	cmp	r3, #0
	bne	.L2071
	ldr	r3, [fp, #-1108]
	mov	r2, #0
	str	r2, [r3, #32]
.L2071:
	ldr	r1, [fp, #-1108]
	ldr	r0, [fp, #-1104]
	bl	initializevertexpool
	mov	r3, #0
	str	r3, [fp, #-1080]
	b	.L2072
.L2098:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #112
	mov	r0, r3
	bl	poolalloc
	str	r0, [fp, #-1072]
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-1088]
	ldr	r1, [fp, #-1092]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1080]
	cmp	r3, #0
	bne	.L2073
	ldr	r0, [fp, #-1096]
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1068]
	ldr	r3, [fp, #-1068]
	cmp	r3, #0
	beq	.L2074
	ldr	r3, [fp, #-1068]
	cmp	r3, #1
	bne	.L2073
.L2074:
	ldr	r3, [fp, #-1108]
	ldr	r2, [fp, #-1068]
	str	r2, [r3, #40]
.L2073:
	ldr	r3, [fp, #-1096]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1096]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2075
	ldr	r3, [fp, #-1108]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1080]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L2109+24
	bl	printf
	mov	r0, #1
	bl	triexit
.L2075:
	ldr	r2, [fp, #-1096]
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r1, r3
	mov	r0, r2
	bl	strtod
	str	r0, [fp, #-1060]
	str	r1, [fp, #-1056]
	ldr	r3, [fp, #-1096]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1096]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2076
	ldr	r3, [fp, #-1108]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1080]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L2109+28
	bl	printf
	mov	r0, #1
	bl	triexit
.L2076:
	ldr	r2, [fp, #-1096]
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r1, r3
	mov	r0, r2
	bl	strtod
	str	r0, [fp, #-1052]
	str	r1, [fp, #-1048]
	ldr	r1, [fp, #-1072]
	ldr	r2, [fp, #-1060]
	ldr	r3, [fp, #-1056]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-1072]
	add	r1, r3, #8
	ldr	r2, [fp, #-1052]
	ldr	r3, [fp, #-1048]
	stm	r1, {r2-r3}
	mov	r3, #2
	str	r3, [fp, #-1076]
	b	.L2077
.L2080:
	ldr	r3, [fp, #-1096]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1096]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2078
	ldr	r3, [fp, #-1076]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-1072]
	add	r1, r2, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	b	.L2079
.L2078:
	ldr	r0, [fp, #-1096]
	ldr	r3, [fp, #-1076]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-1072]
	add	r4, r2, r3
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r1, r3
	bl	strtod
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
.L2079:
	ldr	r3, [fp, #-1076]
	add	r3, r3, #1
	str	r3, [fp, #-1076]
.L2077:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	add	r3, r3, #1
	ldr	r2, [fp, #-1076]
	cmp	r2, r3
	ble	.L2080
	ldr	r3, [fp, #-1084]
	cmp	r3, #0
	beq	.L2081
	ldr	r3, [fp, #-1096]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1096]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2082
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1072]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	b	.L2083
.L2082:
	ldr	r0, [fp, #-1096]
	sub	r3, fp, #1072
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	str	r0, [fp, #-1064]
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1072]
	add	r3, r2, r3
	ldr	r2, [fp, #-1064]
	str	r2, [r3]
	b	.L2083
.L2081:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1072]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
.L2083:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1072]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-1080]
	cmp	r3, #0
	bne	.L2084
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #208
	mov	r1, r3
	ldr	r2, [fp, #-1060]
	ldr	r3, [fp, #-1056]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #208
	stmdb	r3, {r0-r1}
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #224
	mov	r1, r3
	ldr	r2, [fp, #-1052]
	ldr	r3, [fp, #-1048]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #224
	stmdb	r3, {r0-r1}
	b	.L2085
.L2084:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmdb	r3, {r2-r3}
	ldr	r0, [fp, #-1060]
	ldr	r1, [fp, #-1056]
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2105
	ldr	r2, [fp, #-1060]
	ldr	r3, [fp, #-1056]
	b	.L2088
.L2105:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmdb	r3, {r2-r3}
.L2088:
	ldr	r1, [fp, #-1104]
	add	r1, r1, #49408
	add	r1, r1, #208
	stmdb	r1, {r2-r3}
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1060]
	ldr	r1, [fp, #-1056]
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2106
	ldr	r2, [fp, #-1060]
	ldr	r3, [fp, #-1056]
	b	.L2091
.L2106:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmia	r3, {r2-r3}
.L2091:
	ldr	r1, [fp, #-1104]
	add	r1, r1, #49408
	add	r1, r1, #208
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmdb	r3, {r2-r3}
	ldr	r0, [fp, #-1052]
	ldr	r1, [fp, #-1048]
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2107
	ldr	r2, [fp, #-1052]
	ldr	r3, [fp, #-1048]
	b	.L2094
.L2107:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmdb	r3, {r2-r3}
.L2094:
	ldr	r1, [fp, #-1104]
	add	r1, r1, #49408
	add	r1, r1, #224
	stmdb	r1, {r2-r3}
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1052]
	ldr	r1, [fp, #-1048]
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2108
	ldr	r2, [fp, #-1052]
	ldr	r3, [fp, #-1048]
	b	.L2097
.L2108:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmia	r3, {r2-r3}
.L2097:
	ldr	r1, [fp, #-1104]
	add	r1, r1, #49408
	add	r1, r1, #224
	stm	r1, {r2-r3}
.L2085:
	ldr	r3, [fp, #-1080]
	add	r3, r3, #1
	str	r3, [fp, #-1080]
.L2072:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	ldr	r2, [fp, #-1080]
	cmp	r2, r3
	blt	.L2098
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49152
	ldr	r3, [r3, #572]
	cmp	r3, #0
	beq	.L2099
	ldr	r0, [fp, #-1092]
	bl	fclose
.L2099:
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmdb	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L2109+32
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L2109+36
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-1104]
	add	r3, r3, #49408
	add	r3, r3, #240
	stmdb	r3, {r0-r1}
	nop
	ldr	r3, .L2109
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2100
	bl	__stack_chk_fail
.L2100:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L2110:
	.align	2
.L2109:
	.word	.LC1102
	.word	.LC1007
	.word	.LC1008
	.word	.LC1009
	.word	.LC1098
	.word	.LC1099
	.word	.LC1100
	.word	.LC1101
	.word	1076101120
	.word	1075970048
	.size	readnodes, .-readnodes
	.section	.rodata
	.align	2
.LC1103:
	.ascii	"Error:  Hole %d has no x coordinate.\012\000"
	.align	2
.LC1104:
	.ascii	"Error:  Hole %d has no y coordinate.\012\000"
	.align	2
.LC1105:
	.ascii	"Error:  Region %d has no x coordinate.\012\000"
	.align	2
.LC1106:
	.ascii	"Error:  Region %d has no y coordinate.\012\000"
	.align	2
.LC1107:
	.ascii	"Error:  Region %d has no region attribute or area c"
	.ascii	"onstraint.\012\000"
	.align	2
.LC1108:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	readholes
	.syntax unified
	.arm
	.fpu softvfp
	.type	readholes, %function
readholes:
	@ args = 16, pretend = 0, frame = 1080
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #1072
	sub	sp, sp, #12
	str	r0, [fp, #-1064]
	str	r1, [fp, #-1068]
	str	r2, [fp, #-1072]
	str	r3, [fp, #-1076]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-1080]
	ldr	r3, [fp, #8]
	str	r3, [fp, #-1084]
	ldr	r3, [fp, #12]
	str	r3, [fp, #-1088]
	ldr	r3, [fp, #16]
	str	r3, [fp, #-1092]
	ldr	r3, .L2135
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-1076]
	ldr	r1, [fp, #-1072]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1060]
	ldr	r0, [fp, #-1060]
	sub	r3, fp, #1040
	sub	r3, r3, #12
	sub	r3, r3, #8
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1084]
	str	r2, [r3]
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L2112
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	lsl	r3, r3, #4
	mov	r0, r3
	bl	trimalloc
	str	r0, [fp, #-1048]
	ldr	r3, [fp, #-1080]
	ldr	r2, [fp, #-1048]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-1052]
	b	.L2113
.L2118:
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-1076]
	ldr	r1, [fp, #-1072]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1060]
	ldr	r3, [fp, #-1060]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1060]
	ldr	r3, [fp, #-1060]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2114
	ldr	r3, [fp, #-1068]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1052]
	asr	r3, r3, #1
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L2135+4
	bl	printf
	mov	r0, #1
	bl	triexit
	b	.L2115
.L2114:
	ldr	r0, [fp, #-1060]
	ldr	r3, [fp, #-1052]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-1048]
	add	r4, r2, r3
	sub	r3, fp, #1040
	sub	r3, r3, #12
	sub	r3, r3, #8
	mov	r1, r3
	bl	strtod
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
.L2115:
	ldr	r3, [fp, #-1060]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1060]
	ldr	r3, [fp, #-1060]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2116
	ldr	r3, [fp, #-1068]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1052]
	asr	r3, r3, #1
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L2135+8
	bl	printf
	mov	r0, #1
	bl	triexit
	b	.L2117
.L2116:
	ldr	r0, [fp, #-1060]
	ldr	r3, [fp, #-1052]
	add	r3, r3, #1
	lsl	r3, r3, #3
	ldr	r2, [fp, #-1048]
	add	r4, r2, r3
	sub	r3, fp, #1040
	sub	r3, r3, #12
	sub	r3, r3, #8
	mov	r1, r3
	bl	strtod
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
.L2117:
	ldr	r3, [fp, #-1052]
	add	r3, r3, #2
	str	r3, [fp, #-1052]
.L2113:
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-1052]
	cmp	r2, r3
	blt	.L2118
	b	.L2119
.L2112:
	ldr	r3, [fp, #-1080]
	mov	r2, #0
	str	r2, [r3]
.L2119:
	ldr	r3, [fp, #-1068]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L2120
	ldr	r3, [fp, #-1068]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L2121
.L2120:
	ldr	r3, [fp, #-1068]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L2121
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-1076]
	ldr	r1, [fp, #-1072]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1060]
	ldr	r0, [fp, #-1060]
	sub	r3, fp, #1040
	sub	r3, r3, #12
	sub	r3, r3, #8
	mov	r2, #0
	mov	r1, r3
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-1092]
	str	r2, [r3]
	ldr	r3, [fp, #-1092]
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L2133
	ldr	r3, [fp, #-1092]
	ldr	r3, [r3]
	lsl	r3, r3, #5
	mov	r0, r3
	bl	trimalloc
	str	r0, [fp, #-1044]
	ldr	r3, [fp, #-1088]
	ldr	r2, [fp, #-1044]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-1056]
	mov	r3, #0
	str	r3, [fp, #-1052]
	b	.L2123
.L2132:
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-1076]
	ldr	r1, [fp, #-1072]
	mov	r0, r3
	bl	readline
	mov	r3, r0
	str	r3, [fp, #-1060]
	ldr	r3, [fp, #-1060]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1060]
	ldr	r3, [fp, #-1060]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2124
	ldr	r3, [fp, #-1068]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1052]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L2135+12
	bl	printf
	mov	r0, #1
	bl	triexit
	b	.L2125
.L2124:
	ldr	r0, [fp, #-1060]
	ldr	r3, [fp, #-1056]
	add	r2, r3, #1
	str	r2, [fp, #-1056]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-1044]
	add	r4, r2, r3
	sub	r3, fp, #1040
	sub	r3, r3, #12
	sub	r3, r3, #8
	mov	r1, r3
	bl	strtod
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
.L2125:
	ldr	r3, [fp, #-1060]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1060]
	ldr	r3, [fp, #-1060]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2126
	ldr	r3, [fp, #-1068]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1052]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L2135+16
	bl	printf
	mov	r0, #1
	bl	triexit
	b	.L2127
.L2126:
	ldr	r0, [fp, #-1060]
	ldr	r3, [fp, #-1056]
	add	r2, r3, #1
	str	r2, [fp, #-1056]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-1044]
	add	r4, r2, r3
	sub	r3, fp, #1040
	sub	r3, r3, #12
	sub	r3, r3, #8
	mov	r1, r3
	bl	strtod
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
.L2127:
	ldr	r3, [fp, #-1060]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1060]
	ldr	r3, [fp, #-1060]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2128
	ldr	r3, [fp, #-1068]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1052]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L2135+20
	bl	printf
	mov	r0, #1
	bl	triexit
	b	.L2129
.L2128:
	ldr	r0, [fp, #-1060]
	ldr	r3, [fp, #-1056]
	add	r2, r3, #1
	str	r2, [fp, #-1056]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-1044]
	add	r4, r2, r3
	sub	r3, fp, #1040
	sub	r3, r3, #12
	sub	r3, r3, #8
	mov	r1, r3
	bl	strtod
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
.L2129:
	ldr	r3, [fp, #-1060]
	mov	r0, r3
	bl	findfield
	mov	r3, r0
	str	r3, [fp, #-1060]
	ldr	r3, [fp, #-1060]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2130
	ldr	r3, [fp, #-1056]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	ldr	r2, [fp, #-1044]
	add	r3, r2, r3
	ldr	r2, [fp, #-1056]
	lsl	r2, r2, #3
	ldr	r1, [fp, #-1044]
	add	r1, r1, r2
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	b	.L2131
.L2130:
	ldr	r0, [fp, #-1060]
	ldr	r3, [fp, #-1056]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-1044]
	add	r4, r2, r3
	sub	r3, fp, #1040
	sub	r3, r3, #12
	sub	r3, r3, #8
	mov	r1, r3
	bl	strtod
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
.L2131:
	ldr	r3, [fp, #-1056]
	add	r3, r3, #1
	str	r3, [fp, #-1056]
	ldr	r3, [fp, #-1052]
	add	r3, r3, #1
	str	r3, [fp, #-1052]
.L2123:
	ldr	r3, [fp, #-1092]
	ldr	r3, [r3]
	ldr	r2, [fp, #-1052]
	cmp	r2, r3
	blt	.L2132
	b	.L2133
.L2121:
	ldr	r3, [fp, #-1092]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-1088]
	mov	r2, #0
	str	r2, [r3]
.L2133:
	ldr	r0, [fp, #-1072]
	bl	fclose
	nop
	ldr	r3, .L2135
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2134
	bl	__stack_chk_fail
.L2134:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L2136:
	.align	2
.L2135:
	.word	.LC1108
	.word	.LC1103
	.word	.LC1104
	.word	.LC1105
	.word	.LC1106
	.word	.LC1107
	.size	readholes, .-readholes
	.section	.rodata
	.align	2
.LC1109:
	.ascii	"# Generated by\000"
	.text
	.align	2
	.global	finishfile
	.syntax unified
	.arm
	.fpu softvfp
	.type	finishfile, %function
finishfile:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L2140
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2138
.L2139:
	ldr	r1, [fp, #-16]
	mov	r0, #32
	bl	fputc
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	fputs
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2138:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L2139
	ldr	r1, [fp, #-16]
	mov	r0, #10
	bl	fputc
	ldr	r0, [fp, #-16]
	bl	fclose
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2141:
	.align	2
.L2140:
	.word	.LC1109
	.size	finishfile, .-finishfile
	.section	.rodata
	.align	2
.LC1110:
	.ascii	"Writing %s.\012\000"
	.align	2
.LC1111:
	.ascii	"w\000"
	.align	2
.LC1112:
	.ascii	"  Error:  Cannot create file %s.\012\000"
	.align	2
.LC1113:
	.ascii	"%ld  %d  %d  %d\012\000"
	.align	2
.LC1114:
	.ascii	"%4d    %.17g  %.17g\000"
	.align	2
.LC1115:
	.ascii	"  %.17g\000"
	.align	2
.LC1116:
	.ascii	"    %d\012\000"
	.text
	.align	2
	.global	writenodes
	.syntax unified
	.arm
	.fpu softvfp
	.type	writenodes, %function
writenodes:
	@ args = 4, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L2143
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #152]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #516]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	b	.L2144
.L2143:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #152]
	str	r3, [fp, #-20]
.L2144:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L2145
	ldr	r1, [fp, #-40]
	ldr	r0, .L2155
	bl	printf
.L2145:
	ldr	r1, .L2155+4
	ldr	r0, [fp, #-40]
	bl	fopen
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2146
	ldr	r1, [fp, #-40]
	ldr	r0, .L2155+8
	bl	printf
	mov	r0, #1
	bl	triexit
.L2146:
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r1, [r3, #524]
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	ldr	r2, [fp, #-36]
	ldr	r2, [r2, #60]
	rsb	r2, r2, #1
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-20]
	ldr	r1, .L2155+12
	ldr	r0, [fp, #-8]
	bl	fprintf
	ldr	r3, [fp, #-32]
	add	r3, r3, #112
	mov	r0, r3
	bl	traversalinit
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	vertextraverse
	str	r0, [fp, #-24]
	b	.L2147
.L2154:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L2148
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L2155+16
	cmp	r3, r2
	beq	.L2149
.L2148:
	ldr	r3, [fp, #-24]
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-24]
	add	r1, r1, #8
	ldmia	r1, {r0-r1}
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	ldr	r2, [fp, #-16]
	ldr	r1, .L2155+20
	ldr	r0, [fp, #-8]
	bl	fprintf
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L2150
.L2151:
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	lsl	r3, r3, #3
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r1, .L2155+24
	ldr	r0, [fp, #-8]
	bl	fprintf
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L2150:
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L2151
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L2152
	ldr	r1, [fp, #-8]
	mov	r0, #10
	bl	fputc
	b	.L2153
.L2152:
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L2155+28
	ldr	r0, [fp, #-8]
	bl	fprintf
.L2153:
	ldr	r3, [fp, #-32]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L2149:
	ldr	r0, [fp, #-32]
	bl	vertextraverse
	str	r0, [fp, #-24]
.L2147:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L2154
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-8]
	bl	finishfile
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2156:
	.align	2
.L2155:
	.word	.LC1110
	.word	.LC1111
	.word	.LC1112
	.word	.LC1113
	.word	-32767
	.word	.LC1114
	.word	.LC1115
	.word	.LC1116
	.size	writenodes, .-writenodes
	.align	2
	.global	numbernodes
	.syntax unified
	.arm
	.fpu softvfp
	.type	numbernodes, %function
numbernodes:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #112
	mov	r0, r3
	bl	traversalinit
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	vertextraverse
	str	r0, [fp, #-12]
	b	.L2158
.L2161:
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L2159
	ldr	r3, [fp, #-16]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L2162
	cmp	r3, r2
	beq	.L2160
.L2159:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2160:
	ldr	r0, [fp, #-16]
	bl	vertextraverse
	str	r0, [fp, #-12]
.L2158:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L2161
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2163:
	.align	2
.L2162:
	.word	-32767
	.size	numbernodes, .-numbernodes
	.section	.rodata
	.align	2
.LC1117:
	.ascii	"%ld  %d  %d\012\000"
	.align	2
.LC1118:
	.ascii	"%4ld    %4d  %4d  %4d\000"
	.align	2
.LC1119:
	.ascii	"%4ld    %4d  %4d  %4d  %4d  %4d  %4d\000"
	.text
	.align	2
	.global	writeelements
	.syntax unified
	.arm
	.fpu softvfp
	.type	writeelements, %function
writeelements:
	@ args = 4, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #92
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L2165
	ldr	r1, [fp, #-72]
	ldr	r0, .L2173
	bl	printf
.L2165:
	ldr	r1, .L2173+4
	ldr	r0, [fp, #-72]
	bl	fopen
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L2166
	ldr	r1, [fp, #-72]
	ldr	r0, .L2173+8
	bl	printf
	mov	r0, #1
	bl	triexit
.L2166:
	ldr	r3, [fp, #-64]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #124]
	add	r3, r3, #1
	ldr	r2, [fp, #-68]
	ldr	r2, [r2, #124]
	add	r2, r2, #2
	mul	r3, r2, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #532]
	str	r3, [sp]
	mov	r3, r2
	mov	r2, r1
	ldr	r1, .L2173+12
	ldr	r0, [fp, #-48]
	bl	fprintf
	ldr	r3, [fp, #-64]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-64]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-56]
	b	.L2167
.L2172:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r1, .L2173+16
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r1, .L2173+20
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #124]
	cmp	r3, #1
	bne	.L2168
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-64]
	add	r2, r2, #49152
	ldr	r2, [r2, #544]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-36]
	add	r2, r1, r2
	ldr	r2, [r2]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r0
	ldr	r2, [fp, #-56]
	ldr	r1, .L2173+24
	ldr	r0, [fp, #-48]
	bl	fprintf
	b	.L2169
.L2168:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #552]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #552]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #552]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r4, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-64]
	add	r2, r2, #49152
	ldr	r2, [r2, #544]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-36]
	add	r2, r1, r2
	ldr	r2, [r2]
	ldr	r1, [fp, #-64]
	add	r1, r1, #49152
	ldr	r1, [r1, #544]
	lsl	r1, r1, #2
	ldr	r0, [fp, #-32]
	add	r1, r0, r1
	ldr	r1, [r1]
	ldr	r0, [fp, #-64]
	add	r0, r0, #49152
	ldr	r0, [r0, #544]
	lsl	r0, r0, #2
	ldr	ip, [fp, #-28]
	add	r0, ip, r0
	ldr	r0, [r0]
	ldr	ip, [fp, #-64]
	add	ip, ip, #49152
	ldr	ip, [ip, #544]
	lsl	ip, ip, #2
	ldr	lr, [fp, #-24]
	add	ip, lr, ip
	ldr	ip, [ip]
	str	ip, [sp, #16]
	str	r0, [sp, #12]
	str	r1, [sp, #8]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r4
	ldr	r2, [fp, #-56]
	ldr	r1, .L2173+28
	ldr	r0, [fp, #-48]
	bl	fprintf
.L2169:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L2170
.L2171:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r1, [r3, #556]
	ldr	r3, [fp, #-52]
	add	r3, r1, r3
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r1, .L2173+32
	ldr	r0, [fp, #-48]
	bl	fprintf
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L2170:
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #532]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	blt	.L2171
	ldr	r1, [fp, #-48]
	mov	r0, #10
	bl	fputc
	ldr	r0, [fp, #-64]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L2167:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L2172
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-48]
	bl	finishfile
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L2174:
	.align	2
.L2173:
	.word	.LC1110
	.word	.LC1111
	.word	.LC1112
	.word	.LC1117
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC1118
	.word	.LC1119
	.word	.LC1115
	.size	writeelements, .-writeelements
	.section	.rodata
	.align	2
.LC1120:
	.ascii	"%d  %d  %d  %d\012\000"
	.align	2
.LC1121:
	.ascii	"%ld  %d\012\000"
	.align	2
.LC1122:
	.ascii	"%4ld    %4d  %4d\012\000"
	.align	2
.LC1123:
	.ascii	"%4ld    %4d  %4d    %4d\012\000"
	.align	2
.LC1124:
	.ascii	"%d\012\000"
	.align	2
.LC1125:
	.ascii	"%4ld   %.17g  %.17g\012\000"
	.align	2
.LC1126:
	.ascii	"%4ld   %.17g  %.17g  %.17g  %.17g\012\000"
	.text
	.align	2
	.global	writepoly
	.syntax unified
	.arm
	.fpu softvfp
	.type	writepoly, %function
writepoly:
	@ args = 20, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, fp, lr}
	add	fp, sp, #24
	sub	sp, sp, #84
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L2176
	ldr	r1, [fp, #-72]
	ldr	r0, .L2188
	bl	printf
.L2176:
	ldr	r1, .L2188+4
	ldr	r0, [fp, #-72]
	bl	fopen
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L2177
	ldr	r1, [fp, #-72]
	ldr	r0, .L2188+8
	bl	printf
	mov	r0, #1
	bl	triexit
.L2177:
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r1, [r3, #524]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	ldr	r2, [fp, #-68]
	ldr	r2, [r2, #60]
	rsb	r2, r2, #1
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	mov	r2, #0
	ldr	r1, .L2188+12
	ldr	r0, [fp, #-48]
	bl	fprintf
	ldr	r3, [fp, #-64]
	ldr	r2, [r3, #96]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #60]
	rsb	r3, r3, #1
	ldr	r1, .L2188+16
	ldr	r0, [fp, #-48]
	bl	fprintf
	ldr	r3, [fp, #-64]
	add	r3, r3, #56
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-64]
	bl	subsegtraverse
	mov	r3, r0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-52]
	b	.L2178
.L2181:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	rsb	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L2179
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-52]
	ldr	r1, .L2188+20
	ldr	r0, [fp, #-48]
	bl	fprintf
	b	.L2180
.L2179:
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	add	r2, r2, #32
	ldr	r2, [r2]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-52]
	ldr	r1, .L2188+24
	ldr	r0, [fp, #-48]
	bl	fprintf
.L2180:
	ldr	r0, [fp, #-64]
	bl	subsegtraverse
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L2178:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L2181
	ldr	r2, [fp, #4]
	ldr	r1, .L2188+28
	ldr	r0, [fp, #-48]
	bl	fprintf
	ldr	r3, [fp, #4]
	cmp	r3, #0
	ble	.L2182
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L2183
.L2184:
	ldr	r3, [fp, #-68]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-60]
	add	ip, r2, r3
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-60]
	lsl	r1, r1, #4
	add	r1, r1, #8
	ldr	r0, [fp, #-76]
	add	r1, r0, r1
	ldmia	r1, {r0-r1}
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, ip
	ldr	r1, .L2188+32
	ldr	r0, [fp, #-48]
	bl	fprintf
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L2183:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #4]
	cmp	r2, r3
	blt	.L2184
.L2182:
	ldr	r3, [fp, #12]
	cmp	r3, #0
	ble	.L2185
	ldr	r2, [fp, #12]
	ldr	r1, .L2188+28
	ldr	r0, [fp, #-48]
	bl	fprintf
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L2186
.L2187:
	ldr	r3, [fp, #-68]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-56]
	add	r8, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #5
	ldr	r2, [fp, #8]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-56]
	lsl	r1, r1, #5
	add	r1, r1, #8
	ldr	r0, [fp, #8]
	add	r1, r0, r1
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-56]
	lsl	ip, ip, #5
	add	ip, ip, #16
	ldr	lr, [fp, #8]
	add	ip, lr, ip
	ldmia	ip, {r4-r5}
	ldr	ip, [fp, #-56]
	lsl	ip, ip, #5
	add	ip, ip, #24
	ldr	lr, [fp, #8]
	add	ip, lr, ip
	ldmia	ip, {r6-r7}
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, r8
	ldr	r1, .L2188+36
	ldr	r0, [fp, #-48]
	bl	fprintf
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L2186:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #12]
	cmp	r2, r3
	blt	.L2187
.L2185:
	ldr	r2, [fp, #20]
	ldr	r1, [fp, #16]
	ldr	r0, [fp, #-48]
	bl	finishfile
	nop
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, fp, pc}
.L2189:
	.align	2
.L2188:
	.word	.LC1110
	.word	.LC1111
	.word	.LC1112
	.word	.LC1120
	.word	.LC1121
	.word	.LC1122
	.word	.LC1123
	.word	.LC1124
	.word	.LC1125
	.word	.LC1126
	.size	writepoly, .-writepoly
	.section	.rodata
	.align	2
.LC1127:
	.ascii	"%4ld   %d  %d\012\000"
	.align	2
.LC1128:
	.ascii	"%4ld   %d  %d  %d\012\000"
	.text
	.align	2
	.global	writeedges
	.syntax unified
	.arm
	.fpu softvfp
	.type	writeedges, %function
writeedges:
	@ args = 4, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L2191
	ldr	r1, [fp, #-64]
	ldr	r0, .L2203
	bl	printf
.L2191:
	ldr	r1, .L2203+4
	ldr	r0, [fp, #-64]
	bl	fopen
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L2192
	ldr	r1, [fp, #-64]
	ldr	r0, .L2203+8
	bl	printf
	mov	r0, #1
	bl	triexit
.L2192:
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r2, [r3, #520]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #60]
	rsb	r3, r3, #1
	ldr	r1, .L2203+12
	ldr	r0, [fp, #-48]
	bl	fprintf
	ldr	r3, [fp, #-56]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-56]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-52]
	b	.L2193
.L2202:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L2194
.L2201:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	and	r3, r3, #3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	eor	r3, r3, r2
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L2195
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L2196
.L2195:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r1, .L2203+16
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r1, .L2203+20
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L2197
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-52]
	ldr	r1, .L2203+24
	ldr	r0, [fp, #-48]
	bl	fprintf
	b	.L2198
.L2197:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #120]
	cmp	r3, #0
	beq	.L2199
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	and	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	bic	r3, r3, #3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #624]
	cmp	r2, r3
	bne	.L2200
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-52]
	ldr	r1, .L2203+28
	ldr	r0, [fp, #-48]
	bl	fprintf
	b	.L2198
.L2200:
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	add	r2, r2, #32
	ldr	r2, [r2]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-52]
	ldr	r1, .L2203+28
	ldr	r0, [fp, #-48]
	bl	fprintf
	b	.L2198
.L2199:
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	ldr	r2, [fp, #-56]
	add	r2, r2, #49152
	ldr	r2, [r2, #616]
	cmp	r1, r2
	moveq	r2, #1
	movne	r2, #0
	and	r2, r2, #255
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r0
	ldr	r2, [fp, #-52]
	ldr	r1, .L2203+28
	ldr	r0, [fp, #-48]
	bl	fprintf
.L2198:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L2196:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L2194:
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	ble	.L2201
	ldr	r0, [fp, #-56]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-28]
.L2193:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L2202
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-48]
	bl	finishfile
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2204:
	.align	2
.L2203:
	.word	.LC1110
	.word	.LC1111
	.word	.LC1112
	.word	.LC1121
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC1127
	.word	.LC1128
	.size	writeedges, .-writeedges
	.section	.rodata
	.align	2
.LC1129:
	.ascii	"%4ld    %.17g  %.17g\000"
	.align	2
.LC1130:
	.ascii	"%4ld   %d  %d   %.17g  %.17g\012\000"
	.align	2
.LC1131:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	writevoronoi
	.syntax unified
	.arm
	.fpu softvfp
	.type	writevoronoi, %function
writevoronoi:
	@ args = 8, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #144
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	str	r2, [fp, #-120]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #8]
	str	r3, [fp, #-128]
	ldr	r3, .L2223
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L2206
	ldr	r1, [fp, #-120]
	ldr	r0, .L2223+4
	bl	printf
.L2206:
	ldr	r1, .L2223+8
	ldr	r0, [fp, #-120]
	bl	fopen
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bne	.L2207
	ldr	r1, [fp, #-120]
	ldr	r0, .L2223+12
	bl	printf
	mov	r0, #1
	bl	triexit
.L2207:
	ldr	r3, [fp, #-112]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-112]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	mov	r1, #0
	str	r1, [sp, #4]
	str	r3, [sp]
	mov	r3, #2
	ldr	r1, .L2223+16
	ldr	r0, [fp, #-96]
	bl	fprintf
	ldr	r3, [fp, #-112]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-112]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-108]
	b	.L2208
.L2211:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	ldr	r1, .L2223+20
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	ldr	r1, .L2223+24
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [sp, #16]
	sub	r3, fp, #60
	str	r3, [sp, #12]
	sub	r3, fp, #68
	str	r3, [sp, #8]
	sub	r3, fp, #36
	str	r3, [sp, #4]
	ldr	r3, [fp, #-72]
	str	r3, [sp]
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-80]
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	bl	findcircumcenter
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	ldr	r2, [fp, #-108]
	ldr	r1, .L2223+28
	ldr	r0, [fp, #-96]
	bl	fprintf
	mov	r3, #2
	str	r3, [fp, #-100]
	b	.L2209
.L2210:
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L2223+32
	ldr	r0, [fp, #-96]
	bl	fprintf
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
.L2209:
	ldr	r3, [fp, #-112]
	add	r3, r3, #49152
	ldr	r3, [r3, #528]
	add	r3, r3, #1
	ldr	r2, [fp, #-100]
	cmp	r2, r3
	ble	.L2210
	ldr	r1, [fp, #-96]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-52]
	add	r3, r3, #24
	ldr	r2, [fp, #-108]
	str	r2, [r3]
	ldr	r0, [fp, #-112]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L2208:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L2211
	ldr	r2, [fp, #-128]
	ldr	r1, [fp, #4]
	ldr	r0, [fp, #-96]
	bl	finishfile
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L2212
	ldr	r1, [fp, #-124]
	ldr	r0, .L2223+4
	bl	printf
.L2212:
	ldr	r1, .L2223+8
	ldr	r0, [fp, #-124]
	bl	fopen
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bne	.L2213
	ldr	r1, [fp, #-124]
	ldr	r0, .L2223+12
	bl	printf
	mov	r0, #1
	bl	triexit
.L2213:
	ldr	r3, [fp, #-112]
	add	r3, r3, #49152
	ldr	r2, [r3, #520]
	mov	r3, #0
	ldr	r1, .L2223+36
	ldr	r0, [fp, #-96]
	bl	fprintf
	ldr	r3, [fp, #-112]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-112]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-104]
	b	.L2214
.L2221:
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L2215
.L2220:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	and	r3, r3, #3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	eor	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bcc	.L2216
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-112]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L2217
.L2216:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-112]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	cmp	r2, r3
	bne	.L2218
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	ldr	r1, .L2223+20
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	ldr	r1, .L2223+24
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-80]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-80]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-76]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	mvn	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-104]
	ldr	r1, .L2223+40
	ldr	r0, [fp, #-96]
	bl	fprintf
	b	.L2219
.L2218:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	str	r3, [sp]
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-104]
	ldr	r1, .L2223+44
	ldr	r0, [fp, #-96]
	bl	fprintf
.L2219:
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L2217:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L2215:
	ldr	r3, [fp, #-48]
	cmp	r3, #2
	ble	.L2220
	ldr	r0, [fp, #-112]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-52]
.L2214:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L2221
	ldr	r2, [fp, #-128]
	ldr	r1, [fp, #4]
	ldr	r0, [fp, #-96]
	bl	finishfile
	nop
	ldr	r3, .L2223
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2222
	bl	__stack_chk_fail
.L2222:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L2224:
	.align	2
.L2223:
	.word	.LC1131
	.word	.LC1110
	.word	.LC1111
	.word	.LC1112
	.word	.LC1113
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC1129
	.word	.LC1115
	.word	.LC1121
	.word	.LC1130
	.word	.LC1127
	.size	writevoronoi, .-writevoronoi
	.section	.rodata
	.align	2
.LC1132:
	.ascii	"%4ld    %d  %d  %d\012\000"
	.text
	.align	2
	.global	writeneighbors
	.syntax unified
	.arm
	.fpu softvfp
	.type	writeneighbors, %function
writeneighbors:
	@ args = 4, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L2226
	ldr	r1, [fp, #-56]
	ldr	r0, .L2232
	bl	printf
.L2226:
	ldr	r1, .L2232+4
	ldr	r0, [fp, #-56]
	bl	fopen
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L2227
	ldr	r1, [fp, #-56]
	ldr	r0, .L2232+8
	bl	printf
	mov	r0, #1
	bl	triexit
.L2227:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #40]
	mov	r3, #3
	ldr	r1, .L2232+12
	ldr	r0, [fp, #-40]
	bl	fprintf
	ldr	r3, [fp, #-48]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-48]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-44]
	b	.L2228
.L2229:
	ldr	r3, [fp, #-20]
	add	r3, r3, #24
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r0, [fp, #-48]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L2228:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L2229
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #616]
	add	r3, r3, #24
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-48]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-44]
	b	.L2230
.L2231:
	mov	r3, #1
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r3, r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	eor	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-32]
	mov	r3, #2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r3, r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	eor	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r3, r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	eor	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	ldr	r1, .L2232+16
	ldr	r0, [fp, #-40]
	bl	fprintf
	ldr	r0, [fp, #-48]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L2230:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L2231
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-40]
	bl	finishfile
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2233:
	.align	2
.L2232:
	.word	.LC1110
	.word	.LC1111
	.word	.LC1112
	.word	.LC1121
	.word	.LC1132
	.size	writeneighbors, .-writeneighbors
	.section	.rodata
	.align	2
.LC1133:
	.ascii	"OFF\012%ld  %ld  %ld\012\000"
	.align	2
.LC1134:
	.ascii	" %.17g  %.17g  %.17g\012\000"
	.align	2
.LC1135:
	.ascii	" 3   %4d  %4d  %4d\012\000"
	.text
	.align	2
	.global	writeoff
	.syntax unified
	.arm
	.fpu softvfp
	.type	writeoff, %function
writeoff:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #64
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L2235
	ldr	r1, [fp, #-56]
	ldr	r0, .L2245
	bl	printf
.L2235:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L2236
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #152]
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #516]
	sub	r3, r2, r3
	str	r3, [fp, #-40]
	b	.L2237
.L2236:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #152]
	str	r3, [fp, #-40]
.L2237:
	ldr	r1, .L2245+4
	ldr	r0, [fp, #-56]
	bl	fopen
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L2238
	ldr	r1, [fp, #-56]
	ldr	r0, .L2245+8
	bl	printf
	mov	r0, #1
	bl	triexit
.L2238:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #520]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-40]
	ldr	r1, .L2245+12
	ldr	r0, [fp, #-36]
	bl	fprintf
	ldr	r3, [fp, #-48]
	add	r3, r3, #112
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-48]
	bl	vertextraverse
	str	r0, [fp, #-44]
	b	.L2239
.L2242:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L2240
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L2245+16
	cmp	r3, r2
	beq	.L2241
.L2240:
	ldr	r3, [fp, #-44]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-44]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	r4, #0
	mov	r5, #0
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L2245+20
	ldr	r0, [fp, #-36]
	bl	fprintf
.L2241:
	ldr	r0, [fp, #-48]
	bl	vertextraverse
	str	r0, [fp, #-44]
.L2239:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L2242
	ldr	r3, [fp, #-48]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-48]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L2243
.L2244:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r1, .L2245+24
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r1, .L2245+28
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	sub	r1, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	sub	r0, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #49152
	ldr	r3, [r3, #544]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	sub	r3, r2, r3
	str	r3, [sp]
	mov	r3, r0
	mov	r2, r1
	ldr	r1, .L2245+32
	ldr	r0, [fp, #-36]
	bl	fprintf
	ldr	r0, [fp, #-48]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-20]
.L2243:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L2244
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-36]
	bl	finishfile
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L2246:
	.align	2
.L2245:
	.word	.LC1110
	.word	.LC1111
	.word	.LC1112
	.word	.LC1133
	.word	-32767
	.word	.LC1134
	.word	plus1mod3
	.word	minus1mod3
	.word	.LC1135
	.size	writeoff, .-writeoff
	.section	.rodata
	.align	2
.LC1136:
	.ascii	"Mesh quality statistics:\012\000"
	.global	__aeabi_i2d
	.align	2
.LC1137:
	.ascii	"  Smallest area: %16.5g   |  Largest area: %16.5g\012"
	.ascii	"\000"
	.align	2
.LC1138:
	.ascii	"  Shortest edge: %16.5g   |  Longest edge: %16.5g\012"
	.ascii	"\000"
	.align	2
.LC1139:
	.ascii	"  Shortest altitude: %12.5g   |  Largest aspect rat"
	.ascii	"io: %8.5g\012\012\000"
	.align	2
.LC1140:
	.ascii	"  Triangle aspect ratio histogram:\000"
	.align	2
.LC1141:
	.ascii	"  1.1547 - %-6.6g    :  %8d    | %6.6g - %-6.6g    "
	.ascii	" :  %8d\012\000"
	.align	2
.LC1142:
	.ascii	"  %6.6g - %-6.6g    :  %8d    | %6.6g - %-6.6g     "
	.ascii	":  %8d\012\000"
	.align	2
.LC1143:
	.ascii	"  %6.6g - %-6.6g    :  %8d    | %6.6g -            "
	.ascii	":  %8d\012\000"
	.align	2
.LC1144:
	.ascii	"  (Aspect ratio is longest edge divided by shortest"
	.ascii	" altitude)\012\000"
	.align	2
.LC1145:
	.ascii	"  Smallest angle: %15.5g   |  Largest angle: %15.5g"
	.ascii	"\012\012\000"
	.align	2
.LC1146:
	.ascii	"  Angle histogram:\000"
	.align	2
.LC1147:
	.ascii	"    %3d - %3d degrees:  %8d    |    %3d - %3d degre"
	.ascii	"es:  %8d\012\000"
	.align	2
.LC1148:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	quality_statistics
	.syntax unified
	.arm
	.fpu softvfp
	.type	quality_statistics, %function
quality_statistics:
	@ args = 0, pretend = 0, frame = 600
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #640
	str	r0, [fp, #-624]
	str	r1, [fp, #-628]
	ldr	r3, .L2319+140
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	ldr	r0, .L2319
	bl	puts
	ldr	r2, .L2319+4
	ldr	r3, .L2319+8
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	ldr	r2, .L2319+12
	ldr	r3, .L2319+16
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	mov	r3, #0
	str	r3, [fp, #-604]
	b	.L2248
.L2249:
	ldr	r3, [fp, #-604]
	add	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2d
	sub	r3, fp, #516
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	cos
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-604]
	lsl	r1, r1, #3
	sub	r0, fp, #28
	add	r1, r0, r1
	sub	r1, r1, #336
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #336
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #336
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-604]
	lsl	r1, r1, #3
	sub	r0, fp, #28
	add	r1, r0, r1
	sub	r1, r1, #336
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-604]
	add	r3, r3, #1
	str	r3, [fp, #-604]
.L2248:
	ldr	r3, [fp, #-604]
	cmp	r3, #7
	ble	.L2249
	mov	r3, #0
	str	r3, [fp, #-604]
	b	.L2250
.L2251:
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-208]
	ldr	r3, [fp, #-604]
	add	r3, r3, #1
	str	r3, [fp, #-604]
.L2250:
	ldr	r3, [fp, #-604]
	cmp	r3, #17
	ble	.L2251
	mov	r2, #0
	ldr	r3, .L2319+20
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	mov	r2, #0
	mov	r3, #1073741824
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	mov	r2, #0
	ldr	r3, .L2319+24
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	mov	r2, #0
	ldr	r3, .L2319+28
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	mov	r2, #0
	ldr	r3, .L2319+32
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	mov	r2, #0
	ldr	r3, .L2319+36
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	mov	r2, #0
	ldr	r3, .L2319+40
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	mov	r2, #0
	ldr	r3, .L2319+44
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	mov	r2, #0
	ldr	r3, .L2319+48
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	mov	r2, #0
	ldr	r3, .L2319+52
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	mov	r2, #0
	ldr	r3, .L2319+56
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	mov	r2, #0
	ldr	r3, .L2319+60
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r2, #0
	ldr	r3, .L2319+64
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	mov	r2, #0
	ldr	r3, .L2319+68
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	mov	r2, #0
	ldr	r3, .L2319+72
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-604]
	b	.L2252
.L2253:
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-272]
	ldr	r3, [fp, #-604]
	add	r3, r3, #1
	str	r3, [fp, #-604]
.L2252:
	ldr	r3, [fp, #-604]
	cmp	r3, #15
	ble	.L2253
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
	ldr	r3, [fp, #-624]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-624]
	add	r3, r3, #49408
	add	r3, r3, #208
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-624]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-624]
	add	r3, r3, #49408
	add	r3, r3, #224
	ldmdb	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-548]
	str	r3, [fp, #-544]
	sub	r3, fp, #548
	ldmia	r3, {r2-r3}
	sub	r1, fp, #548
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-548]
	str	r3, [fp, #-544]
	sub	r3, fp, #548
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-588]
	str	r3, [fp, #-584]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-580]
	str	r3, [fp, #-576]
	sub	r3, fp, #548
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-564]
	str	r3, [fp, #-560]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-556]
	str	r3, [fp, #-552]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	mov	r2, #0
	mov	r3, #1073741824
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	mov	r3, #1
	str	r3, [fp, #-608]
	ldr	r3, [fp, #-624]
	mov	r0, r3
	bl	traversalinit
	ldr	r0, [fp, #-624]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-456]
	mov	r3, #0
	str	r3, [fp, #-452]
	b	.L2254
.L2289:
	ldr	r2, [fp, #-456]
	ldr	r3, [fp, #-452]
	ldr	r1, .L2319+76
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-448]
	ldr	r2, [fp, #-456]
	ldr	r3, [fp, #-452]
	ldr	r1, .L2319+80
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-444]
	ldr	r2, [fp, #-456]
	ldr	r3, [fp, #-452]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-440]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
	mov	r3, #0
	str	r3, [fp, #-604]
	b	.L2255
.L2262:
	ldr	r2, .L2319+76
	ldr	r3, [fp, #-604]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-596]
	ldr	r2, .L2319+80
	ldr	r3, [fp, #-604]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-592]
	ldr	r3, [fp, #-596]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-420]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-592]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-420]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-604]
	lsl	r1, r1, #3
	sub	r0, fp, #28
	add	r1, r0, r1
	sub	r1, r1, #408
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-596]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-420]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-592]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-420]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-604]
	lsl	r1, r1, #3
	sub	r0, fp, #28
	add	r1, r0, r1
	sub	r1, r1, #384
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #408
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #408
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #384
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #384
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-604]
	lsl	r1, r1, #3
	sub	r0, fp, #28
	add	r1, r0, r1
	sub	r1, r1, #360
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #360
	ldmia	r3, {r2-r3}
	sub	r1, fp, #572
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2256
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #360
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
.L2256:
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #360
	ldmia	r3, {r2-r3}
	sub	r1, fp, #580
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2258
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #360
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-580]
	str	r3, [fp, #-576]
.L2258:
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #360
	ldmia	r3, {r2-r3}
	sub	r1, fp, #588
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2260
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #360
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-588]
	str	r3, [fp, #-584]
.L2260:
	ldr	r3, [fp, #-604]
	add	r3, r3, #1
	str	r3, [fp, #-604]
.L2255:
	ldr	r3, [fp, #-604]
	cmp	r3, #2
	ble	.L2262
	ldr	r2, [fp, #-448]
	ldr	r1, [fp, #-444]
	ldr	r3, [fp, #-440]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-628]
	ldr	r0, [fp, #-624]
	bl	counterclockwise
	str	r0, [fp, #-500]
	str	r1, [fp, #-496]
	sub	r3, fp, #564
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2263
	sub	r3, fp, #500
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-564]
	str	r3, [fp, #-560]
.L2263:
	sub	r3, fp, #556
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2265
	sub	r3, fp, #500
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-556]
	str	r3, [fp, #-552]
.L2265:
	sub	r3, fp, #500
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #572
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
	sub	r3, fp, #548
	ldmia	r3, {r2-r3}
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2267
	sub	r3, fp, #492
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-548]
	str	r3, [fp, #-544]
.L2267:
	sub	r3, fp, #492
	ldmia	r3, {r2-r3}
	sub	r1, fp, #572
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-484]
	str	r3, [fp, #-480]
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	sub	r1, fp, #484
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2269
	sub	r3, fp, #484
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
.L2269:
	mov	r3, #0
	str	r3, [fp, #-616]
	b	.L2271
.L2274:
	ldr	r3, [fp, #-616]
	add	r3, r3, #1
	str	r3, [fp, #-616]
.L2271:
	ldr	r3, [fp, #-616]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #136
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-616]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #136
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #484
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2272
	ldr	r3, [fp, #-616]
	cmp	r3, #14
	ble	.L2274
.L2272:
	ldr	r3, [fp, #-616]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-272]
	add	r2, r3, #1
	ldr	r3, [fp, #-616]
	lsl	r3, r3, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-272]
	mov	r3, #0
	str	r3, [fp, #-604]
	b	.L2275
.L2288:
	ldr	r2, .L2319+76
	ldr	r3, [fp, #-604]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-596]
	ldr	r2, .L2319+80
	ldr	r3, [fp, #-604]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-592]
	ldr	r3, [fp, #-596]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #408
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-592]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #408
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-596]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #384
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-592]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #384
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-476]
	str	r3, [fp, #-472]
	sub	r3, fp, #476
	ldmia	r3, {r2-r3}
	sub	r1, fp, #476
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-596]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #360
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-592]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #360
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-468]
	str	r3, [fp, #-464]
	mov	r3, #8
	str	r3, [fp, #-612]
	mov	r3, #7
	str	r3, [fp, #-600]
	b	.L2276
.L2279:
	ldr	r3, [fp, #-600]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #336
	ldmia	r3, {r2-r3}
	sub	r1, fp, #468
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2277
	ldr	r3, [fp, #-600]
	str	r3, [fp, #-612]
.L2277:
	ldr	r3, [fp, #-600]
	sub	r3, r3, #1
	str	r3, [fp, #-600]
.L2276:
	ldr	r3, [fp, #-600]
	cmp	r3, #0
	bge	.L2279
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #476
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L2316
	ldr	r3, [fp, #-612]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-208]
	add	r2, r3, #1
	ldr	r3, [fp, #-612]
	lsl	r3, r3, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-208]
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	sub	r1, fp, #468
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2282
	sub	r3, fp, #468
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
.L2282:
	ldr	r3, [fp, #-608]
	cmp	r3, #0
	beq	.L2284
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #468
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2284
	sub	r3, fp, #468
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	b	.L2284
.L2316:
	ldr	r3, [fp, #-612]
	rsb	r2, r3, #17
	lsl	r3, r2, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	ldr	r3, [r3, #-208]
	add	r1, r3, #1
	lsl	r3, r2, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	str	r1, [r3, #-208]
	ldr	r3, [fp, #-608]
	cmp	r3, #0
	bne	.L2286
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #468
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2284
.L2286:
	sub	r3, fp, #468
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	mov	r3, #0
	str	r3, [fp, #-608]
.L2284:
	ldr	r3, [fp, #-604]
	add	r3, r3, #1
	str	r3, [fp, #-604]
.L2275:
	ldr	r3, [fp, #-604]
	cmp	r3, #2
	ble	.L2288
	ldr	r0, [fp, #-624]
	bl	triangletraverse
	mov	r3, r0
	str	r3, [fp, #-456]
.L2254:
	ldr	r3, [fp, #-456]
	cmp	r3, #0
	bne	.L2289
	sub	r1, fp, #588
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-588]
	str	r1, [fp, #-584]
	sub	r1, fp, #580
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-580]
	str	r1, [fp, #-576]
	sub	r1, fp, #548
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-548]
	str	r1, [fp, #-544]
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-540]
	str	r1, [fp, #-536]
	mov	r2, #0
	ldr	r3, .L2319+84
	sub	r1, fp, #564
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-564]
	str	r3, [fp, #-560]
	mov	r2, #0
	ldr	r3, .L2319+84
	sub	r1, fp, #556
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-556]
	str	r3, [fp, #-552]
	mov	r2, #0
	ldr	r3, .L2319+88
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L2317
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	b	.L2292
.L2317:
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	acos
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
.L2292:
	mov	r2, #0
	ldr	r3, .L2319+88
	sub	r1, fp, #524
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L2318
	mov	r2, #0
	ldr	r3, .L2319+92
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	b	.L2295
.L2318:
	ldr	r3, [fp, #-608]
	cmp	r3, #0
	beq	.L2296
	sub	r1, fp, #524
	ldmia	r1, {r0-r1}
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	acos
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	b	.L2295
.L2296:
	sub	r1, fp, #524
	ldmia	r1, {r0-r1}
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	acos
	sub	r3, fp, #508
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L2319+92
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
.L2295:
	sub	r3, fp, #556
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #564
	ldmia	r3, {r2-r3}
	ldr	r0, .L2319+96
	bl	printf
	sub	r3, fp, #580
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #588
	ldmia	r3, {r2-r3}
	ldr	r0, .L2319+100
	bl	printf
	sub	r3, fp, #540
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #548
	ldmia	r3, {r2-r3}
	ldr	r0, .L2319+104
	bl	printf
	ldr	r0, .L2319+108
	bl	puts
	sub	r5, fp, #164
	ldmia	r5, {r4-r5}
	ldr	ip, [fp, #-300]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	ldr	lr, [fp, #-268]
	str	lr, [sp, #24]
	str	r0, [sp, #16]
	str	r1, [sp, #20]
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	str	ip, [sp]
	mov	r2, r4
	mov	r3, r5
	ldr	r0, .L2319+112
	bl	printf
	mov	r3, #1
	str	r3, [fp, #-604]
	b	.L2297
.L2320:
	.align	2
.L2319:
	.word	.LC1136
	.word	1256670343
	.word	1069963032
	.word	442745336
	.word	1078765020
	.word	1073217536
	.word	1074003968
	.word	1074266112
	.word	1074790400
	.word	1075314688
	.word	1076101120
	.word	1076756480
	.word	1077477376
	.word	1078525952
	.word	1079574528
	.word	1081262080
	.word	1083129856
	.word	1086556160
	.word	1090021888
	.word	plus1mod3
	.word	minus1mod3
	.word	1071644672
	.word	1072693248
	.word	1080459264
	.word	.LC1137
	.word	.LC1138
	.word	.LC1139
	.word	.LC1140
	.word	.LC1141
	.word	.LC1142
	.word	.LC1143
	.word	.LC1144
	.word	.LC1145
	.word	.LC1146
	.word	.LC1147
	.word	.LC1148
.L2298:
	ldr	r3, [fp, #-604]
	sub	r3, r3, #1
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #136
	ldmia	r3, {r8-r9}
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #136
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r2, [r3, #-272]
	ldr	r3, [fp, #-604]
	add	r3, r3, #7
	lsl	r3, r3, #3
	sub	ip, fp, #28
	add	r3, ip, r3
	sub	r3, r3, #136
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-604]
	add	r3, r3, #8
	lsl	r3, r3, #3
	sub	ip, fp, #28
	add	r3, ip, r3
	sub	r3, r3, #136
	ldmia	r3, {r6-r7}
	ldr	r3, [fp, #-604]
	add	r3, r3, #8
	lsl	r3, r3, #2
	sub	ip, fp, #28
	add	r3, ip, r3
	ldr	r3, [r3, #-272]
	str	r3, [sp, #32]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r2, [sp, #8]
	stm	sp, {r0-r1}
	mov	r2, r8
	mov	r3, r9
	ldr	r0, .L2319+116
	bl	printf
	ldr	r3, [fp, #-604]
	add	r3, r3, #1
	str	r3, [fp, #-604]
.L2297:
	ldr	r3, [fp, #-604]
	cmp	r3, #6
	ble	.L2298
	sub	r5, fp, #116
	ldmia	r5, {r4-r5}
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	ldr	ip, [fp, #-272]
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	ldr	lr, [fp, #-240]
	str	lr, [sp, #24]
	str	r0, [sp, #16]
	str	r1, [sp, #20]
	str	ip, [sp, #8]
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	ldr	r0, .L2319+120
	bl	printf
	ldr	r0, .L2319+124
	bl	puts
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #532
	ldmia	r3, {r2-r3}
	ldr	r0, .L2319+128
	bl	printf
	ldr	r0, .L2319+132
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-604]
	b	.L2299
.L2300:
	ldr	r2, [fp, #-604]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	ip, r3
	ldr	r3, [fp, #-604]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	lr, r3
	ldr	r3, [fp, #-604]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r0, [r3, #-208]
	ldr	r2, [fp, #-604]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r1, r3, #90
	ldr	r2, [fp, #-604]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r3, #100
	ldr	r3, [fp, #-604]
	add	r3, r3, #9
	lsl	r3, r3, #2
	sub	r4, fp, #28
	add	r3, r4, r3
	ldr	r3, [r3, #-208]
	str	r3, [sp, #8]
	str	r2, [sp, #4]
	str	r1, [sp]
	mov	r3, r0
	mov	r2, lr
	mov	r1, ip
	ldr	r0, .L2319+136
	bl	printf
	ldr	r3, [fp, #-604]
	add	r3, r3, #1
	str	r3, [fp, #-604]
.L2299:
	ldr	r3, [fp, #-604]
	cmp	r3, #8
	ble	.L2300
	mov	r0, #10
	bl	putchar
	nop
	ldr	r3, .L2319+140
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2301
	bl	__stack_chk_fail
.L2301:
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	quality_statistics, .-quality_statistics
	.section	.rodata
	.align	2
.LC1149:
	.ascii	"\012Statistics:\012\000"
	.align	2
.LC1150:
	.ascii	"  Input vertices: %d\012\000"
	.align	2
.LC1151:
	.ascii	"  Input triangles: %d\012\000"
	.align	2
.LC1152:
	.ascii	"  Input segments: %d\012\000"
	.align	2
.LC1153:
	.ascii	"  Input holes: %d\012\000"
	.align	2
.LC1154:
	.ascii	"\012  Mesh vertices: %ld\012\000"
	.align	2
.LC1155:
	.ascii	"  Mesh triangles: %ld\012\000"
	.align	2
.LC1156:
	.ascii	"  Mesh edges: %ld\012\000"
	.align	2
.LC1157:
	.ascii	"  Mesh exterior boundary edges: %ld\012\000"
	.align	2
.LC1158:
	.ascii	"  Mesh interior boundary edges: %ld\012\000"
	.align	2
.LC1159:
	.ascii	"  Mesh subsegments (constrained edges): %ld\012\000"
	.align	2
.LC1160:
	.ascii	"Memory allocation statistics:\012\000"
	.align	2
.LC1161:
	.ascii	"  Maximum number of vertices: %ld\012\000"
	.align	2
.LC1162:
	.ascii	"  Maximum number of triangles: %ld\012\000"
	.align	2
.LC1163:
	.ascii	"  Maximum number of subsegments: %ld\012\000"
	.align	2
.LC1164:
	.ascii	"  Maximum number of viri: %ld\012\000"
	.align	2
.LC1165:
	.ascii	"  Maximum number of encroached subsegments: %ld\012"
	.ascii	"\000"
	.align	2
.LC1166:
	.ascii	"  Maximum number of bad triangles: %ld\012\000"
	.align	2
.LC1167:
	.ascii	"  Maximum number of stacked triangle flips: %ld\012"
	.ascii	"\000"
	.align	2
.LC1168:
	.ascii	"  Maximum number of splay tree nodes: %ld\012\000"
	.align	2
.LC1169:
	.ascii	"  Approximate heap memory use (bytes): %ld\012\012\000"
	.align	2
.LC1170:
	.ascii	"Algorithmic statistics:\012\000"
	.align	2
.LC1171:
	.ascii	"  Number of incircle tests: %ld\012\000"
	.align	2
.LC1172:
	.ascii	"  Number of 3D orientation tests: %ld\012\000"
	.align	2
.LC1173:
	.ascii	"  Number of 2D orientation tests: %ld\012\000"
	.align	2
.LC1174:
	.ascii	"  Number of right-of-hyperbola tests: %ld\012\000"
	.align	2
.LC1175:
	.ascii	"  Number of circle top computations: %ld\012\000"
	.align	2
.LC1176:
	.ascii	"  Number of triangle circumcenter computations: %ld"
	.ascii	"\012\000"
	.text
	.align	2
	.global	statistics
	.syntax unified
	.arm
	.fpu softvfp
	.type	statistics, %function
statistics:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r0, .L2339
	bl	puts
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #496]
	mov	r1, r3
	ldr	r0, .L2339+4
	bl	printf
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2322
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #500]
	mov	r1, r3
	ldr	r0, .L2339+8
	bl	printf
.L2322:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2323
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #504]
	mov	r1, r3
	ldr	r0, .L2339+12
	bl	printf
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L2323
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #508]
	mov	r1, r3
	ldr	r0, .L2339+16
	bl	printf
.L2323:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #152]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #516]
	sub	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L2339+20
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #40]
	mov	r1, r3
	ldr	r0, .L2339+24
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #520]
	mov	r1, r3
	ldr	r0, .L2339+28
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #536]
	mov	r1, r3
	ldr	r0, .L2339+32
	bl	printf
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2324
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2325
.L2324:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #96]
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #536]
	sub	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L2339+36
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #96]
	mov	r1, r3
	ldr	r0, .L2339+40
	bl	printf
.L2325:
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L2338
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	quality_statistics
	ldr	r0, .L2339+44
	bl	puts
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #156]
	mov	r1, r3
	ldr	r0, .L2339+48
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #44]
	mov	r1, r3
	ldr	r0, .L2339+52
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #100]
	cmp	r3, #0
	ble	.L2327
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #100]
	mov	r1, r3
	ldr	r0, .L2339+56
	bl	printf
.L2327:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #212]
	cmp	r3, #0
	ble	.L2328
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #212]
	mov	r1, r3
	ldr	r0, .L2339+60
	bl	printf
.L2328:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #268]
	cmp	r3, #0
	ble	.L2329
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #268]
	mov	r1, r3
	ldr	r0, .L2339+64
	bl	printf
.L2329:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #324]
	cmp	r3, #0
	ble	.L2330
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #324]
	mov	r1, r3
	ldr	r0, .L2339+68
	bl	printf
.L2330:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #380]
	cmp	r3, #0
	ble	.L2331
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #380]
	mov	r1, r3
	ldr	r0, .L2339+72
	bl	printf
.L2331:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #436]
	cmp	r3, #0
	ble	.L2332
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #436]
	mov	r1, r3
	ldr	r0, .L2339+76
	bl	printf
.L2332:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #156]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #140]
	mul	r2, r3, r2
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #44]
	ldr	r1, [fp, #-8]
	ldr	r1, [r1, #28]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #100]
	ldr	r1, [fp, #-8]
	ldr	r1, [r1, #84]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #212]
	ldr	r1, [fp, #-8]
	ldr	r1, [r1, #196]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #268]
	ldr	r1, [fp, #-8]
	ldr	r1, [r1, #252]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #324]
	ldr	r1, [fp, #-8]
	ldr	r1, [r1, #308]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #380]
	ldr	r1, [fp, #-8]
	ldr	r1, [r1, #364]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #436]
	ldr	r1, [fp, #-8]
	ldr	r1, [r1, #420]
	mul	r3, r1, r3
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L2339+80
	bl	printf
	ldr	r0, .L2339+84
	bl	puts
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L2333
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #580]
	mov	r1, r3
	ldr	r0, .L2339+88
	bl	printf
	b	.L2334
.L2333:
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #588]
	mov	r1, r3
	ldr	r0, .L2339+92
	bl	printf
.L2334:
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #584]
	mov	r1, r3
	ldr	r0, .L2339+96
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #592]
	cmp	r3, #0
	ble	.L2335
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #592]
	mov	r1, r3
	ldr	r0, .L2339+100
	bl	printf
.L2335:
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #600]
	cmp	r3, #0
	ble	.L2336
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #600]
	mov	r1, r3
	ldr	r0, .L2339+104
	bl	printf
.L2336:
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #596]
	cmp	r3, #0
	ble	.L2337
	ldr	r3, [fp, #-8]
	add	r3, r3, #49152
	ldr	r3, [r3, #596]
	mov	r1, r3
	ldr	r0, .L2339+108
	bl	printf
.L2337:
	mov	r0, #10
	bl	putchar
.L2338:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2340:
	.align	2
.L2339:
	.word	.LC1149
	.word	.LC1150
	.word	.LC1151
	.word	.LC1152
	.word	.LC1153
	.word	.LC1154
	.word	.LC1155
	.word	.LC1156
	.word	.LC1157
	.word	.LC1158
	.word	.LC1159
	.word	.LC1160
	.word	.LC1161
	.word	.LC1162
	.word	.LC1163
	.word	.LC1164
	.word	.LC1165
	.word	.LC1166
	.word	.LC1167
	.word	.LC1168
	.word	.LC1169
	.word	.LC1170
	.word	.LC1171
	.word	.LC1172
	.word	.LC1173
	.word	.LC1174
	.word	.LC1175
	.word	.LC1176
	.size	statistics, .-statistics
	.section	.rodata
	.align	2
.LC1177:
	.ascii	"Mesh reconstruction\000"
	.align	2
.LC1178:
	.ascii	"Delaunay\000"
	.align	2
.LC1179:
	.ascii	" milliseconds:  %ld\012\000"
	.align	2
.LC1180:
	.ascii	"Segment milliseconds:  %ld\012\000"
	.align	2
.LC1181:
	.ascii	"Hole milliseconds:  %ld\012\000"
	.align	2
.LC1182:
	.ascii	"Quality milliseconds:  %ld\012\000"
	.align	2
.LC1183:
	.ascii	"NOT writing a .node file.\000"
	.align	2
.LC1184:
	.ascii	"NOT writing an .ele file.\000"
	.align	2
.LC1185:
	.ascii	"NOT writing a .poly file.\000"
	.align	2
.LC1186:
	.ascii	"\012Output milliseconds:  %ld\012\000"
	.align	2
.LC1187:
	.ascii	"Total running milliseconds:  %ld\012\000"
	.align	2
.LC1188:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 74632
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #73728
	sub	sp, sp, #928
	sub	r3, fp, #73728
	sub	r3, r3, #12
	str	r0, [r3, #-900]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	str	r1, [r3, #-904]
	ldr	r3, .L2379
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #824
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #880
	mov	r1, r2
	mov	r0, r3
	bl	gettimeofday
	sub	r3, fp, #49664
	sub	r3, r3, #12
	sub	r3, r3, #136
	mov	r0, r3
	bl	triangleinit
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	sub	r2, fp, #73728
	sub	r2, r2, #12
	mov	r1, r2
	sub	r2, fp, #73728
	sub	r2, r2, #12
	mov	r0, r2
	mov	r2, r3
	ldr	r1, [r1, #-904]
	ldr	r0, [r0, #-900]
	bl	parsecommandline
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-684]
	sub	r2, fp, #49152
	sub	r2, r2, #12
	add	r2, r2, #45056
	str	r3, [r2, #3988]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	r2, r3, #4224
	add	r2, r2, #40
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	ip, r3, #168
	sub	r1, fp, #73728
	sub	r1, r1, #12
	sub	r1, r1, #816
	sub	r0, fp, #49664
	sub	r0, r0, #12
	sub	r0, r0, #136
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #884
	str	r3, [sp]
	mov	r3, r2
	mov	r2, ip
	bl	readnodes
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-704]
	cmp	r3, #0
	bne	.L2342
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #824
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #872
	mov	r1, r2
	mov	r0, r3
	bl	gettimeofday
.L2342:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-812]
	cmp	r3, #0
	beq	.L2343
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	lr, [r3, #-884]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	ip, r3, #6272
	add	ip, ip, #40
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	r2, r3, #2208
	add	r2, r2, #8
	sub	r1, fp, #73728
	sub	r1, r1, #12
	sub	r1, r1, #816
	sub	r0, fp, #49664
	sub	r0, r0, #12
	sub	r0, r0, #136
	str	lr, [sp, #4]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	r3, r3, #4224
	add	r3, r3, #40
	str	r3, [sp]
	mov	r3, ip
	bl	reconstruct
	mov	r3, r0
	sub	r2, fp, #49152
	sub	r2, r2, #12
	add	r2, r2, #45056
	str	r3, [r2, #3984]
	b	.L2344
.L2343:
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #816
	sub	r3, fp, #49664
	sub	r3, r3, #12
	sub	r3, r3, #136
	mov	r1, r2
	mov	r0, r3
	bl	delaunay
	mov	r3, r0
	sub	r2, fp, #49152
	sub	r2, r2, #12
	add	r2, r2, #45056
	str	r3, [r2, #3984]
.L2344:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-704]
	cmp	r3, #0
	bne	.L2345
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #824
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #864
	mov	r1, r2
	mov	r0, r3
	bl	gettimeofday
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-812]
	cmp	r3, #0
	beq	.L2346
	ldr	r0, .L2379+4
	bl	printf
	b	.L2347
.L2346:
	ldr	r0, .L2379+8
	bl	printf
.L2347:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-864]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-872]
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r1, r3
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-860]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-868]
	sub	r3, r2, r3
	ldr	r2, .L2379+12
	smull	r0, r2, r3, r2
	asr	r2, r2, #6
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r1, r3
	mov	r1, r3
	ldr	r0, .L2379+16
	bl	printf
.L2345:
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #4052]
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #4056]
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #4060]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-696]
	cmp	r3, #0
	beq	.L2348
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #4012]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-812]
	cmp	r3, #0
	bne	.L2348
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-884]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	r3, r3, #4224
	add	r3, r3, #40
	sub	r1, fp, #73728
	sub	r1, r1, #12
	sub	r1, r1, #816
	sub	r0, fp, #49664
	sub	r0, r0, #12
	sub	r0, r0, #136
	bl	formskeleton
.L2348:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-704]
	cmp	r3, #0
	bne	.L2349
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #824
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #856
	mov	r1, r2
	mov	r0, r3
	bl	gettimeofday
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-696]
	cmp	r3, #0
	beq	.L2349
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-812]
	cmp	r3, #0
	bne	.L2349
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-856]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-864]
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r1, r3
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-852]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-860]
	sub	r3, r2, r3
	ldr	r2, .L2379+12
	smull	r0, r2, r3, r2
	asr	r2, r2, #6
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r1, r3
	mov	r1, r3
	ldr	r0, .L2379+20
	bl	printf
.L2349:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-816]
	cmp	r3, #0
	beq	.L2350
	sub	r3, fp, #49152
	sub	r3, r3, #12
	ldr	r3, [r3, #-608]
	cmp	r3, #0
	ble	.L2350
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	ip, [r3, #-884]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	r2, r3, #4224
	add	r2, r2, #40
	sub	r1, fp, #73728
	sub	r1, r1, #12
	sub	r1, r1, #816
	sub	r0, fp, #49664
	sub	r0, r0, #12
	sub	r0, r0, #136
	sub	r3, fp, #49664
	sub	r3, r3, #12
	sub	r3, r3, #136
	add	r3, r3, #49664
	str	r3, [sp, #12]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #888
	str	r3, [sp, #8]
	sub	r3, fp, #49664
	sub	r3, r3, #12
	sub	r3, r3, #136
	add	r3, r3, #49408
	add	r3, r3, #252
	str	r3, [sp, #4]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #892
	str	r3, [sp]
	mov	r3, r2
	mov	r2, ip
	bl	readholes
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-812]
	cmp	r3, #0
	bne	.L2352
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	ip, [r3, #-892]
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	ldr	lr, [r3, #3956]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-888]
	sub	r2, fp, #49152
	sub	r2, r2, #12
	add	r2, r2, #45056
	ldr	r2, [r2, #3960]
	sub	r1, fp, #73728
	sub	r1, r1, #12
	sub	r1, r1, #816
	sub	r0, fp, #49664
	sub	r0, r0, #12
	sub	r0, r0, #136
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	mov	r2, ip
	bl	carveholes
	b	.L2352
.L2350:
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3956]
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3960]
.L2352:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-704]
	cmp	r3, #0
	bne	.L2353
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #824
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #848
	mov	r1, r2
	mov	r0, r3
	bl	gettimeofday
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-816]
	cmp	r3, #0
	beq	.L2353
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-812]
	cmp	r3, #0
	bne	.L2353
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-848]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-856]
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r1, r3
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-844]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-852]
	sub	r3, r2, r3
	ldr	r2, .L2379+12
	smull	r0, r2, r3, r2
	asr	r2, r2, #6
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r1, r3
	mov	r1, r3
	ldr	r0, .L2379+24
	bl	printf
.L2353:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-808]
	cmp	r3, #0
	beq	.L2354
	sub	r3, fp, #49152
	sub	r3, r3, #12
	ldr	r3, [r3, #-608]
	cmp	r3, #0
	ble	.L2354
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #816
	sub	r3, fp, #49664
	sub	r3, r3, #12
	sub	r3, r3, #136
	mov	r1, r2
	mov	r0, r3
	bl	enforcequality
.L2354:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-704]
	cmp	r3, #0
	bne	.L2355
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #824
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #840
	mov	r1, r2
	mov	r0, r3
	bl	gettimeofday
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-808]
	cmp	r3, #0
	beq	.L2355
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-840]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-848]
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r1, r3
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-836]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-844]
	sub	r3, r2, r3
	ldr	r2, .L2379+12
	smull	r0, r2, r3, r2
	asr	r2, r2, #6
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r1, r3
	mov	r1, r3
	ldr	r0, .L2379+28
	bl	printf
.L2355:
	sub	r3, fp, #49152
	sub	r3, r3, #12
	ldr	r2, [r3, #-608]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r2, r3, r2
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	ldr	r3, [r3, #3984]
	add	r3, r2, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	str	r2, [r3, #3968]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-692]
	cmp	r3, #1
	ble	.L2356
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #816
	sub	r3, fp, #49664
	sub	r3, r3, #12
	sub	r3, r3, #136
	mov	r1, r2
	mov	r0, r3
	bl	highorder
.L2356:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-704]
	cmp	r3, #0
	bne	.L2357
	mov	r0, #10
	bl	putchar
.L2357:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-748]
	cmp	r3, #0
	bne	.L2358
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-740]
	cmp	r3, #0
	beq	.L2359
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	ldr	r3, [r3, #4020]
	cmp	r3, #0
	beq	.L2359
.L2358:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-704]
	cmp	r3, #0
	bne	.L2360
	ldr	r0, .L2379+32
	bl	puts
.L2360:
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #816
	sub	r3, fp, #49664
	sub	r3, r3, #12
	sub	r3, r3, #136
	mov	r1, r2
	mov	r0, r3
	bl	numbernodes
	b	.L2361
.L2359:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	mov	ip, r3
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	r2, r3, #8320
	add	r2, r2, #40
	sub	r1, fp, #73728
	sub	r1, r1, #12
	sub	r1, r1, #816
	sub	r0, fp, #49664
	sub	r0, r0, #12
	sub	r0, r0, #136
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-904]
	str	r3, [sp]
	ldr	r3, [ip, #-900]
	bl	writenodes
.L2361:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-744]
	cmp	r3, #0
	beq	.L2362
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-704]
	cmp	r3, #0
	bne	.L2363
	ldr	r0, .L2379+36
	bl	puts
	b	.L2363
.L2362:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	mov	ip, r3
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	r2, r3, #10368
	add	r2, r2, #40
	sub	r1, fp, #73728
	sub	r1, r1, #12
	sub	r1, r1, #816
	sub	r0, fp, #49664
	sub	r0, r0, #12
	sub	r0, r0, #136
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-904]
	str	r3, [sp]
	ldr	r3, [ip, #-900]
	bl	writeelements
.L2363:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-816]
	cmp	r3, #0
	bne	.L2364
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-788]
	cmp	r3, #0
	beq	.L2365
.L2364:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-752]
	cmp	r3, #0
	bne	.L2366
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-740]
	cmp	r3, #0
	beq	.L2367
.L2366:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-704]
	cmp	r3, #0
	bne	.L2365
	ldr	r0, .L2379+40
	bl	puts
	b	.L2365
.L2367:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r5, [r3, #-892]
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	ldr	ip, [r3, #3956]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	lr, [r3, #-888]
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	ldr	r4, [r3, #3960]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	r2, r3, #12416
	add	r2, r2, #40
	sub	r1, fp, #73728
	sub	r1, r1, #12
	sub	r1, r1, #816
	sub	r0, fp, #49664
	sub	r0, r0, #12
	sub	r0, r0, #136
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-904]
	str	r3, [sp, #16]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-900]
	str	r3, [sp, #12]
	str	r4, [sp, #8]
	str	lr, [sp, #4]
	str	ip, [sp]
	mov	r3, r5
	bl	writepoly
.L2365:
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	ldr	r3, [r3, #3960]
	cmp	r3, #0
	ble	.L2369
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-888]
	mov	r0, r3
	bl	trifree
.L2369:
	sub	r3, fp, #49152
	sub	r3, r3, #12
	add	r3, r3, #45056
	ldr	r3, [r3, #3956]
	cmp	r3, #0
	ble	.L2370
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-892]
	mov	r0, r3
	bl	trifree
.L2370:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-760]
	cmp	r3, #0
	beq	.L2371
	sub	r3, fp, #73728
	sub	r3, r3, #12
	mov	ip, r3
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	r2, r3, #22528
	add	r2, r2, #168
	sub	r1, fp, #73728
	sub	r1, r1, #12
	sub	r1, r1, #816
	sub	r0, fp, #49664
	sub	r0, r0, #12
	sub	r0, r0, #136
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-904]
	str	r3, [sp]
	ldr	r3, [ip, #-900]
	bl	writeoff
.L2371:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-772]
	cmp	r3, #0
	beq	.L2372
	sub	r3, fp, #73728
	sub	r3, r3, #12
	mov	ip, r3
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	r2, r3, #14464
	add	r2, r2, #40
	sub	r1, fp, #73728
	sub	r1, r1, #12
	sub	r1, r1, #816
	sub	r0, fp, #49664
	sub	r0, r0, #12
	sub	r0, r0, #136
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-904]
	str	r3, [sp]
	ldr	r3, [ip, #-900]
	bl	writeedges
.L2372:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-768]
	cmp	r3, #0
	beq	.L2373
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	ip, r3, #18432
	add	ip, ip, #168
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	r2, r3, #16384
	add	r2, r2, #168
	sub	r1, fp, #73728
	sub	r1, r1, #12
	sub	r1, r1, #816
	sub	r0, fp, #49664
	sub	r0, r0, #12
	sub	r0, r0, #136
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-904]
	str	r3, [sp, #4]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-900]
	str	r3, [sp]
	mov	r3, ip
	bl	writevoronoi
.L2373:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-764]
	cmp	r3, #0
	beq	.L2374
	sub	r3, fp, #73728
	sub	r3, r3, #12
	mov	ip, r3
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #816
	add	r2, r3, #20480
	add	r2, r2, #168
	sub	r1, fp, #73728
	sub	r1, r1, #12
	sub	r1, r1, #816
	sub	r0, fp, #49664
	sub	r0, r0, #12
	sub	r0, r0, #136
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-904]
	str	r3, [sp]
	ldr	r3, [ip, #-900]
	bl	writeneighbors
.L2374:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-704]
	cmp	r3, #0
	bne	.L2375
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #824
	sub	r3, fp, #73728
	sub	r3, r3, #12
	sub	r3, r3, #832
	mov	r1, r2
	mov	r0, r3
	bl	gettimeofday
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-832]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-840]
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r1, r3
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-828]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-836]
	sub	r3, r2, r3
	ldr	r2, .L2379+12
	smull	r0, r2, r3, r2
	asr	r2, r2, #6
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r1, r3
	mov	r1, r3
	ldr	r0, .L2379+44
	bl	printf
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-832]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-880]
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r1, r3
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r2, [r3, #-828]
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-876]
	sub	r3, r2, r3
	ldr	r2, .L2379+12
	smull	r0, r2, r3, r2
	asr	r2, r2, #6
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r1, r3
	mov	r1, r3
	ldr	r0, .L2379+48
	bl	printf
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #816
	sub	r3, fp, #49664
	sub	r3, r3, #12
	sub	r3, r3, #136
	mov	r1, r2
	mov	r0, r3
	bl	statistics
.L2375:
	sub	r3, fp, #73728
	sub	r3, r3, #12
	ldr	r3, [r3, #-708]
	cmp	r3, #0
	beq	.L2376
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #816
	sub	r3, fp, #49664
	sub	r3, r3, #12
	sub	r3, r3, #136
	mov	r1, r2
	mov	r0, r3
	bl	checkmesh
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #816
	sub	r3, fp, #49664
	sub	r3, r3, #12
	sub	r3, r3, #136
	mov	r1, r2
	mov	r0, r3
	bl	checkdelaunay
.L2376:
	sub	r2, fp, #73728
	sub	r2, r2, #12
	sub	r2, r2, #816
	sub	r3, fp, #49664
	sub	r3, r3, #12
	sub	r3, r3, #136
	mov	r1, r2
	mov	r0, r3
	bl	triangledeinit
	mov	r3, #0
	ldr	r2, .L2379
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2378
	bl	__stack_chk_fail
.L2378:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L2380:
	.align	2
.L2379:
	.word	.LC1188
	.word	.LC1177
	.word	.LC1178
	.word	274877907
	.word	.LC1179
	.word	.LC1180
	.word	.LC1181
	.word	.LC1182
	.word	.LC1183
	.word	.LC1184
	.word	.LC1185
	.word	.LC1186
	.word	.LC1187
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
