// File: /workspace/github_c_makefile_star2_O2/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:
movslq %esi, %rcx
movq 0x2258(%rdi,%rcx,8), %rax
movq 0x2260(%rdi,%rcx,8), %rcx
movq (%rcx), %rdx
leaq -0x1443f(%rip), %rsi    # 0x7fc97
cmpq %rsi, %rdx
je 0x94157
leaq -0x520(%rip), %rsi      # 0x93bc2
cmpq %rsi, %rdx
je 0x9419b
leaq -0xbcf(%rip), %rsi      # 0x93523
cmpq %rsi, %rdx
je 0x941fe
leaq -0xa89(%rip), %rsi      # 0x93679
cmpq %rsi, %rdx
setne %dil
leaq -0xa69(%rip), %r8       # 0x936a7
cmpq %r8, %rdx
setne %r8b
testb %r8b, %dil
jne 0x94249
movq 0x8(%rcx), %rdx
movq %rdx, 0x10(%rax)
movq 0x18(%rcx), %rdx
movq %rdx, 0x20(%rax)
cmpq %rsi, (%rcx)
leaq 0x1d6(%rip), %rcx       # 0x94310
leaq 0x223(%rip), %rdx       # 0x94364
cmoveq %rcx, %rdx
movq %rdx, (%rax)
movabsq $0x200000006, %rcx      # imm = 0x200000006
jmp 0x94232
movq 0x8(%rcx), %rdx
movq %rdx, 0x10(%rax)
movq 0x28(%rcx), %rdx
movq %rdx, 0x30(%rax)
movq 0x18(%rcx), %rcx
movq %rcx, 0x20(%rax)
leaq -0x39f(%rip), %rcx      # 0x93dd7
movq %rcx, (%rax)
decl 0x2258(%rdi)
movabsq $0x200000007, %rcx      # imm = 0x200000007
movq %rcx, 0x60(%rax)
movl $0x3, 0x70(%rax)
pushq $0x3
jmp 0x9423f
movq 0x18(%rax), %rdx
movq 0x28(%rax), %rsi
movq %rsi, 0x30(%rax)
movq %rdx, 0x20(%rax)
movq 0x28(%rcx), %rdx
movq %rdx, 0x10(%rax)
movq 0x18(%rcx), %rdx
movq %rdx, 0x28(%rax)
movq 0x10(%rcx), %rdx
movq %rdx, 0x18(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x38(%rax)
leaq 0xdc(%rip), %rcx        # 0x942ae
movq %rcx, (%rax)
decl 0x2258(%rdi)
movabsq $0x200000003, %rcx      # imm = 0x200000003
movq %rcx, 0x70(%rax)
movabsq $0x300000008, %rcx      # imm = 0x300000008
movq %rcx, 0x60(%rax)
pushq $0x3
popq %rcx
pushq $0x78
jmp 0x94242
movq 0x18(%rcx), %rdx
movq %rdx, 0x20(%rax)
movsd 0x10(%rcx), %xmm0
movsd %xmm0, 0x30(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x10(%rax)
leaq 0xc1(%rip), %rcx        # 0x942e0
movq %rcx, (%rax)
decl 0x2258(%rdi)
movabsq $0x200000007, %rcx      # imm = 0x200000007
movq %rcx, 0x60(%rax)
movl $0x3, 0x70(%rax)
pushq $0x2
popq %rcx
pushq $0x74
popq %rdx
movl %ecx, (%rax,%rdx)
movb $0x1, %al
retq
leaq 0x2f(%rip), %rsi        # 0x9427f
cmpq %rsi, %rdx
je 0x94258
xorl %eax, %eax
retq
movq 0x18(%rcx), %rdx
movq %rdx, 0x10(%rax)
movq 0x28(%rcx), %rdx
movq %rdx, 0x20(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x30(%rax)
leaq 0x154(%rip), %rcx       # 0x943cb
movq %rcx, (%rax)
jmp 0x9417f