#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*/ copyright_notice();
int /*<<< orphan*/ printf(char *, ...);
int /*<<< orphan*/ wait_any_key();
void print_help() {
  printf("\nSVM-light %s: Support Vector Machine, learning module     %s\n",
         "V4.00", "11.02.02");
  copyright_notice();
  printf("   usage: svm_learn [options] example_file model_file\n\n");
  printf("Arguments:\n");
  printf("         example_file-> file with training data\n");
  printf("         model_file  -> file to store learned decision rule in\n");
  printf("General options:\n");
  printf("         -?          -> this help\n");
  printf("         -v [0..3]   -> verbosity level (default 1)\n");
  printf("Learning options:\n");
  printf(
      "         -z {c,r}    -> select between classification and regression\n");
  printf("                        (default classification)\n");
  printf("         -c float    -> C: trade-off between training error\n");
  printf("                        and margin (default [avg. x*x]^-1)\n");
  printf("         -w [0..]    -> epsilon width of tube for regression\n");
  printf("                        (default 0.1)\n");
  printf("         -j float    -> Cost: cost-factor, by which training errors "
         "on\n");
  printf("                        positive examples outweight errors on "
         "negative\n");
  printf("                        examples (default 1) (see [4])\n");
  printf(
      "         -b [0,1]    -> use biased hyperplane (i.e. x*w+b>0) instead\n");
  printf("                        of unbiased hyperplane (i.e. x*w>0) (default "
         "1)\n");
  printf("         -i [0,1]    -> remove inconsistent training examples\n");
  printf("                        and retrain (default 0)\n");
  printf("Performance estimation options:\n");
  printf(
      "         -x [0,1]    -> compute leave-one-out estimates (default 0)\n");
  printf("                        (see [5])\n");
  printf("         -o ]0..2]   -> value of rho for XiAlpha-estimator and for "
         "pruning\n");
  printf("                        leave-one-out computation (default 1.0) (see "
         "[2])\n");
  printf(
      "         -k [0..100] -> search depth for extended XiAlpha-estimator \n");
  printf("                        (default 0)\n");
  printf("Transduction options (see [3]):\n");
  printf("         -p [0..1]   -> fraction of unlabeled examples to be "
         "classified\n");
  printf("                        into the positive class (default is the "
         "ratio of\n");
  printf("                        positive and negative examples in the "
         "training data)\n");
  printf("Kernel options:\n");
  printf("         -t int      -> type of kernel function:\n");
  printf("                        0: linear (default)\n");
  printf("                        1: polynomial (s a*b+c)^d\n");
  printf("                        2: radial basis function exp(-gamma "
         "||a-b||^2)\n");
  printf("                        3: sigmoid tanh(s a*b + c)\n");
  printf("                        4: user defined kernel from kernel.h\n");
  printf("         -d int      -> parameter d in polynomial kernel\n");
  printf("         -g float    -> parameter gamma in rbf kernel\n");
  printf("         -s float    -> parameter s in sigmoid/poly kernel\n");
  printf("         -r float    -> parameter c in sigmoid/poly kernel\n");
  printf("         -u string   -> parameter of user defined kernel\n");
  printf("Optimization options (see [1]):\n");
  printf(
      "         -q [2..]    -> maximum size of QP-subproblems (default 10)\n");
  printf("         -n [2..q]   -> number of new variables entering the working "
         "set\n");
  printf("                        in each iteration (default n = q). Set n<q "
         "to prevent\n");
  printf("                        zig-zagging.\n");
  printf("         -m [5..]    -> size of cache for kernel evaluations in MB "
         "(default 40)\n");
  printf("                        The larger the faster...\n");
  printf("         -e float    -> eps: Allow that error for termination "
         "criterion\n");
  printf("                        [y [w*x+b] - 1] >= eps (default 0.001)\n");
  printf(
      "         -h [5..]    -> number of iterations a variable needs to be\n");
  printf("                        optimal before considered for shrinking "
         "(default 100)\n");
  printf("         -f [0,1]    -> do final optimality check for variables "
         "removed\n");
  printf(
      "                        by shrinking. Although this test is usually \n");
  printf("                        positive, there is no guarantee that the "
         "optimum\n");
  printf("                        was found if the test is omitted. (default "
         "1)\n");
  printf("Output options:\n");
  printf(
      "         -l string   -> file to write predicted labels of unlabeled\n");
  printf("                        examples into after transductive learning\n");
  printf(
      "         -a string   -> write all alphas to this file after learning\n");
  printf(
      "                        (in the same order as in the training set)\n");
  wait_any_key();
  printf("\nMore details in:\n");
  printf("[1] T. Joachims, Making Large-Scale SVM Learning Practical. Advances "
         "in\n");
  printf("    Kernel Methods - Support Vector Learning, B. Schölkopf and C. "
         "Burges and\n");
  printf("    A. Smola (ed.), MIT Press, 1999.\n");
  printf(
      "[2] T. Joachims, Estimating the Generalization performance of an SVM\n");
  printf("    Efficiently. International Conference on Machine Learning "
         "(ICML), 2000.\n");
  printf("[3] T. Joachims, Transductive Inference for Text Classification "
         "using Support\n");
  printf("    Vector Machines. International Conference on Machine Learning "
         "(ICML),\n");
  printf("    1999.\n");
  printf("[4] K. Morik, P. Brockhausen, and T. Joachims, Combining statistical "
         "learning\n");
  printf("    with a knowledge-based approach - A case study in intensive care "
         " \n");
  printf("    monitoring. International Conference on Machine Learning (ICML), "
         "1999.\n");
  printf("[5] T. Joachims, Learning to Classify Text Using Support Vector\n");
  printf(
      "    Machines: Methods, Theory, and Algorithms. Dissertation, Kluwer,\n");
  printf("    2002.\n\n");
}


x86 assembly (clang, -O0):
<print_help>:
push   %rbp
mov    %rsp,%rbp
lea    0xec5(%rip),%rdi
lea    0xefd(%rip),%rsi
lea    0xefc(%rip),%rdx
mov    $0x0,%al
call   1050 <printf@plt>
mov    $0x0,%al
call   1030 <copyright_notice@plt>
lea    0xef0(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0xf1a(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0xf18(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0xf3b(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0xf6d(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0xf71(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0xf86(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0xfad(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0xfb2(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0xfea(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x100e(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x103d(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x106b(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x109b(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x10b4(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x10ee(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1128(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1152(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x118a(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x11c5(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x11f6(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1219(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x122c(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1263(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1278(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x12b6(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x12f3(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x132b(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1342(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1355(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1390(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x13cc(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x140c(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x140f(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1433(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1452(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1477(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x14b1(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x14d7(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1507(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1533(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x155c(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x158a(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x15b8(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x15e4(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x15f7(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x162e(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x166a(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x16ab(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x16c3(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1706(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x172a(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1765(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1797(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x17ce(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x180f(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x184a(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1882(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x18be(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x18f7(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x18fa(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1931(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1966(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x199e(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    $0x0,%al
call   1040 <wait_any_key@plt>
lea    0x19cd(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x19d2(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1a0d(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1a4e(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1a66(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1a9e(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1add(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1b1e(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1b5b(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1b58(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1b99(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1bd3(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1c11(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1c44(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1c7c(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_help>:
push   %rax
lea    0xeb8(%rip),%rdi
lea    0xef0(%rip),%rsi
lea    0xeef(%rip),%rdx
xor    %eax,%eax
call   1060 <printf@plt>
xor    %eax,%eax
call   1030 <copyright_notice@plt>
lea    0xee3(%rip),%rdi
call   1040 <puts@plt>
lea    0xf0e(%rip),%rdi
call   1040 <puts@plt>
lea    0xf0d(%rip),%rdi
call   1040 <puts@plt>
lea    0xf31(%rip),%rdi
call   1040 <puts@plt>
lea    0xf64(%rip),%rdi
call   1040 <puts@plt>
lea    0xf69(%rip),%rdi
call   1040 <puts@plt>
lea    0xf7f(%rip),%rdi
call   1040 <puts@plt>
lea    0xfa7(%rip),%rdi
call   1040 <puts@plt>
lea    0xfad(%rip),%rdi
call   1040 <puts@plt>
lea    0xfe6(%rip),%rdi
call   1040 <puts@plt>
lea    0x100b(%rip),%rdi
call   1040 <puts@plt>
lea    0x103b(%rip),%rdi
call   1040 <puts@plt>
lea    0x106a(%rip),%rdi
call   1040 <puts@plt>
lea    0x109b(%rip),%rdi
call   1040 <puts@plt>
lea    0x10b5(%rip),%rdi
call   1040 <puts@plt>
lea    0x10f0(%rip),%rdi
call   1040 <puts@plt>
lea    0x112b(%rip),%rdi
call   1040 <puts@plt>
lea    0x1156(%rip),%rdi
call   1040 <puts@plt>
lea    0x118f(%rip),%rdi
call   1040 <puts@plt>
lea    0x11cb(%rip),%rdi
call   1040 <puts@plt>
lea    0x11fd(%rip),%rdi
call   1040 <puts@plt>
lea    0x1221(%rip),%rdi
call   1040 <puts@plt>
lea    0x1235(%rip),%rdi
call   1040 <puts@plt>
lea    0x126d(%rip),%rdi
call   1040 <puts@plt>
lea    0x1283(%rip),%rdi
call   1040 <puts@plt>
lea    0x12c2(%rip),%rdi
call   1040 <puts@plt>
lea    0x1300(%rip),%rdi
call   1040 <puts@plt>
lea    0x1339(%rip),%rdi
call   1040 <puts@plt>
lea    0x1351(%rip),%rdi
call   1040 <puts@plt>
lea    0x1365(%rip),%rdi
call   1040 <puts@plt>
lea    0x13a1(%rip),%rdi
call   1040 <puts@plt>
lea    0x13de(%rip),%rdi
call   1040 <puts@plt>
lea    0x141f(%rip),%rdi
call   1040 <puts@plt>
lea    0x1423(%rip),%rdi
call   1040 <puts@plt>
lea    0x1448(%rip),%rdi
call   1040 <puts@plt>
lea    0x1468(%rip),%rdi
call   1040 <puts@plt>
lea    0x148e(%rip),%rdi
call   1040 <puts@plt>
lea    0x14c9(%rip),%rdi
call   1040 <puts@plt>
lea    0x14f0(%rip),%rdi
call   1040 <puts@plt>
lea    0x1521(%rip),%rdi
call   1040 <puts@plt>
lea    0x154e(%rip),%rdi
call   1040 <puts@plt>
lea    0x1578(%rip),%rdi
call   1040 <puts@plt>
lea    0x15a7(%rip),%rdi
call   1040 <puts@plt>
lea    0x15d6(%rip),%rdi
call   1040 <puts@plt>
lea    0x1603(%rip),%rdi
call   1040 <puts@plt>
lea    0x1617(%rip),%rdi
call   1040 <puts@plt>
lea    0x164f(%rip),%rdi
call   1040 <puts@plt>
lea    0x168c(%rip),%rdi
call   1040 <puts@plt>
lea    0x16ce(%rip),%rdi
call   1040 <puts@plt>
lea    0x16e7(%rip),%rdi
call   1040 <puts@plt>
lea    0x172b(%rip),%rdi
call   1040 <puts@plt>
lea    0x1750(%rip),%rdi
call   1040 <puts@plt>
lea    0x178c(%rip),%rdi
call   1040 <puts@plt>
lea    0x17bf(%rip),%rdi
call   1040 <puts@plt>
lea    0x17f7(%rip),%rdi
call   1040 <puts@plt>
lea    0x1839(%rip),%rdi
call   1040 <puts@plt>
lea    0x1875(%rip),%rdi
call   1040 <puts@plt>
lea    0x18ae(%rip),%rdi
call   1040 <puts@plt>
lea    0x18eb(%rip),%rdi
call   1040 <puts@plt>
lea    0x1925(%rip),%rdi
call   1040 <puts@plt>
lea    0x1929(%rip),%rdi
call   1040 <puts@plt>
lea    0x1961(%rip),%rdi
call   1040 <puts@plt>
lea    0x1997(%rip),%rdi
call   1040 <puts@plt>
lea    0x19d0(%rip),%rdi
call   1040 <puts@plt>
xor    %eax,%eax
call   1050 <wait_any_key@plt>
lea    0x1a00(%rip),%rdi
call   1040 <puts@plt>
lea    0x1a06(%rip),%rdi
call   1040 <puts@plt>
lea    0x1a42(%rip),%rdi
call   1040 <puts@plt>
lea    0x1a84(%rip),%rdi
call   1040 <puts@plt>
lea    0x1a9d(%rip),%rdi
call   1040 <puts@plt>
lea    0x1ad6(%rip),%rdi
call   1040 <puts@plt>
lea    0x1b16(%rip),%rdi
call   1040 <puts@plt>
lea    0x1b58(%rip),%rdi
call   1040 <puts@plt>
lea    0x1b96(%rip),%rdi
call   1040 <puts@plt>
lea    0x1b94(%rip),%rdi
call   1040 <puts@plt>
lea    0x1bd6(%rip),%rdi
call   1040 <puts@plt>
lea    0x1c11(%rip),%rdi
call   1040 <puts@plt>
lea    0x1c50(%rip),%rdi
call   1040 <puts@plt>
lea    0x1c84(%rip),%rdi
call   1040 <puts@plt>
lea    0x1cbd(%rip),%rdi
pop    %rax
jmp    1040 <puts@plt>

LLVM IR (-O0):
@.str = [63 x i8] c"\0ASVM-light %s: Support Vector Machine, learning module %s\0A\00"
@.str.1 = [6 x i8] c"V4.00\00"
@.str.2 = [9 x i8] c"11.02.02\00"
@.str.3 = [56 x i8] c" usage: svm_learn [options] example_file model_file\0A\0A\00"
@.str.4 = [12 x i8] c"Arguments:\0A\00"
@.str.5 = [49 x i8] c" example_file-> file with training data\0A\00"
@.str.6 = [64 x i8] c" model_file -> file to store learned decision rule in\0A\00"
@.str.7 = [18 x i8] c"General options:\0A\00"
@.str.8 = [35 x i8] c" -? -> this help\0A\00"
@.str.9 = [53 x i8] c" -v [0..3] -> verbosity level (default 1)\0A\00"
@.str.10 = [19 x i8] c"Learning options:\0A\00"
@.str.11 = [70 x i8] c" -z {c,r} -> select between classification and regression\0A\00"
@.str.12 = [50 x i8] c" (default classification)\0A\00"
@.str.13 = [61 x i8] c" -c float -> C: trade-off between training error\0A\00"
@.str.14 = [60 x i8] c" and margin (default [avg. x*x]^-1)\0A\00"
@.str.15 = [62 x i8] c" -w [0..] -> epsilon width of tube for regression\0A\00"
@.str.16 = [39 x i8] c" (default 0.1)\0A\00"
@.str.17 = [72 x i8] c" -j float -> Cost: cost-factor, by which training errors on\0A\00"
@.str.18 = [72 x i8] c" positive examples outweight errors on negative\0A\00"
@.str.19 = [56 x i8] c" examples (default 1) (see [4])\0A\00"
@.str.20 = [70 x i8] c" -b [0,1] -> use biased hyperplane (i.e. x*w+b>0) instead\0A\00"
@.str.21 = [73 x i8] c" of unbiased hyperplane (i.e. x*w>0) (default 1)\0A\00"
@.str.22 = [63 x i8] c" -i [0,1] -> remove inconsistent training examples\0A\00"
@.str.23 = [49 x i8] c" and retrain (default 0)\0A\00"
@.str.24 = [33 x i8] c"Performance estimation options:\0A\00"
@.str.25 = [69 x i8] c" -x [0,1] -> compute leave-one-out estimates (default 0)\0A\00"
@.str.26 = [35 x i8] c" (see [5])\0A\00"
@.str.27 = [76 x i8] c" -o ]0..2] -> value of rho for XiAlpha-estimator and for pruning\0A\00"
@.str.28 = [75 x i8] c" leave-one-out computation (default 1.0) (see [2])\0A\00"
@.str.29 = [70 x i8] c" -k [0..100] -> search depth for extended XiAlpha-estimator \0A\00"
@.str.30 = [37 x i8] c" (default 0)\0A\00"
@.str.31 = [33 x i8] c"Transduction options (see [3]):\0A\00"
@.str.32 = [73 x i8] c" -p [0..1] -> fraction of unlabeled examples to be classified\0A\00"
@.str.33 = [74 x i8] c" into the positive class (default is the ratio of\0A\00"
@.str.34 = [78 x i8] c" positive and negative examples in the training data)\0A\00"
@.str.35 = [17 x i8] c"Kernel options:\0A\00"
@.str.36 = [50 x i8] c" -t int -> type of kernel function:\0A\00"
@.str.37 = [45 x i8] c" 0: linear (default)\0A\00"
@.str.38 = [51 x i8] c" 1: polynomial (s a*b+c)^d\0A\00"
@.str.39 = [72 x i8] c" 2: radial basis function exp(-gamma ||a-b||^2)\0A\00"
@.str.40 = [52 x i8] c" 3: sigmoid tanh(s a*b + c)\0A\00"
@.str.41 = [62 x i8] c" 4: user defined kernel from kernel.h\0A\00"
@.str.42 = [58 x i8] c" -d int -> parameter d in polynomial kernel\0A\00"
@.str.43 = [55 x i8] c" -g float -> parameter gamma in rbf kernel\0A\00"
@.str.44 = [60 x i8] c" -s float -> parameter s in sigmoid/poly kernel\0A\00"
@.str.45 = [60 x i8] c" -r float -> parameter c in sigmoid/poly kernel\0A\00"
@.str.46 = [58 x i8] c" -u string -> parameter of user defined kernel\0A\00"
@.str.47 = [33 x i8] c"Optimization options (see [1]):\0A\00"
@.str.48 = [69 x i8] c" -q [2..] -> maximum size of QP-subproblems (default 10)\0A\00"
@.str.49 = [74 x i8] c" -n [2..q] -> number of new variables entering the working set\0A\00"
@.str.50 = [79 x i8] c" in each iteration (default n = q). Set n<q to prevent\0A\00"
@.str.51 = [38 x i8] c" zig-zagging.\0A\00"
@.str.52 = [81 x i8] c" -m [5..] -> size of cache for kernel evaluations in MB (default 40)\0A\00"
@.str.53 = [50 x i8] c" The larger the faster...\0A\00"
@.str.54 = [73 x i8] c" -e float -> eps: Allow that error for termination criterion\0A\00"
@.str.55 = [64 x i8] c" [y [w*x+b] - 1] >= eps (default 0.001)\0A\00"
@.str.56 = [69 x i8] c" -h [5..] -> number of iterations a variable needs to be\0A\00"
@.str.57 = [79 x i8] c" optimal before considered for shrinking (default 100)\0A\00"
@.str.58 = [73 x i8] c" -f [0,1] -> do final optimality check for variables removed\0A\00"
@.str.59 = [70 x i8] c" by shrinking. Although this test is usually \0A\00"
@.str.60 = [74 x i8] c" positive, there is no guarantee that the optimum\0A\00"
@.str.61 = [71 x i8] c" was found if the test is omitted. (default 1)\0A\00"
@.str.62 = [17 x i8] c"Output options:\0A\00"
@.str.63 = [69 x i8] c" -l string -> file to write predicted labels of unlabeled\0A\00"
@.str.64 = [67 x i8] c" examples into after transductive learning\0A\00"
@.str.65 = [70 x i8] c" -a string -> write all alphas to this file after learning\0A\00"
@.str.66 = [68 x i8] c" (in the same order as in the training set)\0A\00"
@.str.67 = [19 x i8] c"\0AMore details in:\0A\00"
@.str.68 = [73 x i8] c"[1] T. Joachims, Making Large-Scale SVM Learning Practical. Advances in\0A\00"
@.str.69 = [79 x i8] c" Kernel Methods - Support Vector Learning, B. Sch\C3\B6lkopf and C. Burges and\0A\00"
@.str.70 = [38 x i8] c" A. Smola (ed.), MIT Press, 1999.\0A\00"
@.str.71 = [70 x i8] c"[2] T. Joachims, Estimating the Generalization performance of an SVM\0A\00"
@.str.72 = [77 x i8] c" Efficiently. International Conference on Machine Learning (ICML), 2000.\0A\00"
@.str.73 = [79 x i8] c"[3] T. Joachims, Transductive Inference for Text Classification using Support\0A\00"
@.str.74 = [75 x i8] c" Vector Machines. International Conference on Machine Learning (ICML),\0A\00"
@.str.75 = [11 x i8] c" 1999.\0A\00"
@.str.76 = [79 x i8] c"[4] K. Morik, P. Brockhausen, and T. Joachims, Combining statistical learning\0A\00"
@.str.77 = [72 x i8] c" with a knowledge-based approach - A case study in intensive care \0A\00"
@.str.78 = [76 x i8] c" monitoring. International Conference on Machine Learning (ICML), 1999.\0A\00"
@.str.79 = [65 x i8] c"[5] T. Joachims, Learning to Classify Text Using Support Vector\0A\00"
@.str.80 = [70 x i8] c" Machines: Methods, Theory, and Algorithms. Dissertation, Kluwer,\0A\00"
@.str.81 = [12 x i8] c" 2002.\0A\0A\00"
define void @print_help() {
%1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.2, i64 0, i64 0))
%2 = call i32 (...) @copyright_notice()
%3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.3, i64 0, i64 0))
%4 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.4, i64 0, i64 0))
%5 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.5, i64 0, i64 0))
%6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.6, i64 0, i64 0))
%7 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.7, i64 0, i64 0))
%8 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.8, i64 0, i64 0))
%9 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.9, i64 0, i64 0))
%10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.10, i64 0, i64 0))
%11 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.11, i64 0, i64 0))
%12 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.12, i64 0, i64 0))
%13 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.13, i64 0, i64 0))
%14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.14, i64 0, i64 0))
%15 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.15, i64 0, i64 0))
%16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.16, i64 0, i64 0))
%17 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.17, i64 0, i64 0))
%18 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.18, i64 0, i64 0))
%19 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.19, i64 0, i64 0))
%20 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.20, i64 0, i64 0))
%21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.21, i64 0, i64 0))
%22 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.22, i64 0, i64 0))
%23 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.23, i64 0, i64 0))
%24 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.24, i64 0, i64 0))
%25 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.25, i64 0, i64 0))
%26 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.26, i64 0, i64 0))
%27 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.27, i64 0, i64 0))
%28 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.28, i64 0, i64 0))
%29 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.29, i64 0, i64 0))
%30 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.30, i64 0, i64 0))
%31 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.31, i64 0, i64 0))
%32 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.32, i64 0, i64 0))
%33 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.33, i64 0, i64 0))
%34 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([78 x i8], [78 x i8]* @.str.34, i64 0, i64 0))
%35 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.35, i64 0, i64 0))
%36 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.36, i64 0, i64 0))
%37 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.37, i64 0, i64 0))
%38 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.38, i64 0, i64 0))
%39 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.39, i64 0, i64 0))
%40 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.40, i64 0, i64 0))
%41 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.41, i64 0, i64 0))
%42 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.42, i64 0, i64 0))
%43 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.43, i64 0, i64 0))
%44 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.44, i64 0, i64 0))
%45 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.45, i64 0, i64 0))
%46 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.46, i64 0, i64 0))
%47 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.47, i64 0, i64 0))
%48 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.48, i64 0, i64 0))
%49 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.49, i64 0, i64 0))
%50 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.50, i64 0, i64 0))
%51 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.51, i64 0, i64 0))
%52 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.52, i64 0, i64 0))
%53 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.53, i64 0, i64 0))
%54 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.54, i64 0, i64 0))
%55 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.55, i64 0, i64 0))
%56 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.56, i64 0, i64 0))
%57 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.57, i64 0, i64 0))
%58 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.58, i64 0, i64 0))
%59 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.59, i64 0, i64 0))
%60 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.60, i64 0, i64 0))
%61 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.61, i64 0, i64 0))
%62 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.62, i64 0, i64 0))
%63 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.63, i64 0, i64 0))
%64 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.64, i64 0, i64 0))
%65 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.65, i64 0, i64 0))
%66 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.66, i64 0, i64 0))
%67 = call i32 (...) @wait_any_key()
%68 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.67, i64 0, i64 0))
%69 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.68, i64 0, i64 0))
%70 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.69, i64 0, i64 0))
%71 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.70, i64 0, i64 0))
%72 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.71, i64 0, i64 0))
%73 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.72, i64 0, i64 0))
%74 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.73, i64 0, i64 0))
%75 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.74, i64 0, i64 0))
%76 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.75, i64 0, i64 0))
%77 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.76, i64 0, i64 0))
%78 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.77, i64 0, i64 0))
%79 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.78, i64 0, i64 0))
%80 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.79, i64 0, i64 0))
%81 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.80, i64 0, i64 0))
%82 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.81, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [63 x i8] c"\0ASVM-light %s: Support Vector Machine, learning module %s\0A\00"
@.str.1 = [6 x i8] c"V4.00\00"
@.str.2 = [9 x i8] c"11.02.02\00"
@str = [55 x i8] c" usage: svm_learn [options] example_file model_file\0A\00"
@str.82 = [11 x i8] c"Arguments:\00"
@str.83 = [48 x i8] c" example_file-> file with training data\00"
@str.84 = [63 x i8] c" model_file -> file to store learned decision rule in\00"
@str.85 = [17 x i8] c"General options:\00"
@str.86 = [34 x i8] c" -? -> this help\00"
@str.87 = [52 x i8] c" -v [0..3] -> verbosity level (default 1)\00"
@str.88 = [18 x i8] c"Learning options:\00"
@str.89 = [69 x i8] c" -z {c,r} -> select between classification and regression\00"
@str.90 = [49 x i8] c" (default classification)\00"
@str.91 = [60 x i8] c" -c float -> C: trade-off between training error\00"
@str.92 = [59 x i8] c" and margin (default [avg. x*x]^-1)\00"
@str.93 = [61 x i8] c" -w [0..] -> epsilon width of tube for regression\00"
@str.94 = [38 x i8] c" (default 0.1)\00"
@str.95 = [71 x i8] c" -j float -> Cost: cost-factor, by which training errors on\00"
@str.96 = [71 x i8] c" positive examples outweight errors on negative\00"
@str.97 = [55 x i8] c" examples (default 1) (see [4])\00"
@str.98 = [69 x i8] c" -b [0,1] -> use biased hyperplane (i.e. x*w+b>0) instead\00"
@str.99 = [72 x i8] c" of unbiased hyperplane (i.e. x*w>0) (default 1)\00"
@str.100 = [62 x i8] c" -i [0,1] -> remove inconsistent training examples\00"
@str.101 = [48 x i8] c" and retrain (default 0)\00"
@str.102 = [32 x i8] c"Performance estimation options:\00"
@str.103 = [68 x i8] c" -x [0,1] -> compute leave-one-out estimates (default 0)\00"
@str.104 = [34 x i8] c" (see [5])\00"
@str.105 = [75 x i8] c" -o ]0..2] -> value of rho for XiAlpha-estimator and for pruning\00"
@str.106 = [74 x i8] c" leave-one-out computation (default 1.0) (see [2])\00"
@str.107 = [69 x i8] c" -k [0..100] -> search depth for extended XiAlpha-estimator \00"
@str.108 = [36 x i8] c" (default 0)\00"
@str.109 = [32 x i8] c"Transduction options (see [3]):\00"
@str.110 = [72 x i8] c" -p [0..1] -> fraction of unlabeled examples to be classified\00"
@str.111 = [73 x i8] c" into the positive class (default is the ratio of\00"
@str.112 = [77 x i8] c" positive and negative examples in the training data)\00"
@str.113 = [16 x i8] c"Kernel options:\00"
@str.114 = [49 x i8] c" -t int -> type of kernel function:\00"
@str.115 = [44 x i8] c" 0: linear (default)\00"
@str.116 = [50 x i8] c" 1: polynomial (s a*b+c)^d\00"
@str.117 = [71 x i8] c" 2: radial basis function exp(-gamma ||a-b||^2)\00"
@str.118 = [51 x i8] c" 3: sigmoid tanh(s a*b + c)\00"
@str.119 = [61 x i8] c" 4: user defined kernel from kernel.h\00"
@str.120 = [57 x i8] c" -d int -> parameter d in polynomial kernel\00"
@str.121 = [54 x i8] c" -g float -> parameter gamma in rbf kernel\00"
@str.122 = [59 x i8] c" -s float -> parameter s in sigmoid/poly kernel\00"
@str.123 = [59 x i8] c" -r float -> parameter c in sigmoid/poly kernel\00"
@str.124 = [57 x i8] c" -u string -> parameter of user defined kernel\00"
@str.125 = [32 x i8] c"Optimization options (see [1]):\00"
@str.126 = [68 x i8] c" -q [2..] -> maximum size of QP-subproblems (default 10)\00"
@str.127 = [73 x i8] c" -n [2..q] -> number of new variables entering the working set\00"
@str.128 = [78 x i8] c" in each iteration (default n = q). Set n<q to prevent\00"
@str.129 = [37 x i8] c" zig-zagging.\00"
@str.130 = [80 x i8] c" -m [5..] -> size of cache for kernel evaluations in MB (default 40)\00"
@str.131 = [49 x i8] c" The larger the faster...\00"
@str.132 = [72 x i8] c" -e float -> eps: Allow that error for termination criterion\00"
@str.133 = [63 x i8] c" [y [w*x+b] - 1] >= eps (default 0.001)\00"
@str.134 = [68 x i8] c" -h [5..] -> number of iterations a variable needs to be\00"
@str.135 = [78 x i8] c" optimal before considered for shrinking (default 100)\00"
@str.136 = [72 x i8] c" -f [0,1] -> do final optimality check for variables removed\00"
@str.137 = [69 x i8] c" by shrinking. Although this test is usually \00"
@str.138 = [73 x i8] c" positive, there is no guarantee that the optimum\00"
@str.139 = [70 x i8] c" was found if the test is omitted. (default 1)\00"
@str.140 = [16 x i8] c"Output options:\00"
@str.141 = [68 x i8] c" -l string -> file to write predicted labels of unlabeled\00"
@str.142 = [66 x i8] c" examples into after transductive learning\00"
@str.143 = [69 x i8] c" -a string -> write all alphas to this file after learning\00"
@str.144 = [67 x i8] c" (in the same order as in the training set)\00"
@str.145 = [18 x i8] c"\0AMore details in:\00"
@str.146 = [72 x i8] c"[1] T. Joachims, Making Large-Scale SVM Learning Practical. Advances in\00"
@str.147 = [78 x i8] c" Kernel Methods - Support Vector Learning, B. Sch\C3\B6lkopf and C. Burges and\00"
@str.148 = [37 x i8] c" A. Smola (ed.), MIT Press, 1999.\00"
@str.149 = [69 x i8] c"[2] T. Joachims, Estimating the Generalization performance of an SVM\00"
@str.150 = [76 x i8] c" Efficiently. International Conference on Machine Learning (ICML), 2000.\00"
@str.151 = [78 x i8] c"[3] T. Joachims, Transductive Inference for Text Classification using Support\00"
@str.152 = [74 x i8] c" Vector Machines. International Conference on Machine Learning (ICML),\00"
@str.153 = [10 x i8] c" 1999.\00"
@str.154 = [78 x i8] c"[4] K. Morik, P. Brockhausen, and T. Joachims, Combining statistical learning\00"
@str.155 = [71 x i8] c" with a knowledge-based approach - A case study in intensive care \00"
@str.156 = [75 x i8] c" monitoring. International Conference on Machine Learning (ICML), 1999.\00"
@str.157 = [64 x i8] c"[5] T. Joachims, Learning to Classify Text Using Support Vector\00"
@str.158 = [69 x i8] c" Machines: Methods, Theory, and Algorithms. Dissertation, Kluwer,\00"
@str.159 = [11 x i8] c" 2002.\0A\00"
define void @print_help() {
%1 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.2, i64 0, i64 0))
%2 = tail call i32 (...) @copyright_notice()
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([55 x i8], [55 x i8]* @str, i64 0, i64 0))
%4 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @str.82, i64 0, i64 0))
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([48 x i8], [48 x i8]* @str.83, i64 0, i64 0))
%6 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @str.84, i64 0, i64 0))
%7 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @str.85, i64 0, i64 0))
%8 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @str.86, i64 0, i64 0))
%9 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([52 x i8], [52 x i8]* @str.87, i64 0, i64 0))
%10 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @str.88, i64 0, i64 0))
%11 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.89, i64 0, i64 0))
%12 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([49 x i8], [49 x i8]* @str.90, i64 0, i64 0))
%13 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([60 x i8], [60 x i8]* @str.91, i64 0, i64 0))
%14 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([59 x i8], [59 x i8]* @str.92, i64 0, i64 0))
%15 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([61 x i8], [61 x i8]* @str.93, i64 0, i64 0))
%16 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([38 x i8], [38 x i8]* @str.94, i64 0, i64 0))
%17 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.95, i64 0, i64 0))
%18 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.96, i64 0, i64 0))
%19 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([55 x i8], [55 x i8]* @str.97, i64 0, i64 0))
%20 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.98, i64 0, i64 0))
%21 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.99, i64 0, i64 0))
%22 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([62 x i8], [62 x i8]* @str.100, i64 0, i64 0))
%23 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([48 x i8], [48 x i8]* @str.101, i64 0, i64 0))
%24 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @str.102, i64 0, i64 0))
%25 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @str.103, i64 0, i64 0))
%26 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @str.104, i64 0, i64 0))
%27 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([75 x i8], [75 x i8]* @str.105, i64 0, i64 0))
%28 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.106, i64 0, i64 0))
%29 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.107, i64 0, i64 0))
%30 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @str.108, i64 0, i64 0))
%31 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @str.109, i64 0, i64 0))
%32 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.110, i64 0, i64 0))
%33 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.111, i64 0, i64 0))
%34 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([77 x i8], [77 x i8]* @str.112, i64 0, i64 0))
%35 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.113, i64 0, i64 0))
%36 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([49 x i8], [49 x i8]* @str.114, i64 0, i64 0))
%37 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([44 x i8], [44 x i8]* @str.115, i64 0, i64 0))
%38 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([50 x i8], [50 x i8]* @str.116, i64 0, i64 0))
%39 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.117, i64 0, i64 0))
%40 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([51 x i8], [51 x i8]* @str.118, i64 0, i64 0))
%41 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([61 x i8], [61 x i8]* @str.119, i64 0, i64 0))
%42 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([57 x i8], [57 x i8]* @str.120, i64 0, i64 0))
%43 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([54 x i8], [54 x i8]* @str.121, i64 0, i64 0))
%44 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([59 x i8], [59 x i8]* @str.122, i64 0, i64 0))
%45 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([59 x i8], [59 x i8]* @str.123, i64 0, i64 0))
%46 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([57 x i8], [57 x i8]* @str.124, i64 0, i64 0))
%47 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @str.125, i64 0, i64 0))
%48 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @str.126, i64 0, i64 0))
%49 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.127, i64 0, i64 0))
%50 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.128, i64 0, i64 0))
%51 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([37 x i8], [37 x i8]* @str.129, i64 0, i64 0))
%52 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([80 x i8], [80 x i8]* @str.130, i64 0, i64 0))
%53 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([49 x i8], [49 x i8]* @str.131, i64 0, i64 0))
%54 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.132, i64 0, i64 0))
%55 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @str.133, i64 0, i64 0))
%56 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @str.134, i64 0, i64 0))
%57 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.135, i64 0, i64 0))
%58 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.136, i64 0, i64 0))
%59 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.137, i64 0, i64 0))
%60 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.138, i64 0, i64 0))
%61 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([70 x i8], [70 x i8]* @str.139, i64 0, i64 0))
%62 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.140, i64 0, i64 0))
%63 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @str.141, i64 0, i64 0))
%64 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([66 x i8], [66 x i8]* @str.142, i64 0, i64 0))
%65 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.143, i64 0, i64 0))
%66 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([67 x i8], [67 x i8]* @str.144, i64 0, i64 0))
%67 = tail call i32 (...) @wait_any_key()
%68 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @str.145, i64 0, i64 0))
%69 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.146, i64 0, i64 0))
%70 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.147, i64 0, i64 0))
%71 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([37 x i8], [37 x i8]* @str.148, i64 0, i64 0))
%72 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.149, i64 0, i64 0))
%73 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([76 x i8], [76 x i8]* @str.150, i64 0, i64 0))
%74 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.151, i64 0, i64 0))
%75 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.152, i64 0, i64 0))
%76 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @str.153, i64 0, i64 0))
%77 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.154, i64 0, i64 0))
%78 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.155, i64 0, i64 0))
%79 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([75 x i8], [75 x i8]* @str.156, i64 0, i64 0))
%80 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([64 x i8], [64 x i8]* @str.157, i64 0, i64 0))
%81 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.158, i64 0, i64 0))
%82 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @str.159, i64 0, i64 0))
ret void
}