// File: /workspace/github_c_makefile_star2_O0/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_conversion_oth.c
// Function: ft_conversion_double
char		*ft_conversion_double(long double nb, t_flag *flag, char c)
{
	char	*s;
	int		len;

	s = ft_dtoa(&nb, flag->dot ? flag->precision : 6);
	ft_nan_inf(s, flag);
	ft_double_flag_neg(&s, flag);
	len = ft_strlen(s);
	if (flag->dot && !flag->precision && flag->sharp && s[len - 1] != '.')
		ft_join_free(&s, ".", 1, 0);
	if (s[len - 1] == '.' && !flag->sharp)
		s[len - 1] = '\0';
	if (flag->plus || flag->neg)
		flag->space = 0;
	if (c == 'F' && s
		&& (*s == 'n' || (*s == 'i' || (flag->neg && *(s + 1) == 'i'))))
		ft_strupcase(s);
	flag->precision -= len;
	flag->precision < 0 ? flag->precision = 0 : flag->precision;
	flag->field -= flag->precision + ft_strlen(s)
				+ flag->space + flag->plus + flag->neg;
	ft_fill_string(&s, flag, c);
	if (flag->field >= 0 && !flag->zero)
		ft_filler(&s, ft_strnew_c(flag->field, ' '), flag->min, flag->null);
	return (s);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movb %sil, %al
fldt 0x10(%rbp)
fstpt -0x10(%rbp)
movq %rdi, -0x18(%rbp)
movb %al, -0x19(%rbp)
movq -0x18(%rbp), %rax
cmpl $0x0, 0x2c(%rax)
je 0x578e
movq -0x18(%rbp), %rax
movl 0x34(%rax), %eax
movl %eax, -0x30(%rbp)
jmp 0x5798
movl $0x6, %eax
movl %eax, -0x30(%rbp)
jmp 0x5798
movl -0x30(%rbp), %esi
leaq -0x10(%rbp), %rdi
callq 0x6570
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x6450
movq -0x18(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x64e0
movq -0x28(%rbp), %rdi
callq 0x9320
movl %eax, -0x2c(%rbp)
movq -0x18(%rbp), %rax
cmpl $0x0, 0x2c(%rax)
je 0x5819
movq -0x18(%rbp), %rax
cmpl $0x0, 0x34(%rax)
jne 0x5819
movq -0x18(%rbp), %rax
cmpl $0x0, 0x8(%rax)
je 0x5819
movq -0x28(%rbp), %rax
movl -0x2c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2e, %eax
je 0x5819
leaq -0x28(%rbp), %rdi
leaq 0x4992(%rip), %rsi      # 0xa19f
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x4f50
movq -0x28(%rbp), %rax
movl -0x2c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2e, %eax
jne 0x584a
movq -0x18(%rbp), %rax
cmpl $0x0, 0x8(%rax)
jne 0x584a
movq -0x28(%rbp), %rax
movl -0x2c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
movq -0x18(%rbp), %rax
cmpl $0x0, 0x14(%rax)
jne 0x585e
movq -0x18(%rbp), %rax
cmpl $0x0, 0x3c(%rax)
je 0x5869
movq -0x18(%rbp), %rax
movl $0x0, 0x30(%rax)
movsbl -0x19(%rbp), %eax
cmpl $0x46, %eax
jne 0x58b1
cmpq $0x0, -0x28(%rbp)
je 0x58b1
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x6e, %eax
je 0x58a8
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x69, %eax
je 0x58a8
movq -0x18(%rbp), %rax
cmpl $0x0, 0x3c(%rax)
je 0x58b1
movq -0x28(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x69, %eax
jne 0x58b1
movq -0x28(%rbp), %rdi
callq 0x94b0
movl -0x2c(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x34(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x34(%rax)
movq -0x18(%rbp), %rax
cmpl $0x0, 0x34(%rax)
jge 0x58d7
movq -0x18(%rbp), %rax
movl $0x0, 0x34(%rax)
jmp 0x58de
movq -0x18(%rbp), %rax
movl 0x34(%rax), %eax
movq -0x18(%rbp), %rax
movslq 0x34(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rdi
callq 0x9320
movq -0x38(%rbp), %rdx
addq %rax, %rdx
movq -0x18(%rbp), %rax
movslq 0x30(%rax), %rax
addq %rax, %rdx
movq -0x18(%rbp), %rax
movslq 0x14(%rax), %rax
addq %rax, %rdx
movq -0x18(%rbp), %rax
movslq 0x3c(%rax), %rax
addq %rax, %rdx
movq -0x18(%rbp), %rax
movslq 0x38(%rax), %rcx
subq %rdx, %rcx
movl %ecx, 0x38(%rax)
movq -0x18(%rbp), %rsi
leaq -0x28(%rbp), %rdi
movsbl -0x19(%rbp), %edx
callq 0x5370
movq -0x18(%rbp), %rax
cmpl $0x0, 0x38(%rax)
jl 0x597a
movq -0x18(%rbp), %rax
cmpl $0x0, 0xc(%rax)
jne 0x597a
movq -0x18(%rbp), %rax
movslq 0x38(%rax), %rdi
movl $0x20, %esi
callq 0x4e20
movq %rax, %rsi
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
leaq -0x28(%rbp), %rdi
callq 0x4eb0
movq -0x28(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop