// File: /workspace/github_c_makefile_star2_O0/adelciotto[P]scg/examples/seabug.c
// Function: seabug_leg_update
static void seabug_leg_update(seabug_leg_t *leg, float32_t t) {
    leg->x0 = sinf(t / 10.0f) * 100.0f + sinf(t / 5.0f) * 20.0f +
              cosf(t / 2.0f) * 3.0f;
    leg->y0 = cosf(t / 10.0f) * 100.0f + sinf(t / 5.0f) * 50.0f;

    leg->x1 = sinf(t / 10.0f) * 200.0f + sinf(t / 4.0f) * 2.0f;
    leg->y1 = -sinf(t / 10.0f) * 200.0f + sinf(t / 12.0f) * 20.0f;

    leg->x2 = sinf(t / 10.0f) * 200.0f + sinf(t / 4.0f) * 2.0f;
    leg->y2 = cosf(t / 10.0f) * 200.0f + sinf(t / 12.0f) * 20.0f;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movss %xmm0, -0xc(%rbp)
movss -0xc(%rbp), %xmm0
movss 0x1186(%rip), %xmm1     # 0x8014
divss %xmm1, %xmm0
callq 0x21d0
movss %xmm0, -0x28(%rbp)
movss -0xc(%rbp), %xmm0
movss 0x1183(%rip), %xmm1     # 0x802c
divss %xmm1, %xmm0
callq 0x21d0
movaps %xmm0, %xmm1
movss -0x28(%rbp), %xmm0
movss 0x1162(%rip), %xmm2     # 0x8024
mulss %xmm2, %xmm1
movss 0x116e(%rip), %xmm2     # 0x803c
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x24(%rbp)
movss -0xc(%rbp), %xmm0
movss 0x1128(%rip), %xmm1     # 0x8010
divss %xmm1, %xmm0
callq 0x2180
movss -0x24(%rbp), %xmm1
movss 0x1146(%rip), %xmm2     # 0x8044
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x4(%rax)
movss -0xc(%rbp), %xmm0
movss 0x10f8(%rip), %xmm1     # 0x8014
divss %xmm1, %xmm0
callq 0x2180
movss %xmm0, -0x20(%rbp)
movss -0xc(%rbp), %xmm0
movss 0x10f5(%rip), %xmm1     # 0x802c
divss %xmm1, %xmm0
callq 0x21d0
movaps %xmm0, %xmm1
movss -0x20(%rbp), %xmm0
movss 0x1104(%rip), %xmm2     # 0x8054
mulss %xmm2, %xmm1
movss 0x10e0(%rip), %xmm2     # 0x803c
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x8(%rax)
movss -0xc(%rbp), %xmm0
movss 0x109a(%rip), %xmm1     # 0x8014
divss %xmm1, %xmm0
callq 0x21d0
movss %xmm0, -0x1c(%rbp)
movss -0xc(%rbp), %xmm0
movss 0x10ab(%rip), %xmm1     # 0x8040
divss %xmm1, %xmm0
callq 0x21d0
movaps %xmm0, %xmm1
movss -0x1c(%rbp), %xmm0
movss 0x1062(%rip), %xmm2     # 0x8010
mulss %xmm2, %xmm1
movss 0x1092(%rip), %xmm2     # 0x804c
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0xc(%rax)
movss -0xc(%rbp), %xmm0
movss 0x103c(%rip), %xmm1     # 0x8014
divss %xmm1, %xmm0
callq 0x21d0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movss %xmm0, -0x18(%rbp)
movss -0xc(%rbp), %xmm0
movss 0x1050(%rip), %xmm1     # 0x8050
divss %xmm1, %xmm0
callq 0x21d0
movaps %xmm0, %xmm1
movss -0x18(%rbp), %xmm0
movss 0x100b(%rip), %xmm2     # 0x8024
mulss %xmm2, %xmm1
movss 0x1027(%rip), %xmm2     # 0x804c
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x10(%rax)
movss -0xc(%rbp), %xmm0
movss 0xfd1(%rip), %xmm1      # 0x8014
divss %xmm1, %xmm0
callq 0x21d0
movss %xmm0, -0x14(%rbp)
movss -0xc(%rbp), %xmm0
movss 0xfe2(%rip), %xmm1      # 0x8040
divss %xmm1, %xmm0
callq 0x21d0
movaps %xmm0, %xmm1
movss -0x14(%rbp), %xmm0
movss 0xf99(%rip), %xmm2      # 0x8010
mulss %xmm2, %xmm1
movss 0xfc9(%rip), %xmm2      # 0x804c
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x14(%rax)
movss -0xc(%rbp), %xmm0
movss 0xf73(%rip), %xmm1      # 0x8014
divss %xmm1, %xmm0
callq 0x2180
movss %xmm0, -0x10(%rbp)
movss -0xc(%rbp), %xmm0
movss 0xf94(%rip), %xmm1      # 0x8050
divss %xmm1, %xmm0
callq 0x21d0
movaps %xmm0, %xmm1
movss -0x10(%rbp), %xmm0
movss 0xf4f(%rip), %xmm2      # 0x8024
mulss %xmm2, %xmm1
movss 0xf6b(%rip), %xmm2      # 0x804c
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x18(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)