#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *);
void print_help(void) {
  printf("Usage: asapconv [OPTIONS] INPUTFILE...\n"
         "Each INPUTFILE must be in a supported format:\n"
         "SAP, CMC, CM3, CMR, CMS, DMC, DLT, MPT, MPD, RMT, TMC, TM8 or TM2.\n"
         "Output EXT must be one of the above or "
         "WAV or RAW"
         ".\n"
         "In FILE and DIR you can use the following placeholders:\n"
         "%%a (author), %%n (music name) and %%d (music creation date).\n"
         "Options:\n"
         "-o FILE.EXT --output=FILE.EXT  Write to the specified file\n"
         "-o .EXT     --output=.EXT      Use input file path and name\n"
         "-o DIR/.EXT --output=DIR/.EXT  Write to the specified directory\n"
         "-o -.EXT    --output=-.EXT     Write to standard output\n"
         "-a \"TEXT\"   --author=\"TEXT\"    Set author name\n"
         "-n \"TEXT\"   --name=\"TEXT\"      Set music name\n"
         "-d \"TEXT\"   --date=\"TEXT\"      Set music creation date "
         "(DD/MM/YYYY format)\n"
         "-h          --help             Display this information\n"
         "-v          --version          Display version information\n"
         "Options for "
         "WAV or RAW"
         " output:\n"
         "-s SONG     --song=SONG        Select subsong number (zero-based)\n"
         "-t TIME     --time=TIME        Set output length (MM:SS format)\n"
         "-m CHANNELS --mute=CHANNELS    Mute POKEY channels (1-8)\n"
         "-b          --byte-samples     Output 8-bit samples\n"
         "-w          --word-samples     Output 16-bit samples (default)\n"
         "Options for SAP output:\n"
         "-s SONG     --song=SONG        Select subsong to set length of\n"
         "-t TIME     --time=TIME        Set subsong length (MM:SS format)\n");
}


x86 assembly (clang, -O0):
<print_help>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_help>:
lea    0xee9(%rip),%rdi
jmp    1030 <printf@plt>

LLVM IR (-O0):
@.str = [1338 x i8] c"Usage: asapconv [OPTIONS] INPUTFILE...\0AEach INPUTFILE must be in a supported format:\0ASAP, CMC, CM3, CMR, CMS, DMC, DLT, MPT, MPD, RMT, TMC, TM8 or TM2.\0AOutput EXT must be one of the above or WAV or RAW.\0AIn FILE and DIR you can use the following placeholders:\0A%%a (author), %%n (music name) and %%d (music creation date).\0AOptions:\0A-o FILE.EXT --output=FILE.EXT Write to the specified file\0A-o .EXT --output=.EXT Use input file path and name\0A-o DIR/.EXT --output=DIR/.EXT Write to the specified directory\0A-o -.EXT --output=-.EXT Write to standard output\0A-a \22TEXT\22 --author=\22TEXT\22 Set author name\0A-n \22TEXT\22 --name=\22TEXT\22 Set music name\0A-d \22TEXT\22 --date=\22TEXT\22 Set music creation date (DD/MM/YYYY format)\0A-h --help Display this information\0A-v --version Display version information\0AOptions for WAV or RAW output:\0A-s SONG --song=SONG Select subsong number (zero-based)\0A-t TIME --time=TIME Set output length (MM:SS format)\0A-m CHANNELS --mute=CHANNELS Mute POKEY channels (1-8)\0A-b --byte-samples Output 8-bit samples\0A-w --word-samples Output 16-bit samples (default)\0AOptions for SAP output:\0A-s SONG --song=SONG Select subsong to set length of\0A-t TIME --time=TIME Set subsong length (MM:SS format)\0A\00"
define void @print_help() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1338 x i8], [1338 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [1338 x i8] c"Usage: asapconv [OPTIONS] INPUTFILE...\0AEach INPUTFILE must be in a supported format:\0ASAP, CMC, CM3, CMR, CMS, DMC, DLT, MPT, MPD, RMT, TMC, TM8 or TM2.\0AOutput EXT must be one of the above or WAV or RAW.\0AIn FILE and DIR you can use the following placeholders:\0A%%a (author), %%n (music name) and %%d (music creation date).\0AOptions:\0A-o FILE.EXT --output=FILE.EXT Write to the specified file\0A-o .EXT --output=.EXT Use input file path and name\0A-o DIR/.EXT --output=DIR/.EXT Write to the specified directory\0A-o -.EXT --output=-.EXT Write to standard output\0A-a \22TEXT\22 --author=\22TEXT\22 Set author name\0A-n \22TEXT\22 --name=\22TEXT\22 Set music name\0A-d \22TEXT\22 --date=\22TEXT\22 Set music creation date (DD/MM/YYYY format)\0A-h --help Display this information\0A-v --version Display version information\0AOptions for WAV or RAW output:\0A-s SONG --song=SONG Select subsong number (zero-based)\0A-t TIME --time=TIME Set output length (MM:SS format)\0A-m CHANNELS --mute=CHANNELS Mute POKEY channels (1-8)\0A-b --byte-samples Output 8-bit samples\0A-w --word-samples Output 16-bit samples (default)\0AOptions for SAP output:\0A-s SONG --song=SONG Select subsong to set length of\0A-t TIME --time=TIME Set subsong length (MM:SS format)\0A\00"
define void @print_help() {
%1 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([1338 x i8], [1338 x i8]* @.str, i64 0, i64 0))
ret void
}