#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 *);
bye_msg() {
  printf(
      "\n Thank you for using KG0CQ's 'yaesu' program, this is version .1lx.  "
      "You may use this program for as long as you like, it will always be "
      "free to use, no matter what version.  You may distribute this program "
      "freely so long as it distributed in and with the original zipfile or "
      "tar file.  Please do not distribute modifed versions.  A nice Windows "
      "version, DOS console version, Linux console, and Linux X version should "
      "be on their way in the coming months.  If you wish to support the "
      "author's efforts just say thanks via email or packet!  email:   "
      "drranu@holly.ColoState.EDU or packet:  KG0CQ@KF0UW.#NECO.USA.NOAM "
      "Having fun hamming, hope to catch you on the air!!!\n\n");
}


x86 assembly (clang, -O0):
<bye_msg>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
lea    0xee1(%rip),%rdi
call   1030 <printf@plt>
mov    -0x4(%rbp),%eax
add    $0x10,%rsp
pop    %rbp
ret

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

LLVM IR (-O0):
@.str = [669 x i8] c"\0A Thank you for using KG0CQ's 'yaesu' program, this is version .1lx. You may use this program for as long as you like, it will always be free to use, no matter what version. You may distribute this program freely so long as it distributed in and with the original zipfile or tar file. Please do not distribute modifed versions. A nice Windows version, DOS console version, Linux console, and Linux X version should be on their way in the coming months. If you wish to support the author's efforts just say thanks via email or packet! email: drranu@holly.ColoState.EDU or packet: KG0CQ@KF0UW.#NECO.USA.NOAM Having fun hamming, hope to catch you on the air!!!\0A\0A\00"
define i32 @bye_msg() {
%1 = alloca i32
%2 = call i32 @printf(i8* getelementptr inbounds ([669 x i8], [669 x i8]* @.str, i64 0, i64 0))
%3 = load i32, i32* %1
ret i32 %3
}

LLVM IR (-O2):
@str = [668 x i8] c"\0A Thank you for using KG0CQ's 'yaesu' program, this is version .1lx. You may use this program for as long as you like, it will always be free to use, no matter what version. You may distribute this program freely so long as it distributed in and with the original zipfile or tar file. Please do not distribute modifed versions. A nice Windows version, DOS console version, Linux console, and Linux X version should be on their way in the coming months. If you wish to support the author's efforts just say thanks via email or packet! email: drranu@holly.ColoState.EDU or packet: KG0CQ@KF0UW.#NECO.USA.NOAM Having fun hamming, hope to catch you on the air!!!\0A\00"
define i32 @bye_msg() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([668 x i8], [668 x i8]* @str, i64 0, i64 0))
ret i32 undef
}