// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: d_vd_f_combinable
static bool d_vd_f_combinable(s7_scheme *sc, int32_t start)
                {
                    opt_info *opc, *o1;
                    opc = sc->opts[start - 1];
                    o1 = sc->opts[start];
                    if (o1->v[0].fd == opt_d_v)
                    {
                        opc->v[2].p = o1->v[1].p;
                        opc->v[6].obj = o1->v[5].obj;
                        opc->v[4].d_v_f = o1->v[3].d_v_f;
                        opc->v[0].fd = opt_d_vd_o;
                        backup_pc(sc);
                        return(oo_set_type_2(opc, 7, 1 + (5 << 4), 2 + (6 << 4), OO_V, OO_V));
                    }
                    if (o1->v[0].fd == opt_d_vd_s)
                    {
                        opc->v[6].obj = opc->v[5].obj;
                        opc->v[4].d_vd_f = opc->v[3].d_vd_f; /* room for symbols */
                        opc->v[2].obj = o1->v[5].obj;
                        opc->v[5].d_vd_f = o1->v[3].d_vd_f;
                        opc->v[3].p = o1->v[2].p;
                        opc->v[7].p = o1->v[1].p;
                        opc->v[0].fd = opt_d_vd_o2;
                        backup_pc(sc);
                        return(oo_set_type_3(opc, 8, 1 + (6 << 4), 3, 7 + (2 << 4), OO_V, OO_D, OO_V));
                    }
                    if (o1->v[0].fd == opt_d_dd_cs)
                    {
                        opc->v[4].d_dd_f = o1->v[3].d_dd_f;
                        opc->v[6].x = o1->v[2].x;
                        opc->v[2].p = o1->v[1].p;
                        opc->v[0].fd = opt_d_vd_o3;
                        backup_pc(sc);
                        return(oo_set_type_2(opc, 7, 1 + (5 << 4), 2, OO_V, OO_D));
                    }
                    if ((o1->v[0].fd == opt_d_dd_sf_mul) || (o1->v[0].fd == opt_d_dd_sf))
                    {
                        opc->v[2].p = o1->v[1].p;
                        opc->v[4].d_dd_f = o1->v[3].d_dd_f;
                        if (o1->v[0].fd == opt_d_dd_sf_mul)
                            opc->v[0].fd = opt_d_vd_o1_mul;
                        else opc->v[0].fd = opt_d_vd_o1;
                        return(oo_set_type_2(opc, 6, 1 + (5 << 4), 2, OO_V, OO_D));
                    }
                    if (o1->v[0].fd == opt_d_vd_f)
                    {
                        opc->v[2].d_vd_f = o1->v[3].d_vd_f;
                        opc->v[4].obj = o1->v[5].obj;
                        opc->v[6].p = o1->v[1].p;
                        opc->v[0].fd = opt_d_vd_ff;
                        return(oo_set_type_2(opc, 7, 1 + (5 << 4), 6 + ((4 << 4)), OO_V, OO_V));
                    }
                    return(return_false(sc, NULL, __func__, __LINE__));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movl %esi, 0x34(%rsp)
movq 0x38(%rsp), %rax
movl 0x34(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rax
movslq 0x34(%rsp), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
leaq -0x2fb6c(%rip), %rcx    # 0xe6100
cmpq %rcx, (%rax)
jne 0x115d0e
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x28(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x28(%rsp), %rax
leaq -0x5d7(%rip), %rcx      # 0x1156e0
movq %rcx, (%rax)
movq 0x38(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x28(%rsp), %rdi
movl $0x7, %esi
movl $0x51, %edx
movl $0x62, %ecx
movl $0x3, %r9d
leaq 0xd99af(%rip), %rax     # 0x1ef69e
movl %r9d, %r8d
movq %rax, (%rsp)
movl $0xe007, 0x8(%rsp)      # imm = 0xE007
callq 0xe54b0
andb $0x1, %al
movb %al, 0x47(%rsp)
jmp 0x11600c
movq 0x20(%rsp), %rax
leaq -0xa1a(%rip), %rcx      # 0x115300
cmpq %rcx, (%rax)
jne 0x115e03
movq 0x28(%rsp), %rax
movq 0x28(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x28(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x20(%rsp), %rax
movq 0x28(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x38(%rax)
movq 0x28(%rsp), %rax
leaq 0x2e5(%rip), %rcx       # 0x116080
movq %rcx, (%rax)
movq 0x38(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x28(%rsp), %rdi
movl $0x8, %esi
movl $0x61, %edx
movl $0x3, %r9d
movl $0x27, %r8d
leaq 0xd98ca(%rip), %rax     # 0x1ef69e
movl %r9d, %ecx
movl $0x2, (%rsp)
movl $0x3, 0x8(%rsp)
movq %rax, 0x10(%rsp)
movl $0xe013, 0x18(%rsp)     # imm = 0xE013
callq 0xe53d0
andb $0x1, %al
movb %al, 0x47(%rsp)
jmp 0x11600c
movq 0x20(%rsp), %rax
leaq -0x248f(%rip), %rcx     # 0x113980
cmpq %rcx, (%rax)
jne 0x115eb4
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x20(%rsp), %rax
movsd 0x10(%rax), %xmm0
movq 0x28(%rsp), %rax
movsd %xmm0, 0x30(%rax)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x28(%rsp), %rax
leaq 0x284(%rip), %rcx       # 0x1160e0
movq %rcx, (%rax)
movq 0x38(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x28(%rsp), %rdi
movl $0x7, %esi
movl $0x51, %edx
movl $0x2, %r9d
movl $0x3, %r8d
leaq 0xd9809(%rip), %rax     # 0x1ef69e
movl %r9d, %ecx
movq %rax, (%rsp)
movl $0xe01c, 0x8(%rsp)      # imm = 0xE01C
callq 0xe54b0
andb $0x1, %al
movb %al, 0x47(%rsp)
jmp 0x11600c
movq 0x20(%rsp), %rax
leaq -0x1ef0(%rip), %rcx     # 0x113fd0
cmpq %rcx, (%rax)
je 0x115eda
movq 0x20(%rsp), %rax
leaq -0x1ea1(%rip), %rcx     # 0x114030
cmpq %rcx, (%rax)
jne 0x115f70
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x20(%rsp), %rax
leaq -0x1f3a(%rip), %rcx     # 0x113fd0
cmpq %rcx, (%rax)
jne 0x115f20
movq 0x28(%rsp), %rax
leaq 0x225(%rip), %rcx       # 0x116140
movq %rcx, (%rax)
jmp 0x115f2f
movq 0x28(%rsp), %rax
leaq 0x2c4(%rip), %rcx       # 0x1161f0
movq %rcx, (%rax)
movq 0x28(%rsp), %rdi
movl $0x6, %esi
movl $0x51, %edx
movl $0x2, %r9d
movl $0x3, %r8d
leaq 0xd974d(%rip), %rax     # 0x1ef69e
movl %r9d, %ecx
movq %rax, (%rsp)
movl $0xe025, 0x8(%rsp)      # imm = 0xE025
callq 0xe54b0
andb $0x1, %al
movb %al, 0x47(%rsp)
jmp 0x11600c
movq 0x20(%rsp), %rax
leaq 0xa4(%rip), %rcx        # 0x116020
cmpq %rcx, (%rax)
jne 0x116007
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x28(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x28(%rsp), %rax
leaq 0x2e9(%rip), %rcx       # 0x1162b0
movq %rcx, (%rax)
movq 0x28(%rsp), %rdi
movl $0x7, %esi
movl $0x51, %edx
movl $0x46, %ecx
movl $0x3, %r9d
leaq 0xd96b3(%rip), %rax     # 0x1ef69e
movl %r9d, %r8d
movq %rax, (%rsp)
movl $0xe02d, 0x8(%rsp)      # imm = 0xE02D
callq 0xe54b0
andb $0x1, %al
movb %al, 0x47(%rsp)
jmp 0x11600c
movb $0x0, 0x47(%rsp)
movb 0x47(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nopw (%rax,%rax)