xref: /llvm-project/bolt/test/X86/cfi-instrs-reordered.s (revision 11791ae7b0b05b8bd8d806331ff51da618912cf8)
1*11791ae7SSayhaan Siddiqui## Check that llvm-bolt is able to read a file with DWARF Exception CFI
2*11791ae7SSayhaan Siddiqui## information and fix CFI information after reordering.
38331f75eSAmir Ayupov
48331f75eSAmir Ayupov# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
58331f75eSAmir Ayupov# RUN: llvm-strip --strip-unneeded %t.o
68331f75eSAmir Ayupov# RUN: %clangxx %cflags %t.o -o %t.exe
7d648aa1bSMaksim Panchenko# RUN: llvm-bolt %t.exe -o %t --reorder-blocks=cache --print-after-lowering \
8d648aa1bSMaksim Panchenko# RUN:   --print-only=_Z10SolveCubicddddPiPd 2>&1 | FileCheck %s
98331f75eSAmir Ayupov#
108331f75eSAmir Ayupov# Entry BB
118331f75eSAmir Ayupov# CHECK:      divsd   %xmm0, %xmm1
128331f75eSAmir Ayupov# CHECK:      pushq   %rbx
138331f75eSAmir Ayupov# CHECK:      !CFI    $0      ; OpDefCfaOffset
148331f75eSAmir Ayupov# CHECK:      !CFI    $1      ; OpOffset
158331f75eSAmir Ayupov# CHECK:      movq    %rsi, %rbx
168331f75eSAmir Ayupov# CHECK:      subq    $0x70, %rsp
178331f75eSAmir Ayupov# CHECK:      !CFI    $2      ; OpDefCfaOffset
188331f75eSAmir Ayupov# CHECK:      divsd   %xmm0, %xmm2
198331f75eSAmir Ayupov# Duplicated tail
208331f75eSAmir Ayupov# CHECK:      addq    $0x70, %rsp
218331f75eSAmir Ayupov# CHECK:      !CFI    $3      ; OpDefCfaOffset
228331f75eSAmir Ayupov# CHECK:      popq    %rbx
238331f75eSAmir Ayupov# CHECK:      !CFI    $4      ; OpDefCfaOffset
248331f75eSAmir Ayupov# CHECK:      retq
258331f75eSAmir Ayupov# CHECK:      !CFI    {{.*}}  ; OpDefCfa
268331f75eSAmir Ayupov# Epilogue rescheduled to the middle of the function
278331f75eSAmir Ayupov# CHECK:      addq    $0x70, %rsp
288331f75eSAmir Ayupov# CHECK:      !CFI    $6      ; OpDefCfaOffset
298331f75eSAmir Ayupov# CHECK:      popq    %rbx
308331f75eSAmir Ayupov# CHECK:      !CFI    $7      ; OpDefCfaOffset
318331f75eSAmir Ayupov# CHECK:      retq
328331f75eSAmir Ayupov# CHECK:      !CFI    {{.*}}  ; OpDefCfa
338331f75eSAmir Ayupov
348331f75eSAmir Ayupov	.text
358331f75eSAmir Ayupov  .globl main
368331f75eSAmir Ayupov  .type main, %function
378331f75eSAmir Ayupovmain:
388331f75eSAmir Ayupov# FDATA: 0 [unknown] 0 1 main 0 0 0
398331f75eSAmir Ayupov	.cfi_startproc
408331f75eSAmir AyupovLBB00:
418331f75eSAmir Ayupov	pushq	%r15
428331f75eSAmir Ayupov	.cfi_def_cfa_offset 16
438331f75eSAmir Ayupov	.cfi_offset %r15, -16
448331f75eSAmir Ayupov	movl	$0x401520, %edi
458331f75eSAmir Ayupov	pushq	%r14
468331f75eSAmir Ayupov	.cfi_def_cfa_offset 24
478331f75eSAmir Ayupov	.cfi_offset %r14, -24
488331f75eSAmir Ayupov	pushq	%r13
498331f75eSAmir Ayupov	.cfi_def_cfa_offset 32
508331f75eSAmir Ayupov	.cfi_offset %r13, -32
518331f75eSAmir Ayupov	pushq	%r12
528331f75eSAmir Ayupov	.cfi_def_cfa_offset 40
538331f75eSAmir Ayupov	.cfi_offset %r12, -40
548331f75eSAmir Ayupov	xorl	%r12d, %r12d
558331f75eSAmir Ayupov	pushq	%rbp
568331f75eSAmir Ayupov	.cfi_def_cfa_offset 48
578331f75eSAmir Ayupov	.cfi_offset %rbp, -48
588331f75eSAmir Ayupov	pushq	%rbx
598331f75eSAmir Ayupov	.cfi_def_cfa_offset 56
608331f75eSAmir Ayupov	.cfi_offset %rbx, -56
618331f75eSAmir Ayupov	subq	$0x98, %rsp
628331f75eSAmir Ayupov	.cfi_def_cfa_offset 208
638331f75eSAmir Ayupov	leaq	0x60(%rsp), %rbx
648331f75eSAmir Ayupov	leaq	0x8c(%rsp), %rbp
658331f75eSAmir Ayupov	callq	puts@PLT
668331f75eSAmir Ayupov	movsd	DATAat0x401640(%rip), %xmm3
678331f75eSAmir Ayupov	movq	%rbx, %rsi
688331f75eSAmir Ayupov	movsd	DATAat0x401648(%rip), %xmm2
698331f75eSAmir Ayupov	movq	%rbp, %rdi
708331f75eSAmir Ayupov	movsd	DATAat0x401650(%rip), %xmm1
718331f75eSAmir Ayupov	movq	%rbx, %r13
728331f75eSAmir Ayupov	movsd	DATAat0x401658(%rip), %xmm0
738331f75eSAmir Ayupov	callq	_Z10SolveCubicddddPiPd
748331f75eSAmir Ayupov	movl	$0x4015d8, %edi
758331f75eSAmir Ayupov	xorl	%eax, %eax
768331f75eSAmir Ayupov	callq	printf@PLT
778331f75eSAmir AyupovLBB00_br: 	jmp	Ltmp0
788331f75eSAmir Ayupov# FDATA: 1 main #LBB00_br# 1 main #Ltmp0# 0 0
798331f75eSAmir Ayupov
808331f75eSAmir AyupovLtmp1:
818331f75eSAmir Ayupov	movsd	(%r13), %xmm0
828331f75eSAmir Ayupov	movl	$0x4015e3, %edi
838331f75eSAmir Ayupov	movl	$0x1, %eax
848331f75eSAmir Ayupov	addl	$0x1, %r12d
858331f75eSAmir Ayupov	addq	$0x8, %r13
868331f75eSAmir AyupovLtmp1_br: 	callq	printf@PLT
878331f75eSAmir Ayupov# FDATA: 1 main #Ltmp1_br# 1 main #Ltmp0# 0 0
888331f75eSAmir Ayupov
898331f75eSAmir AyupovLtmp0:
908331f75eSAmir Ayupov	cmpl	0x8c(%rsp), %r12d
918331f75eSAmir AyupovLtmp0_br: 	jl	Ltmp1
928331f75eSAmir Ayupov# FDATA: 1 main #Ltmp0_br# 1 main #Ltmp1# 0 0
938331f75eSAmir Ayupov# FDATA: 1 main #Ltmp0_br# 1 main #LFT2# 0 0
948331f75eSAmir Ayupov
958331f75eSAmir AyupovLFT2:
968331f75eSAmir Ayupov	movl	$0xa, %edi
978331f75eSAmir Ayupov	movq	%rbx, %r13
988331f75eSAmir Ayupov	xorl	%r12d, %r12d
998331f75eSAmir Ayupov	callq	putchar@PLT
1008331f75eSAmir Ayupov	movsd	DATAat0x401640(%rip), %xmm3
1018331f75eSAmir Ayupov	movq	%rbx, %rsi
1028331f75eSAmir Ayupov	movsd	DATAat0x401660(%rip), %xmm2
1038331f75eSAmir Ayupov	movq	%rbp, %rdi
1048331f75eSAmir Ayupov	movsd	DATAat0x401668(%rip), %xmm1
1058331f75eSAmir Ayupov	movsd	DATAat0x401658(%rip), %xmm0
1068331f75eSAmir Ayupov	callq	_Z10SolveCubicddddPiPd
1078331f75eSAmir Ayupov	movl	$0x4015d8, %edi
1088331f75eSAmir Ayupov	xorl	%eax, %eax
1098331f75eSAmir Ayupov	callq	printf@PLT
1108331f75eSAmir AyupovLFT2_br: 	jmp	Ltmp2
1118331f75eSAmir Ayupov# FDATA: 1 main #LFT2_br# 1 main #Ltmp2# 0 0
1128331f75eSAmir Ayupov
1138331f75eSAmir AyupovLtmp3:
1148331f75eSAmir Ayupov	movsd	(%r13), %xmm0
1158331f75eSAmir Ayupov	movl	$0x4015e3, %edi
1168331f75eSAmir Ayupov	movl	$0x1, %eax
1178331f75eSAmir Ayupov	addl	$0x1, %r12d
1188331f75eSAmir Ayupov	addq	$0x8, %r13
1198331f75eSAmir AyupovLtmp3_br: 	callq	printf@PLT
1208331f75eSAmir Ayupov# FDATA: 1 main #Ltmp3_br# 1 main #Ltmp2# 0 0
1218331f75eSAmir Ayupov
1228331f75eSAmir AyupovLtmp2:
1238331f75eSAmir Ayupov	cmpl	0x8c(%rsp), %r12d
1248331f75eSAmir AyupovLtmp2_br: 	jl	Ltmp3
1258331f75eSAmir Ayupov# FDATA: 1 main #Ltmp2_br# 1 main #Ltmp3# 0 0
1268331f75eSAmir Ayupov# FDATA: 1 main #Ltmp2_br# 1 main #LFT4# 0 0
1278331f75eSAmir Ayupov
1288331f75eSAmir AyupovLFT4:
1298331f75eSAmir Ayupov	movl	$0xa, %edi
1308331f75eSAmir Ayupov	callq	putchar@PLT
1318331f75eSAmir Ayupov	movsd	DATAat0x401670(%rip), %xmm3
1328331f75eSAmir Ayupov	movq	%rbx, %rsi
1338331f75eSAmir Ayupov	movsd	DATAat0x401678(%rip), %xmm2
1348331f75eSAmir Ayupov	movq	%rbp, %rdi
1358331f75eSAmir Ayupov	movsd	DATAat0x401680(%rip), %xmm1
1368331f75eSAmir Ayupov	movsd	DATAat0x401658(%rip), %xmm0
1378331f75eSAmir Ayupov	callq	_Z10SolveCubicddddPiPd
1388331f75eSAmir Ayupov	movl	$0x4015d8, %edi
1398331f75eSAmir Ayupov	xorl	%eax, %eax
1408331f75eSAmir Ayupov	callq	printf@PLT
1418331f75eSAmir Ayupov	movq	%rbx, %r12
1428331f75eSAmir Ayupov	xorl	%r13d, %r13d
1438331f75eSAmir AyupovLFT4_br: 	jmp	Ltmp4
1448331f75eSAmir Ayupov# FDATA: 1 main #LFT4_br# 1 main #Ltmp4# 0 0
1458331f75eSAmir Ayupov
1468331f75eSAmir AyupovLtmp5:
1478331f75eSAmir Ayupov	movsd	(%r12), %xmm0
1488331f75eSAmir Ayupov	movl	$0x4015e3, %edi
1498331f75eSAmir Ayupov	movl	$0x1, %eax
1508331f75eSAmir Ayupov	callq	printf@PLT
1518331f75eSAmir Ayupov	addl	$0x1, %r13d
1528331f75eSAmir AyupovLtmp5_br: 	addq	$0x8, %r12
1538331f75eSAmir Ayupov# FDATA: 1 main #Ltmp5_br# 1 main #Ltmp4# 0 0
1548331f75eSAmir Ayupov
1558331f75eSAmir AyupovLtmp4:
1568331f75eSAmir Ayupov	cmpl	0x8c(%rsp), %r13d
1578331f75eSAmir AyupovLtmp4_br: 	jl	Ltmp5
1588331f75eSAmir Ayupov# FDATA: 1 main #Ltmp4_br# 1 main #Ltmp5# 0 0
1598331f75eSAmir Ayupov# FDATA: 1 main #Ltmp4_br# 1 main #LFT6# 0 0
1608331f75eSAmir Ayupov
1618331f75eSAmir AyupovLFT6:
1628331f75eSAmir Ayupov	movl	$0xa, %edi
1638331f75eSAmir AyupovLFT6_br: 	callq	putchar@PLT
1648331f75eSAmir Ayupov# FDATA: 1 main #LFT6_br# 1 main #Ltmp27# 0 0
1658331f75eSAmir Ayupov
1668331f75eSAmir AyupovLtmp27:
1678331f75eSAmir Ayupov	movsd	DATAat0x401658(%rip), %xmm2
1688331f75eSAmir Ayupov	movq	%rbx, %rsi
1698331f75eSAmir Ayupov	movsd	DATAat0x401688(%rip), %xmm3
1708331f75eSAmir Ayupov	movq	%rbp, %rdi
1718331f75eSAmir Ayupov	movsd	DATAat0x401690(%rip), %xmm1
1728331f75eSAmir Ayupov	movq	%rbx, %r13
1738331f75eSAmir Ayupov	movapd	%xmm2, %xmm0
1748331f75eSAmir Ayupov	xorl	%r12d, %r12d
1758331f75eSAmir Ayupov	callq	_Z10SolveCubicddddPiPd
1768331f75eSAmir Ayupov	movl	$0x4015d8, %edi
1778331f75eSAmir Ayupov	xorl	%eax, %eax
1788331f75eSAmir Ayupov	callq	printf@PLT
1798331f75eSAmir AyupovLtmp27_br: 	jmp	Ltmp6
1808331f75eSAmir Ayupov# FDATA: 1 main #Ltmp27_br# 1 main #Ltmp6# 0 0
1818331f75eSAmir Ayupov
1828331f75eSAmir AyupovLtmp7:
1838331f75eSAmir Ayupov	movsd	(%r13), %xmm0
1848331f75eSAmir Ayupov	movl	$0x4015e3, %edi
1858331f75eSAmir Ayupov	movl	$0x1, %eax
1868331f75eSAmir Ayupov	addl	$0x1, %r12d
1878331f75eSAmir Ayupov	addq	$0x8, %r13
1888331f75eSAmir AyupovLtmp7_br: 	callq	printf@PLT
1898331f75eSAmir Ayupov# FDATA: 1 main #Ltmp7_br# 1 main #Ltmp6# 0 0
1908331f75eSAmir Ayupov
1918331f75eSAmir AyupovLtmp6:
1928331f75eSAmir Ayupov	cmpl	0x8c(%rsp), %r12d
1938331f75eSAmir AyupovLtmp6_br: 	jl	Ltmp7
1948331f75eSAmir Ayupov# FDATA: 1 main #Ltmp6_br# 1 main #Ltmp7# 0 0
1958331f75eSAmir Ayupov# FDATA: 1 main #Ltmp6_br# 1 main #LFT9# 0 0
1968331f75eSAmir Ayupov
1978331f75eSAmir AyupovLFT9:
1988331f75eSAmir Ayupov	movl	$0xa, %edi
1998331f75eSAmir Ayupov	movq	%rbx, %r13
2008331f75eSAmir Ayupov	xorl	%r12d, %r12d
2018331f75eSAmir Ayupov	callq	putchar@PLT
2028331f75eSAmir Ayupov	movsd	DATAat0x401698(%rip), %xmm3
2038331f75eSAmir Ayupov	movq	%rbx, %rsi
2048331f75eSAmir Ayupov	movsd	DATAat0x4016a0(%rip), %xmm2
2058331f75eSAmir Ayupov	movq	%rbp, %rdi
2068331f75eSAmir Ayupov	movsd	DATAat0x4016a8(%rip), %xmm1
2078331f75eSAmir Ayupov	movsd	DATAat0x4016b0(%rip), %xmm0
2088331f75eSAmir Ayupov	callq	_Z10SolveCubicddddPiPd
2098331f75eSAmir Ayupov	movl	$0x4015d8, %edi
2108331f75eSAmir Ayupov	xorl	%eax, %eax
2118331f75eSAmir Ayupov	callq	printf@PLT
2128331f75eSAmir AyupovLFT9_br: 	jmp	Ltmp8
2138331f75eSAmir Ayupov# FDATA: 1 main #LFT9_br# 1 main #Ltmp8# 0 0
2148331f75eSAmir Ayupov
2158331f75eSAmir AyupovLtmp9:
2168331f75eSAmir Ayupov	movsd	(%r13), %xmm0
2178331f75eSAmir Ayupov	movl	$0x4015e3, %edi
2188331f75eSAmir Ayupov	movl	$0x1, %eax
2198331f75eSAmir Ayupov	addl	$0x1, %r12d
2208331f75eSAmir Ayupov	addq	$0x8, %r13
2218331f75eSAmir AyupovLtmp9_br: 	callq	printf@PLT
2228331f75eSAmir Ayupov# FDATA: 1 main #Ltmp9_br# 1 main #Ltmp8# 0 0
2238331f75eSAmir Ayupov
2248331f75eSAmir AyupovLtmp8:
2258331f75eSAmir Ayupov	cmpl	0x8c(%rsp), %r12d
2268331f75eSAmir AyupovLtmp8_br: 	jl	Ltmp9
2278331f75eSAmir Ayupov# FDATA: 1 main #Ltmp8_br# 1 main #Ltmp9# 0 0
2288331f75eSAmir Ayupov# FDATA: 1 main #Ltmp8_br# 1 main #LFT11# 0 0
2298331f75eSAmir Ayupov
2308331f75eSAmir AyupovLFT11:
2318331f75eSAmir Ayupov	movl	$0xa, %edi
2328331f75eSAmir Ayupov	movq	%rbx, %r13
2338331f75eSAmir Ayupov	xorl	%r12d, %r12d
2348331f75eSAmir Ayupov	callq	putchar@PLT
2358331f75eSAmir Ayupov	movsd	DATAat0x4016b8(%rip), %xmm3
2368331f75eSAmir Ayupov	movq	%rbx, %rsi
2378331f75eSAmir Ayupov	movsd	DATAat0x4016c0(%rip), %xmm2
2388331f75eSAmir Ayupov	movq	%rbp, %rdi
2398331f75eSAmir Ayupov	movsd	DATAat0x4016c8(%rip), %xmm1
2408331f75eSAmir Ayupov	movsd	DATAat0x4016d0(%rip), %xmm0
2418331f75eSAmir Ayupov	callq	_Z10SolveCubicddddPiPd
2428331f75eSAmir Ayupov	movl	$0x4015d8, %edi
2438331f75eSAmir Ayupov	xorl	%eax, %eax
2448331f75eSAmir Ayupov	callq	printf@PLT
2458331f75eSAmir AyupovLFT11_br: 	jmp	Ltmp10
2468331f75eSAmir Ayupov# FDATA: 1 main #LFT11_br# 1 main #Ltmp10# 0 0
2478331f75eSAmir Ayupov
2488331f75eSAmir AyupovLtmp11:
2498331f75eSAmir Ayupov	movsd	(%r13), %xmm0
2508331f75eSAmir Ayupov	movl	$0x4015e3, %edi
2518331f75eSAmir Ayupov	movl	$0x1, %eax
2528331f75eSAmir Ayupov	addl	$0x1, %r12d
2538331f75eSAmir Ayupov	addq	$0x8, %r13
2548331f75eSAmir AyupovLtmp11_br: 	callq	printf@PLT
2558331f75eSAmir Ayupov# FDATA: 1 main #Ltmp11_br# 1 main #Ltmp10# 0 0
2568331f75eSAmir Ayupov
2578331f75eSAmir AyupovLtmp10:
2588331f75eSAmir Ayupov	cmpl	0x8c(%rsp), %r12d
2598331f75eSAmir AyupovLtmp10_br: 	jl	Ltmp11
2608331f75eSAmir Ayupov# FDATA: 1 main #Ltmp10_br# 1 main #Ltmp11# 0 0
2618331f75eSAmir Ayupov# FDATA: 1 main #Ltmp10_br# 1 main #LFT13# 0 0
2628331f75eSAmir Ayupov
2638331f75eSAmir AyupovLFT13:
2648331f75eSAmir Ayupov	movl	$0xa, %edi
2658331f75eSAmir Ayupov	callq	putchar@PLT
2668331f75eSAmir Ayupov	movsd	DATAat0x4016d8(%rip), %xmm3
2678331f75eSAmir Ayupov	movq	%rbx, %rsi
2688331f75eSAmir Ayupov	movsd	DATAat0x4016e0(%rip), %xmm2
2698331f75eSAmir Ayupov	movq	%rbp, %rdi
2708331f75eSAmir Ayupov	movsd	DATAat0x4016e8(%rip), %xmm1
2718331f75eSAmir Ayupov	movsd	DATAat0x4016f0(%rip), %xmm0
2728331f75eSAmir Ayupov	callq	_Z10SolveCubicddddPiPd
2738331f75eSAmir Ayupov	movl	$0x4015d8, %edi
2748331f75eSAmir Ayupov	xorl	%eax, %eax
2758331f75eSAmir Ayupov	callq	printf@PLT
2768331f75eSAmir Ayupov	movq	%rbx, %r12
2778331f75eSAmir Ayupov	xorl	%r13d, %r13d
2788331f75eSAmir AyupovLFT13_br: 	jmp	Ltmp12
2798331f75eSAmir Ayupov# FDATA: 1 main #LFT13_br# 1 main #Ltmp12# 0 0
2808331f75eSAmir Ayupov
2818331f75eSAmir AyupovLtmp13:
2828331f75eSAmir Ayupov	movsd	(%r12), %xmm0
2838331f75eSAmir Ayupov	movl	$0x4015e3, %edi
2848331f75eSAmir Ayupov	movl	$0x1, %eax
2858331f75eSAmir Ayupov	callq	printf@PLT
2868331f75eSAmir Ayupov	addl	$0x1, %r13d
2878331f75eSAmir AyupovLtmp13_br: 	addq	$0x8, %r12
2888331f75eSAmir Ayupov# FDATA: 1 main #Ltmp13_br# 1 main #Ltmp12# 0 0
2898331f75eSAmir Ayupov
2908331f75eSAmir AyupovLtmp12:
2918331f75eSAmir Ayupov	cmpl	0x8c(%rsp), %r13d
2928331f75eSAmir AyupovLtmp12_br: 	jl	Ltmp13
2938331f75eSAmir Ayupov# FDATA: 1 main #Ltmp12_br# 1 main #Ltmp13# 0 0
2948331f75eSAmir Ayupov# FDATA: 1 main #Ltmp12_br# 1 main #LFT15# 0 0
2958331f75eSAmir Ayupov
2968331f75eSAmir AyupovLFT15:
2978331f75eSAmir Ayupov	movl	$0xa, %edi
2988331f75eSAmir AyupovLFT15_br: 	callq	putchar@PLT
2998331f75eSAmir Ayupov# FDATA: 1 main #LFT15_br# 1 main #Ltmp29# 0 0
3008331f75eSAmir Ayupov
3018331f75eSAmir AyupovLtmp29:
3028331f75eSAmir Ayupov	movsd	DATAat0x4016f8(%rip), %xmm3
3038331f75eSAmir Ayupov	movq	%rbx, %rsi
3048331f75eSAmir Ayupov	movsd	DATAat0x401700(%rip), %xmm2
3058331f75eSAmir Ayupov	movq	%rbp, %rdi
3068331f75eSAmir Ayupov	movsd	DATAat0x401708(%rip), %xmm1
3078331f75eSAmir Ayupov	movq	%rbx, %r13
3088331f75eSAmir Ayupov	movsd	DATAat0x401710(%rip), %xmm0
3098331f75eSAmir Ayupov	xorl	%r12d, %r12d
3108331f75eSAmir Ayupov	callq	_Z10SolveCubicddddPiPd
3118331f75eSAmir Ayupov	movl	$0x4015d8, %edi
3128331f75eSAmir Ayupov	xorl	%eax, %eax
3138331f75eSAmir Ayupov	callq	printf@PLT
3148331f75eSAmir AyupovLtmp29_br: 	jmp	Ltmp14
3158331f75eSAmir Ayupov# FDATA: 1 main #Ltmp29_br# 1 main #Ltmp14# 0 0
3168331f75eSAmir Ayupov
3178331f75eSAmir AyupovLtmp15:
3188331f75eSAmir Ayupov	movsd	(%r13), %xmm0
3198331f75eSAmir Ayupov	movl	$0x4015e3, %edi
3208331f75eSAmir Ayupov	movl	$0x1, %eax
3218331f75eSAmir Ayupov	addl	$0x1, %r12d
3228331f75eSAmir Ayupov	addq	$0x8, %r13
3238331f75eSAmir AyupovLtmp15_br: 	callq	printf@PLT
3248331f75eSAmir Ayupov# FDATA: 1 main #Ltmp15_br# 1 main #Ltmp14# 0 0
3258331f75eSAmir Ayupov
3268331f75eSAmir AyupovLtmp14:
3278331f75eSAmir Ayupov	cmpl	0x8c(%rsp), %r12d
3288331f75eSAmir AyupovLtmp14_br: 	jl	Ltmp15
3298331f75eSAmir Ayupov# FDATA: 1 main #Ltmp14_br# 1 main #Ltmp15# 0 0
3308331f75eSAmir Ayupov# FDATA: 1 main #Ltmp14_br# 1 main #LFT16# 0 0
3318331f75eSAmir Ayupov
3328331f75eSAmir AyupovLFT16:
3338331f75eSAmir Ayupov	movl	$0xa, %edi
3348331f75eSAmir Ayupov	movabsq	$-0x4010000000000000, %r14
3358331f75eSAmir Ayupov	callq	putchar@PLT
3368331f75eSAmir Ayupov	movabsq	$0x3ff0000000000000, %rsi
3378331f75eSAmir Ayupov	movl	$0x0, 0x5c(%rsp)
3388331f75eSAmir AyupovLFT16_br: 	movq	%rsi, 0x50(%rsp)
3398331f75eSAmir Ayupov# FDATA: 1 main #LFT16_br# 1 main #Ltmp21# 0 0
3408331f75eSAmir Ayupov
3418331f75eSAmir AyupovLtmp21:
3428331f75eSAmir Ayupov	movabsq	$0x4024000000000000, %rax
3438331f75eSAmir Ayupov	xorl	%r15d, %r15d
3448331f75eSAmir AyupovLtmp21_br: 	movq	%rax, 0x48(%rsp)
3458331f75eSAmir Ayupov# FDATA: 1 main #Ltmp21_br# 1 main #Ltmp20# 0 0
3468331f75eSAmir Ayupov
3478331f75eSAmir AyupovLtmp20:
3488331f75eSAmir Ayupov	movabsq	$0x4014000000000000, %rdx
3498331f75eSAmir Ayupov	xorl	%r13d, %r13d
3508331f75eSAmir AyupovLtmp20_br: 	movq	%rdx, 0x40(%rsp)
3518331f75eSAmir Ayupov# FDATA: 1 main #Ltmp20_br# 1 main #Ltmp19# 0 0
3528331f75eSAmir Ayupov
3538331f75eSAmir AyupovLtmp19:
3548331f75eSAmir Ayupov	xorl	%r12d, %r12d
3558331f75eSAmir AyupovLtmp19_br: 	movq	%r14, 0x38(%rsp)
3568331f75eSAmir Ayupov# FDATA: 1 main #Ltmp19_br# 1 main #Ltmp18# 0 0
3578331f75eSAmir Ayupov
3588331f75eSAmir AyupovLtmp18:
3598331f75eSAmir Ayupov	movsd	0x38(%rsp), %xmm3
3608331f75eSAmir Ayupov	movq	%rbx, %rsi
3618331f75eSAmir Ayupov	movsd	0x40(%rsp), %xmm2
3628331f75eSAmir Ayupov	movq	%rbp, %rdi
3638331f75eSAmir Ayupov	movsd	0x48(%rsp), %xmm1
3648331f75eSAmir Ayupov	movsd	0x50(%rsp), %xmm0
3658331f75eSAmir Ayupov	callq	_Z10SolveCubicddddPiPd
3668331f75eSAmir Ayupov	xorl	%eax, %eax
3678331f75eSAmir Ayupov	movl	$0x4015d8, %edi
3688331f75eSAmir Ayupov	callq	printf@PLT
3698331f75eSAmir Ayupov	movl	0x8c(%rsp), %ecx
3708331f75eSAmir Ayupov	testl	%ecx, %ecx
3718331f75eSAmir AyupovLtmp18_br: 	jle	Ltmp16
3728331f75eSAmir Ayupov# FDATA: 1 main #Ltmp18_br# 1 main #Ltmp16# 0 0
3738331f75eSAmir Ayupov# FDATA: 1 main #Ltmp18_br# 1 main #LFT17# 0 0
3748331f75eSAmir Ayupov
3758331f75eSAmir AyupovLFT17:
3768331f75eSAmir Ayupov	movq	%rbx, %rcx
3778331f75eSAmir AyupovLFT17_br: 	xorl	%edx, %edx
3788331f75eSAmir Ayupov# FDATA: 1 main #LFT17_br# 1 main #Ltmp17# 0 0
3798331f75eSAmir Ayupov
3808331f75eSAmir AyupovLtmp17:
3818331f75eSAmir Ayupov	movsd	(%rcx), %xmm0
3828331f75eSAmir Ayupov	movl	$0x4015e3, %edi
3838331f75eSAmir Ayupov	movl	$0x1, %eax
3848331f75eSAmir Ayupov	movl	%edx, 0x20(%rsp)
3858331f75eSAmir Ayupov	movq	%rcx, 0x30(%rsp)
3868331f75eSAmir Ayupov	callq	printf@PLT
3878331f75eSAmir Ayupov	movl	0x20(%rsp), %edx
3888331f75eSAmir Ayupov	movq	0x30(%rsp), %rcx
3898331f75eSAmir Ayupov	addl	$0x1, %edx
3908331f75eSAmir Ayupov	addq	$0x8, %rcx
3918331f75eSAmir Ayupov	cmpl	%edx, 0x8c(%rsp)
3928331f75eSAmir AyupovLtmp17_br: 	jg	Ltmp17
3938331f75eSAmir Ayupov# FDATA: 1 main #Ltmp17_br# 1 main #Ltmp17# 0 0
3948331f75eSAmir Ayupov# FDATA: 1 main #Ltmp17_br# 1 main #Ltmp16# 0 0
3958331f75eSAmir Ayupov
3968331f75eSAmir AyupovLtmp16:
3978331f75eSAmir Ayupov	movl	$0xa, %edi
3988331f75eSAmir Ayupov	addl	$0x1, %r12d
3998331f75eSAmir Ayupov	callq	putchar@PLT
4008331f75eSAmir Ayupov	movsd	0x38(%rsp), %xmm0
4018331f75eSAmir Ayupov	cmpl	$0x9, %r12d
4028331f75eSAmir Ayupov	subsd	DATAat0x401718(%rip), %xmm0
4038331f75eSAmir Ayupov	movsd	%xmm0, 0x38(%rsp)
4048331f75eSAmir AyupovLtmp16_br: 	jne	Ltmp18
4058331f75eSAmir Ayupov# FDATA: 1 main #Ltmp16_br# 1 main #Ltmp18# 0 0
4068331f75eSAmir Ayupov# FDATA: 1 main #Ltmp16_br# 1 main #LFT18# 0 0
4078331f75eSAmir Ayupov
4088331f75eSAmir AyupovLFT18:
4098331f75eSAmir Ayupov	movsd	DATAat0x401720(%rip), %xmm0
4108331f75eSAmir Ayupov	addl	$0x1, %r13d
4118331f75eSAmir Ayupov	cmpl	$0x11, %r13d
4128331f75eSAmir Ayupov	addsd	0x40(%rsp), %xmm0
4138331f75eSAmir Ayupov	movsd	%xmm0, 0x40(%rsp)
4148331f75eSAmir AyupovLFT18_br: 	jne	Ltmp19
4158331f75eSAmir Ayupov# FDATA: 1 main #LFT18_br# 1 main #Ltmp19# 0 0
4168331f75eSAmir Ayupov# FDATA: 1 main #LFT18_br# 1 main #LFT19# 0 0
4178331f75eSAmir Ayupov
4188331f75eSAmir AyupovLFT19:
4198331f75eSAmir Ayupov	movsd	0x48(%rsp), %xmm0
4208331f75eSAmir Ayupov	addl	$0x1, %r15d
4218331f75eSAmir Ayupov	cmpl	$0x28, %r15d
4228331f75eSAmir Ayupov	subsd	DATAat0x401728(%rip), %xmm0
4238331f75eSAmir Ayupov	movsd	%xmm0, 0x48(%rsp)
4248331f75eSAmir AyupovLFT19_br: 	jne	Ltmp20
4258331f75eSAmir Ayupov# FDATA: 1 main #LFT19_br# 1 main #Ltmp20# 0 0
4268331f75eSAmir Ayupov# FDATA: 1 main #LFT19_br# 1 main #LFT20# 0 0
4278331f75eSAmir Ayupov
4288331f75eSAmir AyupovLFT20:
4298331f75eSAmir Ayupov	movsd	DATAat0x401658(%rip), %xmm0
4308331f75eSAmir Ayupov	addl	$0x1, 0x5c(%rsp)
4318331f75eSAmir Ayupov	cmpl	$0x9, 0x5c(%rsp)
4328331f75eSAmir Ayupov	addsd	0x50(%rsp), %xmm0
4338331f75eSAmir Ayupov	movsd	%xmm0, 0x50(%rsp)
4348331f75eSAmir AyupovLFT20_br: 	jne	Ltmp21
4358331f75eSAmir Ayupov# FDATA: 1 main #LFT20_br# 1 main #Ltmp21# 0 0
4368331f75eSAmir Ayupov# FDATA: 1 main #LFT20_br# 1 main #LFT21# 0 0
4378331f75eSAmir Ayupov
4388331f75eSAmir AyupovLFT21:
4398331f75eSAmir Ayupov	leaq	0x80(%rsp), %r12
4408331f75eSAmir Ayupov	movl	$0x401548, %edi
4418331f75eSAmir Ayupov	movl	$0xc350, %ebp
4428331f75eSAmir Ayupov	xorl	%ebx, %ebx
4438331f75eSAmir AyupovLFT21_br: 	callq	puts@PLT
4448331f75eSAmir Ayupov# FDATA: 1 main #LFT21_br# 1 main #Ltmp22# 0 0
4458331f75eSAmir Ayupov
4468331f75eSAmir AyupovLtmp22:
4478331f75eSAmir Ayupov	movslq	%ebx, %rdi
4488331f75eSAmir Ayupov	movq	%r12, %rsi
4498331f75eSAmir Ayupov	callq	_Z5usqrtmP8int_sqrt
4508331f75eSAmir Ayupov	movl	0x80(%rsp), %edx
4518331f75eSAmir Ayupov	movl	%ebx, %esi
4528331f75eSAmir Ayupov	xorl	%eax, %eax
4538331f75eSAmir Ayupov	movl	$0x4015f2, %edi
4548331f75eSAmir Ayupov	addl	$0x2, %ebx
4558331f75eSAmir Ayupov	callq	printf@PLT
4568331f75eSAmir Ayupov	subl	$0x1, %ebp
4578331f75eSAmir AyupovLtmp22_br: 	jne	Ltmp22
4588331f75eSAmir Ayupov# FDATA: 1 main #Ltmp22_br# 1 main #Ltmp22# 0 0
4598331f75eSAmir Ayupov# FDATA: 1 main #Ltmp22_br# 1 main #LFT22# 0 0
4608331f75eSAmir Ayupov
4618331f75eSAmir AyupovLFT22:
4628331f75eSAmir Ayupov	movl	$0xa, %edi
4638331f75eSAmir Ayupov	movl	$0x3fed0169, %ebx
4648331f75eSAmir AyupovLFT22_br: 	callq	putchar@PLT
4658331f75eSAmir Ayupov# FDATA: 1 main #LFT22_br# 1 main #Ltmp23# 0 0
4668331f75eSAmir Ayupov
4678331f75eSAmir AyupovLtmp23:
4688331f75eSAmir Ayupov	movq	%rbx, %rdi
4698331f75eSAmir Ayupov	movq	%r12, %rsi
4708331f75eSAmir Ayupov	callq	_Z5usqrtmP8int_sqrt
4718331f75eSAmir Ayupov	movl	0x80(%rsp), %edx
4728331f75eSAmir Ayupov	movq	%rbx, %rsi
4738331f75eSAmir Ayupov	xorl	%eax, %eax
4748331f75eSAmir Ayupov	movl	$0x401603, %edi
4758331f75eSAmir Ayupov	addq	$0x1, %rbx
4768331f75eSAmir Ayupov	callq	printf@PLT
4778331f75eSAmir Ayupov	cmpq	$0x3fed4169, %rbx
4788331f75eSAmir AyupovLtmp23_br: 	jne	Ltmp23
4798331f75eSAmir Ayupov# FDATA: 1 main #Ltmp23_br# 1 main #Ltmp23# 0 0
4808331f75eSAmir Ayupov# FDATA: 1 main #Ltmp23_br# 1 main #LFT23# 0 0
4818331f75eSAmir Ayupov
4828331f75eSAmir AyupovLFT23:
4838331f75eSAmir Ayupov	movl	$0x401570, %edi
4848331f75eSAmir Ayupov	xorl	%ebx, %ebx
4858331f75eSAmir Ayupov	callq	puts@PLT
4868331f75eSAmir Ayupov	movq	%rbx, 0x8(%rsp)
4878331f75eSAmir Ayupov	movsd	DATAat0x401748(%rip), %xmm3
4888331f75eSAmir AyupovLFT23_br: 	movsd	0x8(%rsp), %xmm2
4898331f75eSAmir Ayupov# FDATA: 1 main #LFT23_br# 1 main #Ltmp24# 0 0
4908331f75eSAmir Ayupov
4918331f75eSAmir AyupovLtmp24:
4928331f75eSAmir Ayupov	movsd	DATAat0x401730(%rip), %xmm1
4938331f75eSAmir Ayupov	movl	$0x401598, %edi
4948331f75eSAmir Ayupov	movapd	%xmm2, %xmm0
4958331f75eSAmir Ayupov	movl	$0x2, %eax
4968331f75eSAmir Ayupov	mulsd	%xmm2, %xmm1
4978331f75eSAmir Ayupov	movsd	%xmm2, 0x20(%rsp)
4988331f75eSAmir Ayupov	movsd	%xmm3, 0x10(%rsp)
4998331f75eSAmir Ayupov	divsd	DATAat0x401738(%rip), %xmm1
5008331f75eSAmir Ayupov	callq	printf@PLT
5018331f75eSAmir Ayupov	movsd	0x20(%rsp), %xmm2
5028331f75eSAmir Ayupov	movsd	0x10(%rsp), %xmm3
5038331f75eSAmir Ayupov	addsd	DATAat0x401740(%rip), %xmm2
5048331f75eSAmir Ayupov	ucomisd	%xmm2, %xmm3
5058331f75eSAmir AyupovLtmp24_br: 	jae	Ltmp24
5068331f75eSAmir Ayupov# FDATA: 1 main #Ltmp24_br# 1 main #Ltmp24# 0 0
5078331f75eSAmir Ayupov# FDATA: 1 main #Ltmp24_br# 1 main #LFT24# 0 0
5088331f75eSAmir Ayupov
5098331f75eSAmir AyupovLFT24:
5108331f75eSAmir Ayupov	movl	$0x401612, %edi
5118331f75eSAmir Ayupov	callq	puts@PLT
5128331f75eSAmir Ayupov	movq	%rbx, 0x8(%rsp)
5138331f75eSAmir Ayupov	movsd	DATAat0x401758(%rip), %xmm3
5148331f75eSAmir AyupovLFT24_br: 	movsd	0x8(%rsp), %xmm2
5158331f75eSAmir Ayupov# FDATA: 1 main #LFT24_br# 1 main #Ltmp25# 0 0
5168331f75eSAmir Ayupov
5178331f75eSAmir AyupovLtmp25:
5188331f75eSAmir Ayupov	movsd	DATAat0x401738(%rip), %xmm1
5198331f75eSAmir Ayupov	movl	$0x4015b8, %edi
5208331f75eSAmir Ayupov	movapd	%xmm2, %xmm0
5218331f75eSAmir Ayupov	movl	$0x2, %eax
5228331f75eSAmir Ayupov	mulsd	%xmm2, %xmm1
5238331f75eSAmir Ayupov	movsd	%xmm2, 0x20(%rsp)
5248331f75eSAmir Ayupov	movsd	%xmm3, 0x10(%rsp)
5258331f75eSAmir Ayupov	divsd	DATAat0x401730(%rip), %xmm1
5268331f75eSAmir Ayupov	callq	printf@PLT
5278331f75eSAmir Ayupov	movsd	0x20(%rsp), %xmm2
5288331f75eSAmir Ayupov	movsd	0x10(%rsp), %xmm3
5298331f75eSAmir Ayupov	addsd	DATAat0x401750(%rip), %xmm2
5308331f75eSAmir Ayupov	ucomisd	%xmm2, %xmm3
5318331f75eSAmir AyupovLtmp25_br: 	jae	Ltmp25
5328331f75eSAmir Ayupov# FDATA: 1 main #Ltmp25_br# 1 main #Ltmp25# 0 0
5338331f75eSAmir Ayupov# FDATA: 1 main #Ltmp25_br# 1 main #LFT25# 0 0
5348331f75eSAmir Ayupov
5358331f75eSAmir AyupovLFT25:
5368331f75eSAmir Ayupov	addq	$0x98, %rsp
5378331f75eSAmir Ayupov	.cfi_def_cfa_offset 56
5388331f75eSAmir Ayupov	xorl	%eax, %eax
5398331f75eSAmir Ayupov	popq	%rbx
5408331f75eSAmir Ayupov	.cfi_def_cfa_offset 48
5418331f75eSAmir Ayupov	popq	%rbp
5428331f75eSAmir Ayupov	.cfi_def_cfa_offset 40
5438331f75eSAmir Ayupov	popq	%r12
5448331f75eSAmir Ayupov	.cfi_def_cfa_offset 32
5458331f75eSAmir Ayupov	popq	%r13
5468331f75eSAmir Ayupov	.cfi_def_cfa_offset 24
5478331f75eSAmir Ayupov	popq	%r14
5488331f75eSAmir Ayupov	.cfi_def_cfa_offset 16
5498331f75eSAmir Ayupov	popq	%r15
5508331f75eSAmir Ayupov	.cfi_def_cfa_offset 8
5518331f75eSAmir Ayupov	retq
5528331f75eSAmir Ayupov	.cfi_def_cfa %rsp, 208
5538331f75eSAmir Ayupov
5548331f75eSAmir AyupovLLP0:
5558331f75eSAmir Ayupov	cmpq	$0x1, %rdx
5568331f75eSAmir Ayupov	movq	%rax, %rdi
5578331f75eSAmir AyupovLLP0_br: 	je	Ltmp26
5588331f75eSAmir Ayupov# FDATA: 1 main #LLP0_br# 1 main #Ltmp26# 0 0
5598331f75eSAmir Ayupov# FDATA: 1 main #LLP0_br# 1 main #Ltmp28# 0 0
5608331f75eSAmir Ayupov
5618331f75eSAmir AyupovLtmp28:
5628331f75eSAmir AyupovLtmp28_br: 	callq	_Unwind_Resume@PLT
5638331f75eSAmir Ayupov# FDATA: 1 main #Ltmp28_br# 1 main #Ltmp26# 0 0
5648331f75eSAmir Ayupov
5658331f75eSAmir AyupovLtmp26:
5668331f75eSAmir Ayupov	callq	__cxa_begin_catch@PLT
5678331f75eSAmir Ayupov	movl	$0x4015e7, %edi
5688331f75eSAmir Ayupov	callq	puts@PLT
5698331f75eSAmir Ayupov	callq	__cxa_end_catch@PLT
5708331f75eSAmir AyupovLtmp26_br: 	jmp	Ltmp27
5718331f75eSAmir Ayupov# FDATA: 1 main #Ltmp26_br# 1 main #Ltmp27# 0 0
5728331f75eSAmir Ayupov
5738331f75eSAmir AyupovLtmp30:
5748331f75eSAmir Ayupov	movq	%rax, 0x30(%rsp)
5758331f75eSAmir Ayupov	callq	__cxa_end_catch@PLT
5768331f75eSAmir Ayupov	movq	0x30(%rsp), %rdi
5778331f75eSAmir AyupovLtmp30_br: 	jmp	Ltmp28
5788331f75eSAmir Ayupov# FDATA: 1 main #Ltmp30_br# 1 main #Ltmp28# 0 0
5798331f75eSAmir Ayupov
5808331f75eSAmir AyupovLLP1:
5818331f75eSAmir Ayupov	cmpq	$0x1, %rdx
5828331f75eSAmir Ayupov	movq	%rax, %rdi
5838331f75eSAmir AyupovLLP1_br: 	jne	Ltmp28
5848331f75eSAmir Ayupov# FDATA: 1 main #LLP1_br# 1 main #Ltmp28# 0 0
5858331f75eSAmir Ayupov# FDATA: 1 main #LLP1_br# 1 main #LFT26# 0 0
5868331f75eSAmir Ayupov
5878331f75eSAmir AyupovLFT26:
5888331f75eSAmir Ayupov	callq	__cxa_begin_catch@PLT
5898331f75eSAmir Ayupov	movl	$0x4015e7, %edi
5908331f75eSAmir Ayupov	callq	puts@PLT
5918331f75eSAmir Ayupov	callq	__cxa_end_catch@PLT
5928331f75eSAmir AyupovLFT26_br: 	jmp	Ltmp29
5938331f75eSAmir Ayupov# FDATA: 1 main #LFT26_br# 1 main #Ltmp29# 0 0
5948331f75eSAmir Ayupov
5958331f75eSAmir AyupovLLP2:
5968331f75eSAmir AyupovLLP2_br: 	jmp	Ltmp30
5978331f75eSAmir Ayupov# FDATA: 1 main #LLP2_br# 1 main #Ltmp30# 0 0
5988331f75eSAmir Ayupov
5998331f75eSAmir Ayupov	.cfi_endproc
6008331f75eSAmir Ayupov.size main, .-main
6018331f75eSAmir Ayupov
6028331f75eSAmir Ayupov.section .rodata
6038331f75eSAmir Ayupov"DATAat0x401738":
6048331f75eSAmir Ayupov"DATAat0x401748":
6058331f75eSAmir Ayupov"DATAat0x401728":
6068331f75eSAmir Ayupov"DATAat0x401718":
6078331f75eSAmir Ayupov"DATAat0x4016f8":
6088331f75eSAmir Ayupov"DATAat0x401690":
6098331f75eSAmir Ayupov"DATAat0x401668":
6108331f75eSAmir Ayupov"DATAat0x401650":
6118331f75eSAmir Ayupov"DATAat0x401700":
6128331f75eSAmir Ayupov"DATAat0x401698":
6138331f75eSAmir Ayupov"DATAat0x401688":
6148331f75eSAmir Ayupov"DATAat0x401648":
6158331f75eSAmir Ayupov"DATAat0x401680":
6168331f75eSAmir Ayupov"DATAat0x4016c8":
6178331f75eSAmir Ayupov"DATAat0x401750":
6188331f75eSAmir Ayupov"DATAat0x401678":
6198331f75eSAmir Ayupov"DATAat0x4016c0":
6208331f75eSAmir Ayupov"DATAat0x401758":
6218331f75eSAmir Ayupov"DATAat0x401660":
6228331f75eSAmir Ayupov"DATAat0x4016b0":
6238331f75eSAmir Ayupov"DATAat0x401640":
6248331f75eSAmir Ayupov"DATAat0x401658":
6258331f75eSAmir Ayupov"DATAat0x401720":
6268331f75eSAmir Ayupov"DATAat0x4016f0":
6278331f75eSAmir Ayupov"DATAat0x401710":
6288331f75eSAmir Ayupov"DATAat0x4016a8":
6298331f75eSAmir Ayupov"DATAat0x401730":
6308331f75eSAmir Ayupov"DATAat0x4016b8":
6318331f75eSAmir Ayupov"DATAat0x401708":
6328331f75eSAmir Ayupov"DATAat0x401670":
6338331f75eSAmir Ayupov"DATAat0x4016a0":
6348331f75eSAmir Ayupov"DATAat0x4016d0":
6358331f75eSAmir Ayupov"DATAat0x4016d8":
6368331f75eSAmir Ayupov"DATAat0x4016e0":
6378331f75eSAmir Ayupov"DATAat0x401740":
6388331f75eSAmir Ayupov"DATAat0x4016e8":
6398331f75eSAmir Ayupov	.text
6408331f75eSAmir Ayupov  .globl _Z10SolveCubicddddPiPd
6418331f75eSAmir Ayupov  .type _Z10SolveCubicddddPiPd, %function
6428331f75eSAmir Ayupov_Z10SolveCubicddddPiPd:
6438331f75eSAmir Ayupov# FDATA: 0 [unknown] 0 1 _Z10SolveCubicddddPiPd 0 0 57
6448331f75eSAmir Ayupov	.cfi_startproc
6458331f75eSAmir AyupovLBB01:
6468331f75eSAmir Ayupov	divsd	%xmm0, %xmm1
6478331f75eSAmir Ayupov	pushq	%rbx
6488331f75eSAmir Ayupov	.cfi_def_cfa_offset 16
6498331f75eSAmir Ayupov	.cfi_offset %rbx, -16
6508331f75eSAmir Ayupov	movq	%rsi, %rbx
6518331f75eSAmir Ayupov	subq	$0x70, %rsp
6528331f75eSAmir Ayupov	.cfi_def_cfa_offset 128
6538331f75eSAmir Ayupov	divsd	%xmm0, %xmm2
6548331f75eSAmir Ayupov	movsd	%xmm1, 0x48(%rsp)
6558331f75eSAmir Ayupov	fldl	0x48(%rsp)
6568331f75eSAmir Ayupov	divsd	%xmm0, %xmm3
6578331f75eSAmir Ayupov	movsd	%xmm2, 0x48(%rsp)
6588331f75eSAmir Ayupov	fldl	0x48(%rsp)
6598331f75eSAmir Ayupov	fld	%st(1)
6608331f75eSAmir Ayupov	fmul	%st(2), %st
6618331f75eSAmir Ayupov	movsd	%xmm3, 0x48(%rsp)
6628331f75eSAmir Ayupov	fld	%st(1)
6638331f75eSAmir Ayupov	fmuls	DATAat0x401760(%rip)
6648331f75eSAmir Ayupov	faddp	%st, %st(1)
6658331f75eSAmir Ayupov	fdivs	DATAat0x401764(%rip)
6668331f75eSAmir Ayupov	fld	%st(2)
6678331f75eSAmir Ayupov	fadd	%st(3), %st
6688331f75eSAmir Ayupov	fmul	%st(3), %st
6698331f75eSAmir Ayupov	fmul	%st(3), %st
6708331f75eSAmir Ayupov	fld	%st(3)
6718331f75eSAmir Ayupov	fmuls	DATAat0x401768(%rip)
6728331f75eSAmir Ayupov	fmulp	%st, %st(3)
6738331f75eSAmir Ayupov	faddp	%st, %st(2)
6748331f75eSAmir Ayupov	flds	DATAat0x40176c(%rip)
6758331f75eSAmir Ayupov	fmull	0x48(%rsp)
6768331f75eSAmir Ayupov	faddp	%st, %st(2)
6778331f75eSAmir Ayupov	fxch	%st(1)
6788331f75eSAmir Ayupov	fdivs	DATAat0x401770(%rip)
6798331f75eSAmir Ayupov	fld	%st(1)
6808331f75eSAmir Ayupov	fmul	%st(2), %st
6818331f75eSAmir Ayupov	fmul	%st(2), %st
6828331f75eSAmir Ayupov	fld	%st(1)
6838331f75eSAmir Ayupov	fmul	%st(2), %st
6848331f75eSAmir Ayupov	fsub	%st(1), %st
6858331f75eSAmir Ayupov	fstpl	0x68(%rsp)
6868331f75eSAmir Ayupov	movsd	0x68(%rsp), %xmm0
6878331f75eSAmir Ayupov	ucomisd	DATAat0x401778(%rip), %xmm0
6888331f75eSAmir AyupovLBB01_br: 	jbe	Ltmp31
6898331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LBB01_br# 1 _Z10SolveCubicddddPiPd #Ltmp31# 0 0
6908331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LBB01_br# 1 _Z10SolveCubicddddPiPd #LFT1# 0 0
6918331f75eSAmir Ayupov
6928331f75eSAmir AyupovLFT1:
6938331f75eSAmir Ayupov	fstp	%st(0)
6948331f75eSAmir AyupovLFT1_br: 	jmp	Ltmp32
6958331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT1_br# 1 _Z10SolveCubicddddPiPd #Ltmp32# 0 0
6968331f75eSAmir Ayupov
6978331f75eSAmir AyupovLtmp37:
6988331f75eSAmir AyupovLtmp37_br: 	fstp	%st(0)
6998331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp37_br# 1 _Z10SolveCubicddddPiPd #Ltmp32# 0 0
7008331f75eSAmir Ayupov
7018331f75eSAmir AyupovLtmp32:
7028331f75eSAmir Ayupov	sqrtsd	%xmm0, %xmm1
7038331f75eSAmir Ayupov	movl	$0x1, (%rdi)
7048331f75eSAmir Ayupov	ucomisd	%xmm1, %xmm1
7058331f75eSAmir AyupovLtmp32_br: 	jp	Ltmp33
7068331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp32_br# 1 _Z10SolveCubicddddPiPd #Ltmp33# 0 0
7078331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp32_br# 1 _Z10SolveCubicddddPiPd #LFT3# 0 0
7088331f75eSAmir Ayupov
7098331f75eSAmir AyupovLFT3:
7108331f75eSAmir AyupovLFT3_br: 	jne	Ltmp33
7118331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT3_br# 1 _Z10SolveCubicddddPiPd #Ltmp33# 0 0
7128331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT3_br# 1 _Z10SolveCubicddddPiPd #Ltmp36# 0 0
7138331f75eSAmir Ayupov
7148331f75eSAmir AyupovLtmp36:
7158331f75eSAmir Ayupov	fstl	0x68(%rsp)
7168331f75eSAmir Ayupov	movsd	DATAat0x4017b0(%rip), %xmm2
7178331f75eSAmir Ayupov	fstpt	0x30(%rsp)
7188331f75eSAmir Ayupov	fxch	%st(1)
7198331f75eSAmir Ayupov	movsd	0x68(%rsp), %xmm0
7208331f75eSAmir Ayupov	fstpt	0x10(%rsp)
7218331f75eSAmir Ayupov	andpd	%xmm2, %xmm0
7228331f75eSAmir Ayupov	fstpt	0x20(%rsp)
7238331f75eSAmir Ayupov	addsd	%xmm1, %xmm0
7248331f75eSAmir Ayupov	movsd	DATAat0x401798(%rip), %xmm1
7258331f75eSAmir Ayupov	callq	pow@PLT
7268331f75eSAmir Ayupov	movsd	%xmm0, 0x8(%rsp)
7278331f75eSAmir Ayupov	fldl	0x8(%rsp)
7288331f75eSAmir Ayupov	fldz
7298331f75eSAmir Ayupov	fldt	0x30(%rsp)
7308331f75eSAmir Ayupov	fxch	%st(1)
7318331f75eSAmir Ayupov	fucompi	%st(1), %st
7328331f75eSAmir Ayupov	fstp	%st(0)
7338331f75eSAmir Ayupov	fldt	0x10(%rsp)
7348331f75eSAmir Ayupov	fldt	0x20(%rsp)
7358331f75eSAmir AyupovLtmp36_br: 	ja	Ltmp34
7368331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp36_br# 1 _Z10SolveCubicddddPiPd #Ltmp34# 0 0
7378331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp36_br# 1 _Z10SolveCubicddddPiPd #LFT5# 0 0
7388331f75eSAmir Ayupov
7398331f75eSAmir AyupovLFT5:
7408331f75eSAmir AyupovLFT5_br: 	movsd	DATAat0x4017a0(%rip), %xmm1
7418331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT5_br# 1 _Z10SolveCubicddddPiPd #Ltmp35# 0 0
7428331f75eSAmir Ayupov
7438331f75eSAmir AyupovLtmp35:
7448331f75eSAmir Ayupov	fdiv	%st(2), %st
7458331f75eSAmir Ayupov	faddp	%st, %st(2)
7468331f75eSAmir Ayupov	fxch	%st(1)
7478331f75eSAmir Ayupov	fstpl	0x68(%rsp)
7488331f75eSAmir Ayupov	fdivs	DATAat0x401760(%rip)
7498331f75eSAmir Ayupov	movsd	0x68(%rsp), %xmm0
7508331f75eSAmir Ayupov	mulsd	%xmm1, %xmm0
7518331f75eSAmir Ayupov	movsd	%xmm0, 0x8(%rsp)
7528331f75eSAmir Ayupov	fldl	0x8(%rsp)
7538331f75eSAmir Ayupov	faddp	%st, %st(1)
7548331f75eSAmir Ayupov	fstpl	(%rbx)
7558331f75eSAmir Ayupov	addq	$0x70, %rsp
7568331f75eSAmir Ayupov	.cfi_def_cfa_offset 16
7578331f75eSAmir Ayupov	popq	%rbx
7588331f75eSAmir Ayupov	.cfi_def_cfa_offset 8
7598331f75eSAmir Ayupov	retq
7608331f75eSAmir Ayupov	.cfi_def_cfa %rsp, 128
7618331f75eSAmir Ayupov
7628331f75eSAmir AyupovLtmp34:
7638331f75eSAmir Ayupov	movsd	DATAat0x401658(%rip), %xmm1
7648331f75eSAmir AyupovLtmp34_br: 	jmp	Ltmp35
7658331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp34_br# 1 _Z10SolveCubicddddPiPd #Ltmp35# 0 0
7668331f75eSAmir Ayupov
7678331f75eSAmir AyupovLtmp33:
7688331f75eSAmir Ayupov	fstpt	0x30(%rsp)
7698331f75eSAmir Ayupov	fxch	%st(1)
7708331f75eSAmir Ayupov	fstpt	0x10(%rsp)
7718331f75eSAmir Ayupov	fstpt	0x20(%rsp)
7728331f75eSAmir Ayupov	callq	sqrt@PLT
7738331f75eSAmir Ayupov	movapd	%xmm0, %xmm1
7748331f75eSAmir Ayupov	fldt	0x20(%rsp)
7758331f75eSAmir Ayupov	fldt	0x10(%rsp)
7768331f75eSAmir Ayupov	fldt	0x30(%rsp)
7778331f75eSAmir Ayupov	fxch	%st(1)
7788331f75eSAmir Ayupov	fxch	%st(2)
7798331f75eSAmir Ayupov	fxch	%st(1)
7808331f75eSAmir AyupovLtmp33_br: 	jmp	Ltmp36
7818331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp33_br# 1 _Z10SolveCubicddddPiPd #Ltmp36# 0 0
7828331f75eSAmir Ayupov
7838331f75eSAmir AyupovLtmp31:
7848331f75eSAmir AyupovLtmp31_br: 	jp	Ltmp37
7858331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp31_br# 1 _Z10SolveCubicddddPiPd #Ltmp37# 0 0
7868331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp31_br# 1 _Z10SolveCubicddddPiPd #LFT7# 0 0
7878331f75eSAmir Ayupov
7888331f75eSAmir AyupovLFT7:
7898331f75eSAmir Ayupov	fstpl	0x68(%rsp)
7908331f75eSAmir Ayupov	movl	$0x3, (%rdi)
7918331f75eSAmir Ayupov	movsd	0x68(%rsp), %xmm1
7928331f75eSAmir Ayupov	sqrtsd	%xmm1, %xmm0
7938331f75eSAmir Ayupov	ucomisd	%xmm0, %xmm0
7948331f75eSAmir AyupovLFT7_br: 	jp	Ltmp38
7958331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT7_br# 1 _Z10SolveCubicddddPiPd #Ltmp38# 0 0
7968331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT7_br# 1 _Z10SolveCubicddddPiPd #LFT8# 0 0
7978331f75eSAmir Ayupov
7988331f75eSAmir AyupovLFT8:
7998331f75eSAmir AyupovLFT8_br: 	jne	Ltmp38
8008331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT8_br# 1 _Z10SolveCubicddddPiPd #Ltmp38# 0 0
8018331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT8_br# 1 _Z10SolveCubicddddPiPd #Ltmp47# 0 0
8028331f75eSAmir Ayupov
8038331f75eSAmir AyupovLtmp47:
8048331f75eSAmir Ayupov	movsd	%xmm0, 0x8(%rsp)
8058331f75eSAmir Ayupov	fldl	0x8(%rsp)
8068331f75eSAmir Ayupov	fdivrp	%st, %st(1)
8078331f75eSAmir Ayupov	fstpl	0x68(%rsp)
8088331f75eSAmir Ayupov	fxch	%st(1)
8098331f75eSAmir Ayupov	fstpt	0x10(%rsp)
8108331f75eSAmir Ayupov	movsd	0x68(%rsp), %xmm0
8118331f75eSAmir Ayupov	fstpt	0x20(%rsp)
8128331f75eSAmir Ayupov	callq	acos@PLT
8138331f75eSAmir Ayupov	movsd	%xmm0, 0x48(%rsp)
8148331f75eSAmir Ayupov	fldt	0x20(%rsp)
8158331f75eSAmir Ayupov	fstpl	0x60(%rsp)
8168331f75eSAmir Ayupov	sqrtsd	0x60(%rsp), %xmm1
8178331f75eSAmir Ayupov	movapd	%xmm1, %xmm2
8188331f75eSAmir Ayupov	ucomisd	%xmm1, %xmm1
8198331f75eSAmir Ayupov	fldt	0x10(%rsp)
8208331f75eSAmir AyupovLtmp47_br: 	jp	Ltmp39
8218331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp47_br# 1 _Z10SolveCubicddddPiPd #Ltmp39# 0 0
8228331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp47_br# 1 _Z10SolveCubicddddPiPd #LFT10# 0 0
8238331f75eSAmir Ayupov
8248331f75eSAmir AyupovLFT10:
8258331f75eSAmir AyupovLFT10_br: 	jne	Ltmp40
8268331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT10_br# 1 _Z10SolveCubicddddPiPd #Ltmp40# 0 0
8278331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT10_br# 1 _Z10SolveCubicddddPiPd #Ltmp46# 0 0
8288331f75eSAmir Ayupov
8298331f75eSAmir AyupovLtmp46:
8308331f75eSAmir Ayupov	divsd	DATAat0x4016b0(%rip), %xmm0
8318331f75eSAmir Ayupov	movsd	%xmm1, 0x20(%rsp)
8328331f75eSAmir Ayupov	movsd	%xmm2, 0x30(%rsp)
8338331f75eSAmir Ayupov	fstpt	0x10(%rsp)
8348331f75eSAmir Ayupov	callq	cos@PLT
8358331f75eSAmir Ayupov	movsd	0x30(%rsp), %xmm2
8368331f75eSAmir Ayupov	movsd	0x20(%rsp), %xmm1
8378331f75eSAmir Ayupov	fldt	0x10(%rsp)
8388331f75eSAmir Ayupov	ucomisd	%xmm1, %xmm1
8398331f75eSAmir Ayupov	mulsd	DATAat0x401780(%rip), %xmm2
8408331f75eSAmir Ayupov	fdivs	DATAat0x401760(%rip)
8418331f75eSAmir Ayupov	mulsd	%xmm0, %xmm2
8428331f75eSAmir Ayupov	movsd	%xmm2, 0x8(%rsp)
8438331f75eSAmir Ayupov	movapd	%xmm1, %xmm2
8448331f75eSAmir Ayupov	fld	%st(0)
8458331f75eSAmir Ayupov	fstpt	0x50(%rsp)
8468331f75eSAmir Ayupov	fldl	0x8(%rsp)
8478331f75eSAmir Ayupov	faddp	%st, %st(1)
8488331f75eSAmir Ayupov	fstpl	(%rbx)
8498331f75eSAmir AyupovLtmp46_br: 	jp	Ltmp41
8508331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp46_br# 1 _Z10SolveCubicddddPiPd #Ltmp41# 0 0
8518331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp46_br# 1 _Z10SolveCubicddddPiPd #LFT12# 0 0
8528331f75eSAmir Ayupov
8538331f75eSAmir AyupovLFT12:
8548331f75eSAmir AyupovLFT12_br: 	jne	Ltmp41
8558331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT12_br# 1 _Z10SolveCubicddddPiPd #Ltmp41# 0 0
8568331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT12_br# 1 _Z10SolveCubicddddPiPd #Ltmp44# 0 0
8578331f75eSAmir Ayupov
8588331f75eSAmir AyupovLtmp44:
8598331f75eSAmir Ayupov	movsd	0x48(%rsp), %xmm0
8608331f75eSAmir Ayupov	movsd	%xmm1, 0x20(%rsp)
8618331f75eSAmir Ayupov	addsd	DATAat0x401788(%rip), %xmm0
8628331f75eSAmir Ayupov	movsd	%xmm2, 0x30(%rsp)
8638331f75eSAmir Ayupov	divsd	DATAat0x4016b0(%rip), %xmm0
8648331f75eSAmir Ayupov	callq	cos@PLT
8658331f75eSAmir Ayupov	movsd	0x30(%rsp), %xmm2
8668331f75eSAmir Ayupov	fldt	0x50(%rsp)
8678331f75eSAmir Ayupov	mulsd	DATAat0x401780(%rip), %xmm2
8688331f75eSAmir Ayupov	movsd	0x20(%rsp), %xmm1
8698331f75eSAmir Ayupov	ucomisd	%xmm1, %xmm1
8708331f75eSAmir Ayupov	mulsd	%xmm0, %xmm2
8718331f75eSAmir Ayupov	movsd	%xmm2, 0x8(%rsp)
8728331f75eSAmir Ayupov	fldl	0x8(%rsp)
8738331f75eSAmir Ayupov	faddp	%st, %st(1)
8748331f75eSAmir Ayupov	fstpl	0x8(%rbx)
8758331f75eSAmir AyupovLtmp44_br: 	jp	Ltmp42
8768331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp44_br# 1 _Z10SolveCubicddddPiPd #Ltmp42# 0 0
8778331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp44_br# 1 _Z10SolveCubicddddPiPd #LFT14# 0 0
8788331f75eSAmir Ayupov
8798331f75eSAmir AyupovLFT14:
8808331f75eSAmir AyupovLFT14_br: 	jne	Ltmp42
8818331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT14_br# 1 _Z10SolveCubicddddPiPd #Ltmp42# 0 0
8828331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT14_br# 1 _Z10SolveCubicddddPiPd #Ltmp43# 0 0
8838331f75eSAmir Ayupov
8848331f75eSAmir AyupovLtmp43:
8858331f75eSAmir Ayupov	movsd	0x48(%rsp), %xmm0
8868331f75eSAmir Ayupov	movsd	%xmm1, 0x20(%rsp)
8878331f75eSAmir Ayupov	addsd	DATAat0x401790(%rip), %xmm0
8888331f75eSAmir Ayupov	divsd	DATAat0x4016b0(%rip), %xmm0
8898331f75eSAmir Ayupov	callq	cos@PLT
8908331f75eSAmir Ayupov	fldt	0x50(%rsp)
8918331f75eSAmir Ayupov	movsd	DATAat0x401780(%rip), %xmm2
8928331f75eSAmir Ayupov	movsd	0x20(%rsp), %xmm1
8938331f75eSAmir Ayupov	mulsd	%xmm1, %xmm2
8948331f75eSAmir Ayupov	mulsd	%xmm0, %xmm2
8958331f75eSAmir Ayupov	movsd	%xmm2, 0x8(%rsp)
8968331f75eSAmir Ayupov	fldl	0x8(%rsp)
8978331f75eSAmir Ayupov	faddp	%st, %st(1)
8988331f75eSAmir Ayupov	fstpl	0x10(%rbx)
8998331f75eSAmir Ayupov	addq	$0x70, %rsp
9008331f75eSAmir Ayupov	.cfi_def_cfa_offset 16
9018331f75eSAmir Ayupov	popq	%rbx
9028331f75eSAmir Ayupov	.cfi_def_cfa_offset 8
9038331f75eSAmir Ayupov	retq
9048331f75eSAmir Ayupov	.cfi_def_cfa %rsp, 128
9058331f75eSAmir Ayupov
9068331f75eSAmir AyupovLtmp42:
9078331f75eSAmir Ayupov	movsd	0x60(%rsp), %xmm0
9088331f75eSAmir Ayupov	callq	sqrt@PLT
9098331f75eSAmir Ayupov	movapd	%xmm0, %xmm1
9108331f75eSAmir AyupovLtmp42_br: 	jmp	Ltmp43
9118331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp42_br# 1 _Z10SolveCubicddddPiPd #Ltmp43# 0 0
9128331f75eSAmir Ayupov
9138331f75eSAmir AyupovLtmp41:
9148331f75eSAmir Ayupov	movsd	0x60(%rsp), %xmm0
9158331f75eSAmir Ayupov	callq	sqrt@PLT
9168331f75eSAmir Ayupov	movsd	0x20(%rsp), %xmm1
9178331f75eSAmir Ayupov	movapd	%xmm0, %xmm2
9188331f75eSAmir AyupovLtmp41_br: 	jmp	Ltmp44
9198331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp41_br# 1 _Z10SolveCubicddddPiPd #Ltmp44# 0 0
9208331f75eSAmir Ayupov
9218331f75eSAmir AyupovLtmp39:
9228331f75eSAmir Ayupov	fstp	%st(0)
9238331f75eSAmir AyupovLtmp39_br: 	jmp	Ltmp45
9248331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp39_br# 1 _Z10SolveCubicddddPiPd #Ltmp45# 0 0
9258331f75eSAmir Ayupov
9268331f75eSAmir AyupovLtmp40:
9278331f75eSAmir AyupovLtmp40_br: 	fstp	%st(0)
9288331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp40_br# 1 _Z10SolveCubicddddPiPd #Ltmp45# 0 0
9298331f75eSAmir Ayupov
9308331f75eSAmir AyupovLtmp45:
9318331f75eSAmir Ayupov	movsd	0x60(%rsp), %xmm0
9328331f75eSAmir Ayupov	movsd	%xmm1, 0x20(%rsp)
9338331f75eSAmir Ayupov	callq	sqrt@PLT
9348331f75eSAmir Ayupov	movsd	0x20(%rsp), %xmm1
9358331f75eSAmir Ayupov	movapd	%xmm0, %xmm2
9368331f75eSAmir Ayupov	movsd	0x48(%rsp), %xmm0
9378331f75eSAmir Ayupov	fldt	0x10(%rsp)
9388331f75eSAmir AyupovLtmp45_br: 	jmp	Ltmp46
9398331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp45_br# 1 _Z10SolveCubicddddPiPd #Ltmp46# 0 0
9408331f75eSAmir Ayupov
9418331f75eSAmir AyupovLtmp38:
9428331f75eSAmir Ayupov	fstpt	0x30(%rsp)
9438331f75eSAmir Ayupov	fxch	%st(1)
9448331f75eSAmir Ayupov	movapd	%xmm1, %xmm0
9458331f75eSAmir Ayupov	fstpt	0x10(%rsp)
9468331f75eSAmir Ayupov	fstpt	0x20(%rsp)
9478331f75eSAmir Ayupov	callq	sqrt@PLT
9488331f75eSAmir Ayupov	fldt	0x20(%rsp)
9498331f75eSAmir Ayupov	fldt	0x10(%rsp)
9508331f75eSAmir Ayupov	fldt	0x30(%rsp)
9518331f75eSAmir Ayupov	fxch	%st(1)
9528331f75eSAmir Ayupov	fxch	%st(2)
9538331f75eSAmir Ayupov	fxch	%st(1)
9548331f75eSAmir AyupovLtmp38_br: 	jmp	Ltmp47
9558331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp38_br# 1 _Z10SolveCubicddddPiPd #Ltmp47# 0 0
9568331f75eSAmir Ayupov
9578331f75eSAmir Ayupov	.cfi_endproc
9588331f75eSAmir Ayupov.size _Z10SolveCubicddddPiPd, .-_Z10SolveCubicddddPiPd
9598331f75eSAmir Ayupov.section .rodata
9608331f75eSAmir Ayupov"DATAat0x401788":
9618331f75eSAmir Ayupov"DATAat0x401790":
9628331f75eSAmir Ayupov"DATAat0x401780":
9638331f75eSAmir Ayupov"DATAat0x401770":
9648331f75eSAmir Ayupov"DATAat0x40176c":
9658331f75eSAmir Ayupov"DATAat0x401760":
9668331f75eSAmir Ayupov"DATAat0x401768":
9678331f75eSAmir Ayupov"DATAat0x401778":
9688331f75eSAmir Ayupov"DATAat0x401764":
9698331f75eSAmir Ayupov"DATAat0x401798":
9708331f75eSAmir Ayupov"DATAat0x4017b0":
9718331f75eSAmir Ayupov"DATAat0x4017a0":
9728331f75eSAmir Ayupov
9738331f75eSAmir Ayupov	.text
9748331f75eSAmir Ayupov  .globl _Z5usqrtmP8int_sqrt
9758331f75eSAmir Ayupov  .type _Z5usqrtmP8int_sqrt, %function
9768331f75eSAmir Ayupov_Z5usqrtmP8int_sqrt:
9778331f75eSAmir Ayupov# FDATA: 0 [unknown] 0 1 _Z5usqrtmP8int_sqrt 0 0 6
9788331f75eSAmir Ayupov	.cfi_startproc
9798331f75eSAmir AyupovLBB02:
9808331f75eSAmir Ayupov	xorl	%r9d, %r9d
9818331f75eSAmir Ayupov	xorl	%eax, %eax
9828331f75eSAmir AyupovLBB02_br: 	xorl	%ecx, %ecx
9838331f75eSAmir Ayupov# FDATA: 1 _Z5usqrtmP8int_sqrt #LBB02_br# 1 _Z5usqrtmP8int_sqrt #Ltmp48# 0 0
9848331f75eSAmir Ayupov
9858331f75eSAmir AyupovLtmp48:
9868331f75eSAmir Ayupov	movq	%rdi, %rdx
9878331f75eSAmir Ayupov	leaq	(%rax,%rax), %r10
9888331f75eSAmir Ayupov	leaq	0x1(,%rax,4), %r8
9898331f75eSAmir Ayupov	andl	$0xc0000000, %edx
9908331f75eSAmir Ayupov	shlq	$0x2, %rdi
9918331f75eSAmir Ayupov	shrq	$0x1e, %rdx
9928331f75eSAmir Ayupov	leaq	0x1(%r10), %rax
9938331f75eSAmir Ayupov	leaq	(%rdx,%rcx,4), %rdx
9948331f75eSAmir Ayupov	movq	%rdx, %rcx
9958331f75eSAmir Ayupov	subq	%r8, %rcx
9968331f75eSAmir Ayupov	cmpq	%r8, %rdx
9978331f75eSAmir Ayupov	cmovbq	%rdx, %rcx
9988331f75eSAmir Ayupov	cmovbq	%r10, %rax
9998331f75eSAmir Ayupov	addl	$0x1, %r9d
10008331f75eSAmir Ayupov	cmpl	$0x20, %r9d
10018331f75eSAmir AyupovLtmp48_br: 	jne	Ltmp48
10028331f75eSAmir Ayupov# FDATA: 1 _Z5usqrtmP8int_sqrt #Ltmp48_br# 1 _Z5usqrtmP8int_sqrt #Ltmp48# 0 0
10038331f75eSAmir Ayupov# FDATA: 1 _Z5usqrtmP8int_sqrt #Ltmp48_br# 1 _Z5usqrtmP8int_sqrt #LFT0# 0 0
10048331f75eSAmir Ayupov
10058331f75eSAmir AyupovLFT0:
10068331f75eSAmir Ayupov	movq	%rax, (%rsi)
10078331f75eSAmir Ayupov	retq
10088331f75eSAmir Ayupov
10098331f75eSAmir Ayupov	.cfi_endproc
10108331f75eSAmir Ayupov.size _Z5usqrtmP8int_sqrt, .-_Z5usqrtmP8int_sqrt
1011