Here are some examples of the code generated by Snowman.

Binary Search Tree

000000000040058d <insert>:
  40058d:       55                      push   %rbp
  40058e:       48 89 e5                mov    %rsp,%rbp
  400591:       48 83 ec 10             sub    $0x10,%rsp
  400595:       48 89 7d f8             mov    %rdi,-0x8(%rbp)
  400599:       48 89 75 f0             mov    %rsi,-0x10(%rbp)
  40059d:       48 8b 45 f8             mov    -0x8(%rbp),%rax
  4005a1:       48 8b 00                mov    (%rax),%rax
  4005a4:       48 85 c0                test   %rax,%rax
  4005a7:       75 0d                   jne    4005b6 <insert+0x29>
  4005a9:       48 8b 45 f8             mov    -0x8(%rbp),%rax
  4005ad:       48 8b 55 f0             mov    -0x10(%rbp),%rdx
  4005b1:       48 89 10                mov    %rdx,(%rax)
  4005b4:       eb 5c                   jmp    400612 <insert+0x85>
  4005b6:       48 8b 45 f0             mov    -0x10(%rbp),%rax
  4005ba:       8b 10                   mov    (%rax),%edx
  4005bc:       48 8b 45 f8             mov    -0x8(%rbp),%rax
  4005c0:       48 8b 00                mov    (%rax),%rax
  4005c3:       8b 00                   mov    (%rax),%eax
  4005c5:       39 c2                   cmp    %eax,%edx
  4005c7:       7d 1c                   jge    4005e5 <insert+0x58>
  4005c9:       48 8b 45 f8             mov    -0x8(%rbp),%rax
  4005cd:       48 8b 00                mov    (%rax),%rax
  4005d0:       48 8d 50 10             lea    0x10(%rax),%rdx
  4005d4:       48 8b 45 f0             mov    -0x10(%rbp),%rax
  4005d8:       48 89 c6                mov    %rax,%rsi
  4005db:       48 89 d7                mov    %rdx,%rdi
  4005de:       e8 aa ff ff ff          callq  40058d <insert>
  4005e3:       eb 2d                   jmp    400612 <insert+0x85>
  4005e5:       48 8b 45 f0             mov    -0x10(%rbp),%rax
  4005e9:       8b 10                   mov    (%rax),%edx
  4005eb:       48 8b 45 f8             mov    -0x8(%rbp),%rax
  4005ef:       48 8b 00                mov    (%rax),%rax
  4005f2:       8b 00                   mov    (%rax),%eax
  4005f4:       39 c2                   cmp    %eax,%edx
  4005f6:       7e 1a                   jle    400612 <insert+0x85>
  4005f8:       48 8b 45 f8             mov    -0x8(%rbp),%rax
  4005fc:       48 8b 00                mov    (%rax),%rax
  4005ff:       48 8d 50 08             lea    0x8(%rax),%rdx
  400603:       48 8b 45 f0             mov    -0x10(%rbp),%rax
  400607:       48 89 c6                mov    %rax,%rsi
  40060a:       48 89 d7                mov    %rdx,%rdi
  40060d:       e8 7b ff ff ff          callq  40058d <insert>
  400612:       c9                      leaveq
  400613:       c3                      retq

gets automatically translated to

struct s0 {
    int32_t f0;
    signed char[4] pad8;
    struct s0* f8;
    struct s0* f16;
};

void insert(struct s0** rdi, struct s0* rsi) {
    struct s0** v3;
    struct s0* v4;

    v3 = rdi;
    v4 = rsi;
    if (*v3 != (struct s0*)0) {
        if ((*v3)->f0 <= v4->f0) {
            if (v4->f0 > (*v3)->f0) {
                insert(&(*v3)->f8, v4);
            }
        } else {
            insert(&(*v3)->f16, v4);
        }
    } else {
        *v3 = v4;
    }
    return;
}

Hello, World

#include <stdio.h>

int main() {
        printf("Hello, World!\n");

        return 0;
}

after compilation by GCC on Linux and decompilation by Snowman becomes

void call_gmon_start();

void frame_dummy();

void __do_global_ctors_aux();

void _init() {
    call_gmon_start();
    frame_dummy();
    __do_global_ctors_aux();
    return;
}

int64_t __gmon_start__ = 0;

void call_gmon_start() {
    int64_t rax1;

    rax1 = __gmon_start__;
    if (rax1 != 0) {
        rax1();
    }
    return;
}

int64_t __JCR_END__ = 0;

void frame_dummy() {
    if (__JCR_END__ == 0 || 1) {
        return;
    } else {
        goto 0;
    }
}

int64_t __CTOR_LIST__ = -1;

void __do_global_ctors_aux() {
    int64_t rax1;
    int64_t* rbx2;

    rax1 = __CTOR_LIST__;
    if (rax1 != -1) {
        *(int32_t*)&rbx2 = 0x6006a0;
        *((int32_t*)&rbx2 + 1) = 0;
        do {
            --rbx2;
            rax1();
            rax1 = *rbx2;
        } while (rax1 != -1);
    }
    return;
}

signed char completed_6341 = 0;

uint64_t dtor_idx_6343 = 0;

void __do_global_dtors_aux() {
    uint64_t rax1;
    uint64_t rax2;

    if (completed_6341 == 0) {
        rax1 = dtor_idx_6343;
        if (0 > rax1) {
            do {
                rax2 = rax1 + 1;
                dtor_idx_6343 = rax2;
                *(int64_t*)(rax2 * 8 + 0x6006b0)();
                rax1 = dtor_idx_6343;
            } while (rax1 < 0);
        }
        completed_6341 = 1;
    }
    return;
}

int64_t puts = 0x4003e6;

void func_4003e0(int64_t rdi) {
    goto puts;
}

int64_t __libc_start_main = 0x4003f6;

void func_4003f0(int64_t rdi, int64_t rsi, void* rdx, int64_t rcx, int64_t r8, int64_t r9) {
    goto __libc_start_main;
}

void _fini() {
    __do_global_dtors_aux();
    return;
}

int64_t main() {
    func_4003e0("Hello, World!");
    return 0;
}

int64_t g600880 = 0;

void func_4003e6() {
    goto g600880;
}

void __libc_csu_fini() {
    return;
}

void __libc_csu_init(int32_t edi, int64_t rsi, int64_t rdx) {
    int32_t r13d4;
    int64_t r14_5;
    int64_t r15_6;
    uint64_t rbx7;
    int64_t rdi8;

    r13d4 = edi;
    r14_5 = rsi;
    r15_6 = rdx;
    _init();
    if (!1) {
        *(int32_t*)&rbx7 = 0;
        *((int32_t*)&rbx7 + 1) = 0;
        do {
            *(int32_t*)&rdi8 = r13d4;
            *((int32_t*)&rdi8 + 1) = 0;
            *(int64_t*)(0x60069c + rbx7 * 8)(rdi8, r14_5, r15_6);
            ++rbx7;
        } while (rbx7 < 0);
    }
    return;
}

void func_4003f6() {
    goto 0x4003d0;
}

void _start() {
    int64_t v1;
    int64_t rdx2;

    func_4003f0(main, v1, (int64_t)"intrinsic"() + 8, __libc_csu_init, __libc_csu_fini, rdx2);
    __asm__("hlt");
}