#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 show_help(void) {
  printf(
      "\nspamsum v1.1 written by Andrew Tridgell <tridge@samba.org>\n\nspamsum "
      "computes a signature string that is particular good for detecting if "
      "two emails\nare very similar. This can be used to detect "
      "SPAM.\n\nSyntax:\n   spamsum [options] <files>\nor\n   spamsum "
      "[options] -d sigs.txt -c SIG\nor\n   spamsum [options] -d sigs.txt -C "
      "file\n\nWhen called with a list of filenames spamsum will write out "
      "the\nsignatures of each file on a separate line. You can specify "
      "the\nfilename '-' for standard input.\n\nWhen called with the second "
      "form, spamsum will print the best score\nfor the given signature with "
      "the signatures in the given database. A\nscore of 100 means a perfect "
      "match, and a score of 0 means a complete\nmismatch.\n\nWhen checking, "
      "spamsum returns 0 (success) when the message *is* spam,\n1 for internal "
      "errors, and 2 for messages whose signature is not\nfound.\n\nThe 3rd "
      "form is just like the second form, but you pass a file\ncontaining a "
      "message instead of a pre-computed signature.\n\nOptions:\n   -W         "
      "     ignore whitespace\n   -H              skip past mail headers\n   "
      "-B <bsize>      force a block size of bsize\n   -T <threshold>  set the "
      "threshold above which spamsum will stop\n                   looking "
      "(default 90)\n");
}


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

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

LLVM IR (-O0):
@.str = [1215 x i8] c"\0Aspamsum v1.1 written by Andrew Tridgell <tridge@samba.org>\0A\0Aspamsum computes a signature string that is particular good for detecting if two emails\0Aare very similar. This can be used to detect SPAM.\0A\0ASyntax:\0A spamsum [options] <files>\0Aor\0A spamsum [options] -d sigs.txt -c SIG\0Aor\0A spamsum [options] -d sigs.txt -C file\0A\0AWhen called with a list of filenames spamsum will write out the\0Asignatures of each file on a separate line. You can specify the\0Afilename '-' for standard input.\0A\0AWhen called with the second form, spamsum will print the best score\0Afor the given signature with the signatures in the given database. A\0Ascore of 100 means a perfect match, and a score of 0 means a complete\0Amismatch.\0A\0AWhen checking, spamsum returns 0 (success) when the message *is* spam,\0A1 for internal errors, and 2 for messages whose signature is not\0Afound.\0A\0AThe 3rd form is just like the second form, but you pass a file\0Acontaining a message instead of a pre-computed signature.\0A\0AOptions:\0A -W ignore whitespace\0A -H skip past mail headers\0A -B <bsize> force a block size of bsize\0A -T <threshold> set the threshold above which spamsum will stop\0A looking (default 90)\0A\00"
define void @show_help() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1215 x i8], [1215 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [1214 x i8] c"\0Aspamsum v1.1 written by Andrew Tridgell <tridge@samba.org>\0A\0Aspamsum computes a signature string that is particular good for detecting if two emails\0Aare very similar. This can be used to detect SPAM.\0A\0ASyntax:\0A spamsum [options] <files>\0Aor\0A spamsum [options] -d sigs.txt -c SIG\0Aor\0A spamsum [options] -d sigs.txt -C file\0A\0AWhen called with a list of filenames spamsum will write out the\0Asignatures of each file on a separate line. You can specify the\0Afilename '-' for standard input.\0A\0AWhen called with the second form, spamsum will print the best score\0Afor the given signature with the signatures in the given database. A\0Ascore of 100 means a perfect match, and a score of 0 means a complete\0Amismatch.\0A\0AWhen checking, spamsum returns 0 (success) when the message *is* spam,\0A1 for internal errors, and 2 for messages whose signature is not\0Afound.\0A\0AThe 3rd form is just like the second form, but you pass a file\0Acontaining a message instead of a pre-computed signature.\0A\0AOptions:\0A -W ignore whitespace\0A -H skip past mail headers\0A -B <bsize> force a block size of bsize\0A -T <threshold> set the threshold above which spamsum will stop\0A looking (default 90)\00"
define void @show_help() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1214 x i8], [1214 x i8]* @str, i64 0, i64 0))
ret void
}