	.file	"sinus.c"
	.text
	.p2align 4,,15
	.globl	sin
	.type	sin, @function
sin:
.LFB0:
	.cfi_startproc
	movapd	%xmm0, %xmm4
	movl	$2, %eax
	movapd	%xmm0, %xmm1
	mulsd	%xmm0, %xmm4
	movsd	.LC0(%rip), %xmm3
	.p2align 4,,10
	.p2align 3
.L2:
	leal	1(%rax), %edx
	movapd	%xmm4, %xmm5
	xorpd	%xmm3, %xmm1
	imull	%eax, %edx
	addl	$2, %eax
	cmpl	$30, %eax
	cvtsi2sd	%edx, %xmm2
	divsd	%xmm2, %xmm5
	mulsd	%xmm5, %xmm1
	addsd	%xmm1, %xmm0
	jne	.L2
	rep
	ret
	.cfi_endproc
.LFE0:
	.size	sin, .-sin
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC2:
	.string	"sin(%lf)=%lf\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4,,15
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movl	$21, %ebx
	subq	$32, %rsp
	.cfi_def_cfa_offset 48
	movsd	.LC1(%rip), %xmm3
	movsd	.LC0(%rip), %xmm2
	.p2align 4,,10
	.p2align 3
.L7:
	movapd	%xmm3, %xmm5
	movl	$2, %eax
	movapd	%xmm3, %xmm1
	mulsd	%xmm3, %xmm5
	movapd	%xmm3, %xmm0
	.p2align 4,,10
	.p2align 3
.L6:
	leal	1(%rax), %edx
	movapd	%xmm5, %xmm6
	xorpd	%xmm2, %xmm0
	imull	%eax, %edx
	addl	$2, %eax
	cmpl	$30, %eax
	cvtsi2sd	%edx, %xmm4
	divsd	%xmm4, %xmm6
	mulsd	%xmm6, %xmm0
	addsd	%xmm0, %xmm1
	jne	.L6
	movapd	%xmm3, %xmm0
	movl	$.LC2, %edi
	movl	$2, %eax
	movsd	%xmm3, 16(%rsp)
	movapd	%xmm2, (%rsp)
	call	printf
	subl	$1, %ebx
	movsd	16(%rsp), %xmm3
	movapd	(%rsp), %xmm2
	addsd	.LC3(%rip), %xmm3
	jne	.L7
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC0:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC1:
	.long	1374389535
	.long	-1074192712
	.align 8
.LC3:
	.long	1958505087
	.long	1069815955
	.ident	"GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3"
	.section	.note.GNU-stack,"",@progbits