	.file	"extr_draw-path.c_fz_stroke_bezier.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	fz_stroke_bezier, @function
fz_stroke_bezier:
.LFB0:
	.cfi_startproc
	endbr64
	push	r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	movaps	xmm8, xmm0
	mov	r12, rdi
	push	rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	mov	rbp, rsi
	push	rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	mov	ebx, edx
	sub	rsp, 48
	.cfi_def_cfa_offset 80
	movss	DWORD PTR 12[rsp], xmm1
	movss	DWORD PTR 16[rsp], xmm2
	movss	DWORD PTR 20[rsp], xmm3
	movss	DWORD PTR 24[rsp], xmm4
	movss	DWORD PTR 28[rsp], xmm5
	movss	DWORD PTR 32[rsp], xmm6
	movss	DWORD PTR 36[rsp], xmm7
.L4:
	movaps	xmm0, xmm8
	subss	xmm0, DWORD PTR 16[rsp]
	movss	DWORD PTR 44[rsp], xmm8
	call	fz_abs@PLT
	movss	DWORD PTR 40[rsp], xmm0
	movss	xmm0, DWORD PTR 12[rsp]
	subss	xmm0, DWORD PTR 20[rsp]
	call	fz_abs@PLT
	movss	xmm2, DWORD PTR 40[rsp]
	movaps	xmm1, xmm0
	movaps	xmm0, xmm2
	call	fz_max@PLT
	movss	DWORD PTR 40[rsp], xmm0
	movss	xmm0, DWORD PTR 32[rsp]
	subss	xmm0, DWORD PTR 24[rsp]
	call	fz_abs@PLT
	movss	xmm2, DWORD PTR 40[rsp]
	movaps	xmm1, xmm0
	movaps	xmm0, xmm2
	call	fz_max@PLT
	movss	DWORD PTR 40[rsp], xmm0
	movss	xmm0, DWORD PTR 36[rsp]
	subss	xmm0, DWORD PTR 28[rsp]
	call	fz_abs@PLT
	movss	xmm2, DWORD PTR 40[rsp]
	movaps	xmm1, xmm0
	movaps	xmm0, xmm2
	call	fz_max@PLT
	movss	xmm1, DWORD PTR 0[rbp]
	comiss	xmm1, xmm0
	ja	.L2
	cmp	DWORD PTR MAX_DEPTH[rip], ebx
	movss	xmm8, DWORD PTR 44[rsp]
	jle	.L2
	movss	xmm4, DWORD PTR 16[rsp]
	movss	xmm11, DWORD PTR 12[rsp]
	add	ebx, 1
	mov	rsi, rbp
	movss	xmm5, DWORD PTR 20[rsp]
	movss	xmm6, DWORD PTR 24[rsp]
	mov	edx, ebx
	mov	rdi, r12
	movss	xmm7, DWORD PTR 28[rsp]
	movaps	xmm2, xmm4
	movaps	xmm3, xmm11
	addss	xmm2, xmm8
	addss	xmm3, xmm5
	addss	xmm4, xmm6
	addss	xmm5, xmm7
	addss	xmm6, DWORD PTR 32[rsp]
	addss	xmm7, DWORD PTR 36[rsp]
	movaps	xmm1, xmm4
	movaps	xmm0, xmm5
	movaps	xmm4, xmm2
	movaps	xmm5, xmm3
	addss	xmm4, xmm1
	addss	xmm1, xmm6
	addss	xmm5, xmm0
	addss	xmm0, xmm7
	movaps	xmm10, xmm6
	mulss	xmm3, DWORD PTR .LC0[rip]
	movaps	xmm9, xmm7
	mulss	xmm10, DWORD PTR .LC0[rip]
	movaps	xmm6, xmm4
	addss	xmm6, xmm1
	movaps	xmm7, xmm5
	mulss	xmm1, DWORD PTR .LC1[rip]
	addss	xmm7, xmm0
	mulss	xmm0, DWORD PTR .LC1[rip]
	mulss	xmm6, DWORD PTR .LC2[rip]
	mulss	xmm9, DWORD PTR .LC0[rip]
	movss	DWORD PTR 24[rsp], xmm10
	mulss	xmm7, DWORD PTR .LC2[rip]
	mulss	xmm5, DWORD PTR .LC1[rip]
	movss	DWORD PTR 16[rsp], xmm1
	movaps	xmm1, xmm11
	mulss	xmm4, DWORD PTR .LC1[rip]
	movss	DWORD PTR 20[rsp], xmm0
	movaps	xmm0, xmm8
	mulss	xmm2, DWORD PTR .LC0[rip]
	movss	DWORD PTR 40[rsp], xmm6
	movss	DWORD PTR 28[rsp], xmm9
	movss	DWORD PTR 12[rsp], xmm7
	call	fz_stroke_bezier
	movss	xmm6, DWORD PTR 40[rsp]
	movaps	xmm8, xmm6
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L2:
	movss	xmm1, DWORD PTR 36[rsp]
	movss	xmm0, DWORD PTR 32[rsp]
	add	rsp, 48
	.cfi_def_cfa_offset 32
	mov	rsi, rbp
	pop	rbx
	.cfi_def_cfa_offset 24
	mov	rdi, r12
	pop	rbp
	.cfi_def_cfa_offset 16
	mov	edx, 1
	pop	r12
	.cfi_def_cfa_offset 8
	jmp	fz_stroke_lineto@PLT
	.cfi_endproc
.LFE0:
	.size	fz_stroke_bezier, .-fz_stroke_bezier
	.comm	MAX_DEPTH,4,4
	.section	.rodata.cst4,"aM",@progbits,4
	.align 4
.LC0:
	.long	1056964608
	.align 4
.LC1:
	.long	1048576000
	.align 4
.LC2:
	.long	1040187392
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.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, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_draw-path.c_fz_stroke_bezier.c"
	.text
	.global	__aeabi_fsub
	.global	__aeabi_fcmpgt
	.global	__aeabi_fadd
	.global	__aeabi_fmul
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fz_stroke_bezier, %function
fz_stroke_bezier:
	@ args = 28, pretend = 0, frame = 40
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	sub	sp, sp, #76
	str	r3, [sp, #40]	@ float
	ldr	r3, [sp, #128]	@ float
	ldr	r7, [sp, #112]	@ float
	str	r3, [sp, #52]	@ float
	ldr	r3, [sp, #132]	@ float
	ldr	r6, [sp, #116]	@ float
	str	r3, [sp, #56]	@ float
	ldr	r3, [sp, #136]
	ldr	r5, [sp, #120]	@ float
	ldr	r4, [sp, #124]	@ float
	str	r0, [sp, #68]
	str	r1, [sp, #48]
	str	r2, [sp, #36]	@ float
	str	r3, [sp, #44]
.L4:
	mov	r1, r7
	ldr	r0, [sp, #36]	@ float
	bl	__aeabi_fsub
	bl	fz_abs
	mov	r1, r6
	mov	r8, r0
	ldr	r0, [sp, #40]	@ float
	bl	__aeabi_fsub
	bl	fz_abs
	mov	r1, r0
	mov	r0, r8
	bl	fz_max
	mov	r1, r5
	mov	r8, r0
	ldr	r0, [sp, #52]	@ float
	bl	__aeabi_fsub
	bl	fz_abs
	mov	r1, r0
	mov	r0, r8
	bl	fz_max
	mov	r1, r4
	mov	r8, r0
	ldr	r0, [sp, #56]	@ float
	bl	__aeabi_fsub
	bl	fz_abs
	mov	r1, r0
	mov	r0, r8
	bl	fz_max
	ldr	r3, [sp, #48]
	mov	r1, r0
	ldr	r0, [r3]	@ float
	bl	__aeabi_fcmpgt
	cmp	r0, #0
	bne	.L2
	ldr	r3, .L7
	ldr	r2, [sp, #44]
	ldr	r3, [r3]
	cmp	r3, r2
	ble	.L2
	mov	r1, r7
	ldr	r0, [sp, #36]	@ float
	bl	__aeabi_fadd
	mov	r1, r6
	mov	r10, r0
	ldr	r0, [sp, #40]	@ float
	bl	__aeabi_fadd
	mov	r1, r5
	mov	fp, r0
	mov	r0, r7
	bl	__aeabi_fadd
	mov	r1, r4
	mov	r7, r0
	mov	r0, r6
	bl	__aeabi_fadd
	ldr	r1, [sp, #52]	@ float
	mov	r6, r0
	mov	r0, r5
	bl	__aeabi_fadd
	ldr	r1, [sp, #56]	@ float
	mov	r5, r0
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r1, r7
	mov	r4, r0
	mov	r0, r10
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r6
	mov	r0, fp
	str	r3, [sp, #64]
	bl	__aeabi_fadd
	mov	r2, r0
	mov	r1, r5
	mov	r0, r7
	str	r2, [sp, #60]
	bl	__aeabi_fadd
	mov	r1, r4
	mov	r7, r0
	mov	r0, r6
	bl	__aeabi_fadd
	ldr	r3, [sp, #64]
	mov	r6, r0
	mov	r1, r7
	mov	r0, r3
	bl	__aeabi_fadd
	ldr	r2, [sp, #60]
	mov	r8, r0
	mov	r1, r6
	mov	r0, r2
	bl	__aeabi_fadd
	mov	r1, #1056964608
	mov	r9, r0
	mov	r0, r5
	bl	__aeabi_fmul
	mov	r1, #1056964608
	mov	r5, r0
	mov	r0, r4
	bl	__aeabi_fmul
	mov	r1, #1048576000
	mov	r4, r0
	mov	r0, r7
	bl	__aeabi_fmul
	mov	r1, #1048576000
	mov	r7, r0
	mov	r0, r6
	bl	__aeabi_fmul
	mov	r1, #1040187392
	mov	r6, r0
	mov	r0, r8
	bl	__aeabi_fmul
	mov	r1, #1040187392
	mov	r8, r0
	mov	r0, r9
	bl	__aeabi_fmul
	mov	r9, r0
	ldr	r1, [sp, #44]
	ldr	r2, [sp, #60]
	add	ip, r1, #1
	mov	r0, r2
	mov	r1, #1048576000
	str	ip, [sp, #44]
	str	ip, [sp, #24]
	str	r8, [sp, #16]	@ float
	str	r9, [sp, #20]	@ float
	bl	__aeabi_fmul
	mov	r2, r0
	ldr	r3, [sp, #64]
	mov	r1, #1048576000
	mov	r0, r3
	str	r2, [sp, #12]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, #1056964608
	mov	r0, fp
	str	r3, [sp, #8]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, #1056964608
	mov	r0, r10
	str	r3, [sp, #4]	@ float
	bl	__aeabi_fmul
	ldr	r3, [sp, #40]	@ float
	str	r0, [sp]	@ float
	ldr	r2, [sp, #36]	@ float
	ldr	r1, [sp, #48]
	ldr	r0, [sp, #68]
	str	r9, [sp, #40]	@ float
	str	r8, [sp, #36]	@ float
	bl	fz_stroke_bezier
	b	.L4
.L2:
	mov	ip, #1
	ldr	r3, [sp, #56]	@ float
	ldr	r2, [sp, #52]	@ float
	ldr	r1, [sp, #48]
	ldr	r0, [sp, #68]
	str	ip, [sp, #112]
	add	sp, sp, #76
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	b	fz_stroke_lineto
.L8:
	.align	2
.L7:
	.word	MAX_DEPTH
	.size	fz_stroke_bezier, .-fz_stroke_bezier
	.comm	MAX_DEPTH,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
