#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*/ T3D_OutputMessage(char *);
void T3D_PrintFooter(void) {
  T3D_OutputMessage("\n\nThe following print specifiers can be used when "
                    "specifying the output filename :\n\n"
                    "    %%d - sequence number.\n"
                    "    %%h - hour of file creation (24 hour clock).\n"
                    "    %%m - minute of file creation.\n"
                    "    %%s - second of file creation.\n"
                    "    %%Y - year of file creation (4 digits).\n"
                    "    %%M - month of file creation.\n"
                    "    %%D - day of file creation.\n\n");
  T3D_OutputMessage("The output width may also be specified e.g. %%3d will "
                    "give a maximum width of 3\n"
                    "digits. If prefixed with a zero the output value will be "
                    "left zero padded e.g. \n"
                    "specifying %%03d with a sequence number of 1 will give "
                    "you \"001\".\n\n");
}


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

x86 assembly (clang, -O2):
<T3D_PrintFooter>:
push   %rax
lea    0xee8(%rip),%rdi
call   1030 <T3D_OutputMessage@plt>
lea    0x1032(%rip),%rdi
pop    %rax
jmp    1030 <T3D_OutputMessage@plt>

LLVM IR (-O0):
@.str = [342 x i8] c"\0A\0AThe following print specifiers can be used when specifying the output filename :\0A\0A %%d - sequence number.\0A %%h - hour of file creation (24 hour clock).\0A %%m - minute of file creation.\0A %%s - second of file creation.\0A %%Y - year of file creation (4 digits).\0A %%M - month of file creation.\0A %%D - day of file creation.\0A\0A\00"
@.str.1 = [228 x i8] c"The output width may also be specified e.g. %%3d will give a maximum width of 3\0Adigits. If prefixed with a zero the output value will be left zero padded e.g. \0Aspecifying %%03d with a sequence number of 1 will give you \22001\22.\0A\0A\00"
define void @T3D_PrintFooter() {
%1 = call i32 @T3D_OutputMessage(i8* getelementptr inbounds ([342 x i8], [342 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @T3D_OutputMessage(i8* getelementptr inbounds ([228 x i8], [228 x i8]* @.str.1, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [342 x i8] c"\0A\0AThe following print specifiers can be used when specifying the output filename :\0A\0A %%d - sequence number.\0A %%h - hour of file creation (24 hour clock).\0A %%m - minute of file creation.\0A %%s - second of file creation.\0A %%Y - year of file creation (4 digits).\0A %%M - month of file creation.\0A %%D - day of file creation.\0A\0A\00"
@.str.1 = [228 x i8] c"The output width may also be specified e.g. %%3d will give a maximum width of 3\0Adigits. If prefixed with a zero the output value will be left zero padded e.g. \0Aspecifying %%03d with a sequence number of 1 will give you \22001\22.\0A\0A\00"
define void @T3D_PrintFooter() {
%1 = tail call i32 @T3D_OutputMessage(i8* getelementptr inbounds ([342 x i8], [342 x i8]* @.str, i64 0, i64 0))
%2 = tail call i32 @T3D_OutputMessage(i8* getelementptr inbounds ([228 x i8], [228 x i8]* @.str.1, i64 0, i64 0))
ret void
}