main-with-argv := False_u8;
compile-text-header := λ . (: (tail(
(let output SNil)
(set output (SCons( (close output) (close(SAtom '.global\s_start\n_s )) )))
(set output (SCons( (close output) (close(SAtom '.text\n_s )) )))
(set output (SCons( (close output) (close(SAtom '_start:\n_s )) )))
(set output (SCons( (close output) (close assemble-init-section) )))
(if (==( main-with-argv True_u8 )) (tail(
(set output (SCons( (close output) (close(SAtom '\tpopq\s%r8\n_s )) )))
(set output (SCons( (close output) (close(SAtom '\tmovq\s%rsp,\s%r9\n_s )) )))
)) ())
(set output (SCons( (close output) (close(SAtom '\tpush\s%rbp\n_s )) )))
(set output (SCons( (close output) (close(SAtom '\tmov\s%rsp,\s%rbp\n_s )) )))
(if (==( main-with-argv True_u8 )) (tail(
(set output (SCons( (close output) (close(SAtom '\tpushq\s%r8\n_s )) )))
(set output (SCons( (close output) (close(SAtom '\tpushq\s%r9\n_s )) )))
)) ())
(set output (SCons( (close output) (close(SAtom '\tcall\smain\n_s )) )))
(set output (SCons( (close output) (close(SAtom '\tmov\s%rbp,\s%rsp\n_s )) )))
(set output (SCons( (close output) (close(SAtom '\tpop\s%rbp\n_s )) )))
output
)) S);
compile-data-header := λ . (: (tail(
(let output SNil)
(set output (SCons( (close output) (close(SAtom '.data\n_s )) )))
output
)) S);
compile-exit-cleanup := λ . (: (tail(
(let r SNil)
(set r (SCons( (close r) (close(SAtom '\tmov\s$60,\s%rax\n_s)) )))
(set r (SCons( (close r) (close(SAtom '\tmov\s$0,\s%rdi\n_s)) )))
(set r (SCons( (close r) (close(SAtom '\tsyscall\n_s)) )))
r
)) S);