#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 msg_intro() {
  printf(
      "\n\n\tThis program will use Markov Modeling to write sentences and "
      "paragraphs using probability analysis of words and their adjacent words "
      "from given input files. As such you must input at least one file "
      "(preferably a text file of decent size to give the most\naccurate word "
      "predictions) for the Markov Babbler to read before it can begin "
      "constructing coherent-ish sentences. The babbler uses a pseudo-random "
      "process to grab next words, so every time you run the babbler on the "
      "same input file(s), it should produce new and unique outputs. Be warned "
      "though, there is a high probability that if your text file contains "
      "loops between next words (i.e. it says \"then I\" and later says \"I "
      "then\") the babbler might get caught in unwanted loops. Have fun!\n");
  printf("====================================================================="
         "=======================\n");
  return;
}


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

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

LLVM IR (-O0):
@.str = [746 x i8] c"\0A\0A\09This program will use Markov Modeling to write sentences and paragraphs using probability analysis of words and their adjacent words from given input files. As such you must input at least one file (preferably a text file of decent size to give the most\0Aaccurate word predictions) for the Markov Babbler to read before it can begin constructing coherent-ish sentences. The babbler uses a pseudo-random process to grab next words, so every time you run the babbler on the same input file(s), it should produce new and unique outputs. Be warned though, there is a high probability that if your text file contains loops between next words (i.e. it says \22then I\22 and later says \22I then\22) the babbler might get caught in unwanted loops. Have fun!\0A\00"
@.str.1 = [94 x i8] c"============================================================================================\0A\00"
define void @msg_intro() {
%1 = call i32 @printf(i8* getelementptr inbounds ([746 x i8], [746 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @printf(i8* getelementptr inbounds ([94 x i8], [94 x i8]* @.str.1, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [745 x i8] c"\0A\0A\09This program will use Markov Modeling to write sentences and paragraphs using probability analysis of words and their adjacent words from given input files. As such you must input at least one file (preferably a text file of decent size to give the most\0Aaccurate word predictions) for the Markov Babbler to read before it can begin constructing coherent-ish sentences. The babbler uses a pseudo-random process to grab next words, so every time you run the babbler on the same input file(s), it should produce new and unique outputs. Be warned though, there is a high probability that if your text file contains loops between next words (i.e. it says \22then I\22 and later says \22I then\22) the babbler might get caught in unwanted loops. Have fun!\00"
@str.2 = [93 x i8] c"============================================================================================\00"
define void @msg_intro() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([745 x i8], [745 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([93 x i8], [93 x i8]* @str.2, i64 0, i64 0))
ret void
}