// File: /workspace/github_cpp_makefile_star2_O2/Wombozo[P]harmony/src/Interval.cpp
// Function: Interval::Interval(int, int)
Interval::Interval(int t, int s) : type(t), semitones(s)
{
    if (t == 2 && s == 1)
        name = "minor second";
    else if (t == 2 && s == 2)
        name = "major second";
    else if (t == 2 && s == 3)
        name = "augmented second";
    else if (t == 3 && s == 2)
        name = "diminished third";
    else if (t == 3 && s == 3)
        name = "minor third";
    else if (t == 3 && s == 4)
        name = "major third";
    else if (t == 3 && s == 5)
        name = "augmented third";
    else if (t == 4 && s == 4)
        name = "diminished fourth";
    else if (t == 4 && s == 5)
        name = "perfect fourth";
    else if (t == 4 && s == 6)
        name = "augmented fourth";
    else if (t == 5 && s == 6)
        name = "diminished fifth";
    else if (t == 5 && s == 7)
        name = "perfect fifth";
    else if (t == 5 && s == 8)
        name = "augmented fifth";
    else if (t == 6 && s == 7)
        name = "diminished sixth";
    else if (t == 6 && s == 8)
        name = "minor sixth";
    else if (t == 6 && s == 9)
        name = "major sixth";
    else if (t == 6 && s == 10)
        name = "augmented sixth";
    else if (t == 7 && s == 9)
        name = "diminished seventh";
    else if (t == 7 && s == 10)
        name = "minor seventh";
    else if (t == 7 && s == 11)
        name = "major seventh";
    else
        throw E_INTERVAL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
leaq 0x10(%rdi), %rax
movq %rax, (%rdi)
andq $0x0, 0x8(%rdi)
movb $0x0, 0x10(%rdi)
movl %esi, 0x20(%rdi)
movl %edx, 0x24(%rdi)
movl %esi, %eax
xorl $0x2, %eax
movl %edx, %ecx
xorl $0x1, %ecx
orl %eax, %ecx
jne 0x669a
leaq 0x5b20(%rip), %rsi      # 0xc1b5
jmp 0x6804
movl %edx, %ecx
xorl $0x2, %ecx
movl %eax, %edi
orl %ecx, %edi
jne 0x66b1
leaq 0x5b16(%rip), %rsi      # 0xc1c2
jmp 0x6804
movl %edx, %edi
xorl $0x3, %edi
orl %edi, %eax
jne 0x66c6
leaq 0x5b0e(%rip), %rsi      # 0xc1cf
jmp 0x6804
movl %esi, %eax
xorl $0x3, %eax
orl %eax, %ecx
jne 0x66db
leaq 0x5b0a(%rip), %rsi      # 0xc1e0
jmp 0x6804
orl %eax, %edi
jne 0x66eb
leaq 0x5b0b(%rip), %rsi      # 0xc1f1
jmp 0x6804
movl %edx, %ecx
xorl $0x4, %ecx
movl %eax, %edi
orl %ecx, %edi
jne 0x6702
leaq 0x5b00(%rip), %rsi      # 0xc1fd
jmp 0x6804
movl %edx, %edi
xorl $0x5, %edi
orl %edi, %eax
jne 0x6717
leaq 0x5af7(%rip), %rsi      # 0xc209
jmp 0x6804
movl %esi, %eax
xorl $0x4, %eax
orl %eax, %ecx
jne 0x672c
leaq 0x5af2(%rip), %rsi      # 0xc219
jmp 0x6804
orl %eax, %edi
jne 0x673c
leaq 0x5af4(%rip), %rsi      # 0xc22b
jmp 0x6804
movl %edx, %ecx
xorl $0x6, %ecx
orl %ecx, %eax
jne 0x6751
leaq 0x5aee(%rip), %rsi      # 0xc23a
jmp 0x6804
movl %esi, %eax
xorl $0x5, %eax
orl %eax, %ecx
jne 0x6766
leaq 0x5aea(%rip), %rsi      # 0xc24b
jmp 0x6804
movl %edx, %ecx
xorl $0x7, %ecx
movl %eax, %edi
orl %ecx, %edi
jne 0x677d
leaq 0x5ae4(%rip), %rsi      # 0xc25c
jmp 0x6804
movl %edx, %edi
xorl $0x8, %edi
orl %edi, %eax
jne 0x678f
leaq 0x5add(%rip), %rsi      # 0xc26a
jmp 0x6804
movl %esi, %eax
xorl $0x6, %eax
orl %eax, %ecx
jne 0x67a1
leaq 0x5adb(%rip), %rsi      # 0xc27a
jmp 0x6804
orl %eax, %edi
jne 0x67ae
leaq 0x5adf(%rip), %rsi      # 0xc28b
jmp 0x6804
movl %edx, %ecx
xorl $0x9, %ecx
movl %eax, %edi
orl %ecx, %edi
jne 0x67c2
leaq 0x5ad7(%rip), %rsi      # 0xc297
jmp 0x6804
movl %edx, %edi
xorl $0xa, %edi
orl %edi, %eax
jne 0x67d4
leaq 0x5ad1(%rip), %rsi      # 0xc2a3
jmp 0x6804
movl %esi, %eax
xorl $0x7, %eax
orl %eax, %ecx
jne 0x67e6
leaq 0x5acf(%rip), %rsi      # 0xc2b3
jmp 0x6804
orl %edi, %eax
jne 0x67f3
leaq 0x5ad5(%rip), %rsi      # 0xc2c6
jmp 0x6804
cmpl $0x7, %esi
jne 0x6811
cmpl $0xb, %edx
jne 0x6811
leaq 0x5ad0(%rip), %rsi      # 0xc2d4
movq %rbx, %rdi
callq 0x32e0
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x4
popq %rdi
callq 0x30f0
andl $0x0, (%rax)
leaq 0xb055(%rip), %rsi      # 0x11878
movq %rax, %rdi
xorl %edx, %edx
callq 0x3290
movq %rax, %r14
movq %rbx, %rdi
callq 0x30d0
movq %r14, %rdi
callq 0x32b0