#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",
         "V6.20", "14.08.08");
  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,p}  -> select between classification (c), "
         "regression (r),\n");
  printf("                        and preference ranking (p) (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 \n");
  printf("                        prevent 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("         -y [0,1]    -> restart the optimization from alpha values "
         "in file\n");
  printf("                        specified by -a option. (default 0)\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("         -y string   -> if option is given, reads alphas from file "
         "with given\n");
  printf("                        and uses them as starting point. (default "
         "'disabled')\n");
  printf("         -# int      -> terminate optimization, if no progress after "
         "this\n");
  printf("                        number of iterations. (default 100000)\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    0xff0(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x102f(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x105e(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x108c(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x10bc(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x10d5(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x110f(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1149(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1173(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x11ab(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x11e6(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1217(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x123a(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x124d(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1284(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1299(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x12d7(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1314(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x134c(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1363(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1376(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x13b1(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x13ed(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x142d(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1430(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1454(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1473(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1498(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x14d2(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x14f8(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1528(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1554(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x157d(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x15ab(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x15d9(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1605(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1618(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x164f(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x168b(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x16c7(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x16e7(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x172a(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x174e(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1789(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x17bb(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x17f9(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1828(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x185f(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x18a0(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x18db(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1913(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x194f(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1988(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x19c9(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1a0a(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1a47(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1a79(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1a7c(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1ab3(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1ae8(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1b20(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    $0x0,%al
call   1040 <wait_any_key@plt>
lea    0x1b4f(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1b54(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1b8f(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1bd0(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1be8(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1c20(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1c5f(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1ca0(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1cdd(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1cda(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1d1b(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1d55(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1d93(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1dc6(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
lea    0x1dfe(%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    0xfec(%rip),%rdi
call   1040 <puts@plt>
lea    0x102c(%rip),%rdi
call   1040 <puts@plt>
lea    0x105c(%rip),%rdi
call   1040 <puts@plt>
lea    0x108b(%rip),%rdi
call   1040 <puts@plt>
lea    0x10bc(%rip),%rdi
call   1040 <puts@plt>
lea    0x10d6(%rip),%rdi
call   1040 <puts@plt>
lea    0x1111(%rip),%rdi
call   1040 <puts@plt>
lea    0x114c(%rip),%rdi
call   1040 <puts@plt>
lea    0x1177(%rip),%rdi
call   1040 <puts@plt>
lea    0x11b0(%rip),%rdi
call   1040 <puts@plt>
lea    0x11ec(%rip),%rdi
call   1040 <puts@plt>
lea    0x121e(%rip),%rdi
call   1040 <puts@plt>
lea    0x1242(%rip),%rdi
call   1040 <puts@plt>
lea    0x1256(%rip),%rdi
call   1040 <puts@plt>
lea    0x128e(%rip),%rdi
call   1040 <puts@plt>
lea    0x12a4(%rip),%rdi
call   1040 <puts@plt>
lea    0x12e3(%rip),%rdi
call   1040 <puts@plt>
lea    0x1321(%rip),%rdi
call   1040 <puts@plt>
lea    0x135a(%rip),%rdi
call   1040 <puts@plt>
lea    0x1372(%rip),%rdi
call   1040 <puts@plt>
lea    0x1386(%rip),%rdi
call   1040 <puts@plt>
lea    0x13c2(%rip),%rdi
call   1040 <puts@plt>
lea    0x13ff(%rip),%rdi
call   1040 <puts@plt>
lea    0x1440(%rip),%rdi
call   1040 <puts@plt>
lea    0x1444(%rip),%rdi
call   1040 <puts@plt>
lea    0x1469(%rip),%rdi
call   1040 <puts@plt>
lea    0x1489(%rip),%rdi
call   1040 <puts@plt>
lea    0x14af(%rip),%rdi
call   1040 <puts@plt>
lea    0x14ea(%rip),%rdi
call   1040 <puts@plt>
lea    0x1511(%rip),%rdi
call   1040 <puts@plt>
lea    0x1542(%rip),%rdi
call   1040 <puts@plt>
lea    0x156f(%rip),%rdi
call   1040 <puts@plt>
lea    0x1599(%rip),%rdi
call   1040 <puts@plt>
lea    0x15c8(%rip),%rdi
call   1040 <puts@plt>
lea    0x15f7(%rip),%rdi
call   1040 <puts@plt>
lea    0x1624(%rip),%rdi
call   1040 <puts@plt>
lea    0x1638(%rip),%rdi
call   1040 <puts@plt>
lea    0x1670(%rip),%rdi
call   1040 <puts@plt>
lea    0x16ad(%rip),%rdi
call   1040 <puts@plt>
lea    0x16ea(%rip),%rdi
call   1040 <puts@plt>
lea    0x170b(%rip),%rdi
call   1040 <puts@plt>
lea    0x174f(%rip),%rdi
call   1040 <puts@plt>
lea    0x1774(%rip),%rdi
call   1040 <puts@plt>
lea    0x17b0(%rip),%rdi
call   1040 <puts@plt>
lea    0x17e3(%rip),%rdi
call   1040 <puts@plt>
lea    0x1822(%rip),%rdi
call   1040 <puts@plt>
lea    0x1852(%rip),%rdi
call   1040 <puts@plt>
lea    0x188a(%rip),%rdi
call   1040 <puts@plt>
lea    0x18cc(%rip),%rdi
call   1040 <puts@plt>
lea    0x1908(%rip),%rdi
call   1040 <puts@plt>
lea    0x1941(%rip),%rdi
call   1040 <puts@plt>
lea    0x197e(%rip),%rdi
call   1040 <puts@plt>
lea    0x19b8(%rip),%rdi
call   1040 <puts@plt>
lea    0x19fa(%rip),%rdi
call   1040 <puts@plt>
lea    0x1a3c(%rip),%rdi
call   1040 <puts@plt>
lea    0x1a7a(%rip),%rdi
call   1040 <puts@plt>
lea    0x1aad(%rip),%rdi
call   1040 <puts@plt>
lea    0x1ab1(%rip),%rdi
call   1040 <puts@plt>
lea    0x1ae9(%rip),%rdi
call   1040 <puts@plt>
lea    0x1b1f(%rip),%rdi
call   1040 <puts@plt>
lea    0x1b58(%rip),%rdi
call   1040 <puts@plt>
xor    %eax,%eax
call   1050 <wait_any_key@plt>
lea    0x1b88(%rip),%rdi
call   1040 <puts@plt>
lea    0x1b8e(%rip),%rdi
call   1040 <puts@plt>
lea    0x1bca(%rip),%rdi
call   1040 <puts@plt>
lea    0x1c0c(%rip),%rdi
call   1040 <puts@plt>
lea    0x1c25(%rip),%rdi
call   1040 <puts@plt>
lea    0x1c5e(%rip),%rdi
call   1040 <puts@plt>
lea    0x1c9e(%rip),%rdi
call   1040 <puts@plt>
lea    0x1ce0(%rip),%rdi
call   1040 <puts@plt>
lea    0x1d1e(%rip),%rdi
call   1040 <puts@plt>
lea    0x1d1c(%rip),%rdi
call   1040 <puts@plt>
lea    0x1d5e(%rip),%rdi
call   1040 <puts@plt>
lea    0x1d99(%rip),%rdi
call   1040 <puts@plt>
lea    0x1dd8(%rip),%rdi
call   1040 <puts@plt>
lea    0x1e0c(%rip),%rdi
call   1040 <puts@plt>
lea    0x1e45(%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"V6.20\00"
@.str.2 = [9 x i8] c"14.08.08\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 = [76 x i8] c" -z {c,r,p} -> select between classification (c), regression (r),\0A\00"
@.str.12 = [77 x i8] c" and preference ranking (p) (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 = [74 x i8] c" in each iteration (default n = q). Set n < q to \0A\00"
@.str.51 = [46 x i8] c" prevent 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 = [76 x i8] c" -y [0,1] -> restart the optimization from alpha values in file\0A\00"
@.str.57 = [61 x i8] c" specified by -a option. (default 0)\0A\00"
@.str.58 = [69 x i8] c" -h [5..] -> number of iterations a variable needs to be\0A\00"
@.str.59 = [79 x i8] c" optimal before considered for shrinking (default 100)\0A\00"
@.str.60 = [73 x i8] c" -f [0,1] -> do final optimality check for variables removed\0A\00"
@.str.61 = [70 x i8] c" by shrinking. Although this test is usually \0A\00"
@.str.62 = [74 x i8] c" positive, there is no guarantee that the optimum\0A\00"
@.str.63 = [71 x i8] c" was found if the test is omitted. (default 1)\0A\00"
@.str.64 = [79 x i8] c" -y string -> if option is given, reads alphas from file with given\0A\00"
@.str.65 = [79 x i8] c" and uses them as starting point. (default 'disabled')\0A\00"
@.str.66 = [75 x i8] c" -# int -> terminate optimization, if no progress after this\0A\00"
@.str.67 = [64 x i8] c" number of iterations. (default 100000)\0A\00"
@.str.68 = [17 x i8] c"Output options:\0A\00"
@.str.69 = [69 x i8] c" -l string -> file to write predicted labels of unlabeled\0A\00"
@.str.70 = [67 x i8] c" examples into after transductive learning\0A\00"
@.str.71 = [70 x i8] c" -a string -> write all alphas to this file after learning\0A\00"
@.str.72 = [68 x i8] c" (in the same order as in the training set)\0A\00"
@.str.73 = [19 x i8] c"\0AMore details in:\0A\00"
@.str.74 = [73 x i8] c"[1] T. Joachims, Making Large-Scale SVM Learning Practical. Advances in\0A\00"
@.str.75 = [79 x i8] c" Kernel Methods - Support Vector Learning, B. Sch\C3\B6lkopf and C. Burges and\0A\00"
@.str.76 = [38 x i8] c" A. Smola (ed.), MIT Press, 1999.\0A\00"
@.str.77 = [70 x i8] c"[2] T. Joachims, Estimating the Generalization performance of an SVM\0A\00"
@.str.78 = [77 x i8] c" Efficiently. International Conference on Machine Learning (ICML), 2000.\0A\00"
@.str.79 = [79 x i8] c"[3] T. Joachims, Transductive Inference for Text Classification using Support\0A\00"
@.str.80 = [75 x i8] c" Vector Machines. International Conference on Machine Learning (ICML),\0A\00"
@.str.81 = [11 x i8] c" 1999.\0A\00"
@.str.82 = [79 x i8] c"[4] K. Morik, P. Brockhausen, and T. Joachims, Combining statistical learning\0A\00"
@.str.83 = [72 x i8] c" with a knowledge-based approach - A case study in intensive care \0A\00"
@.str.84 = [76 x i8] c" monitoring. International Conference on Machine Learning (ICML), 1999.\0A\00"
@.str.85 = [65 x i8] c"[5] T. Joachims, Learning to Classify Text Using Support Vector\0A\00"
@.str.86 = [70 x i8] c" Machines: Methods, Theory, and Algorithms. Dissertation, Kluwer,\0A\00"
@.str.87 = [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 ([76 x i8], [76 x i8]* @.str.11, i64 0, i64 0))
%12 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([77 x i8], [77 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 ([74 x i8], [74 x i8]* @.str.50, i64 0, i64 0))
%51 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([46 x i8], [46 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 ([76 x i8], [76 x i8]* @.str.56, i64 0, i64 0))
%57 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.57, i64 0, i64 0))
%58 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.58, i64 0, i64 0))
%59 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.59, i64 0, i64 0))
%60 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.60, i64 0, i64 0))
%61 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.61, i64 0, i64 0))
%62 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.62, i64 0, i64 0))
%63 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.63, i64 0, i64 0))
%64 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.64, i64 0, i64 0))
%65 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.65, i64 0, i64 0))
%66 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.66, i64 0, i64 0))
%67 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.67, i64 0, i64 0))
%68 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.68, i64 0, i64 0))
%69 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.69, i64 0, i64 0))
%70 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.70, i64 0, i64 0))
%71 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.71, i64 0, i64 0))
%72 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.72, i64 0, i64 0))
%73 = call i32 (...) @wait_any_key()
%74 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.73, i64 0, i64 0))
%75 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.74, i64 0, i64 0))
%76 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.75, i64 0, i64 0))
%77 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.76, i64 0, i64 0))
%78 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.77, i64 0, i64 0))
%79 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.78, i64 0, i64 0))
%80 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.79, i64 0, i64 0))
%81 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.80, i64 0, i64 0))
%82 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.81, i64 0, i64 0))
%83 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.82, i64 0, i64 0))
%84 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.83, i64 0, i64 0))
%85 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.84, i64 0, i64 0))
%86 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.85, i64 0, i64 0))
%87 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.86, i64 0, i64 0))
%88 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.87, 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"V6.20\00"
@.str.2 = [9 x i8] c"14.08.08\00"
@str = [55 x i8] c" usage: svm_learn [options] example_file model_file\0A\00"
@str.88 = [11 x i8] c"Arguments:\00"
@str.89 = [48 x i8] c" example_file-> file with training data\00"
@str.90 = [63 x i8] c" model_file -> file to store learned decision rule in\00"
@str.91 = [17 x i8] c"General options:\00"
@str.92 = [34 x i8] c" -? -> this help\00"
@str.93 = [52 x i8] c" -v [0..3] -> verbosity level (default 1)\00"
@str.94 = [18 x i8] c"Learning options:\00"
@str.95 = [75 x i8] c" -z {c,r,p} -> select between classification (c), regression (r),\00"
@str.96 = [76 x i8] c" and preference ranking (p) (default classification)\00"
@str.97 = [60 x i8] c" -c float -> C: trade-off between training error\00"
@str.98 = [59 x i8] c" and margin (default [avg. x*x]^-1)\00"
@str.99 = [61 x i8] c" -w [0..] -> epsilon width of tube for regression\00"
@str.100 = [38 x i8] c" (default 0.1)\00"
@str.101 = [71 x i8] c" -j float -> Cost: cost-factor, by which training errors on\00"
@str.102 = [71 x i8] c" positive examples outweight errors on negative\00"
@str.103 = [55 x i8] c" examples (default 1) (see [4])\00"
@str.104 = [69 x i8] c" -b [0,1] -> use biased hyperplane (i.e. x*w+b>0) instead\00"
@str.105 = [72 x i8] c" of unbiased hyperplane (i.e. x*w>0) (default 1)\00"
@str.106 = [62 x i8] c" -i [0,1] -> remove inconsistent training examples\00"
@str.107 = [48 x i8] c" and retrain (default 0)\00"
@str.108 = [32 x i8] c"Performance estimation options:\00"
@str.109 = [68 x i8] c" -x [0,1] -> compute leave-one-out estimates (default 0)\00"
@str.110 = [34 x i8] c" (see [5])\00"
@str.111 = [75 x i8] c" -o ]0..2] -> value of rho for XiAlpha-estimator and for pruning\00"
@str.112 = [74 x i8] c" leave-one-out computation (default 1.0) (see [2])\00"
@str.113 = [69 x i8] c" -k [0..100] -> search depth for extended XiAlpha-estimator \00"
@str.114 = [36 x i8] c" (default 0)\00"
@str.115 = [32 x i8] c"Transduction options (see [3]):\00"
@str.116 = [72 x i8] c" -p [0..1] -> fraction of unlabeled examples to be classified\00"
@str.117 = [73 x i8] c" into the positive class (default is the ratio of\00"
@str.118 = [77 x i8] c" positive and negative examples in the training data)\00"
@str.119 = [16 x i8] c"Kernel options:\00"
@str.120 = [49 x i8] c" -t int -> type of kernel function:\00"
@str.121 = [44 x i8] c" 0: linear (default)\00"
@str.122 = [50 x i8] c" 1: polynomial (s a*b+c)^d\00"
@str.123 = [71 x i8] c" 2: radial basis function exp(-gamma ||a-b||^2)\00"
@str.124 = [51 x i8] c" 3: sigmoid tanh(s a*b + c)\00"
@str.125 = [61 x i8] c" 4: user defined kernel from kernel.h\00"
@str.126 = [57 x i8] c" -d int -> parameter d in polynomial kernel\00"
@str.127 = [54 x i8] c" -g float -> parameter gamma in rbf kernel\00"
@str.128 = [59 x i8] c" -s float -> parameter s in sigmoid/poly kernel\00"
@str.129 = [59 x i8] c" -r float -> parameter c in sigmoid/poly kernel\00"
@str.130 = [57 x i8] c" -u string -> parameter of user defined kernel\00"
@str.131 = [32 x i8] c"Optimization options (see [1]):\00"
@str.132 = [68 x i8] c" -q [2..] -> maximum size of QP-subproblems (default 10)\00"
@str.133 = [73 x i8] c" -n [2..q] -> number of new variables entering the working set\00"
@str.134 = [73 x i8] c" in each iteration (default n = q). Set n < q to \00"
@str.135 = [45 x i8] c" prevent zig-zagging.\00"
@str.136 = [80 x i8] c" -m [5..] -> size of cache for kernel evaluations in MB (default 40)\00"
@str.137 = [49 x i8] c" The larger the faster...\00"
@str.138 = [72 x i8] c" -e float -> eps: Allow that error for termination criterion\00"
@str.139 = [63 x i8] c" [y [w*x+b] - 1] >= eps (default 0.001)\00"
@str.140 = [75 x i8] c" -y [0,1] -> restart the optimization from alpha values in file\00"
@str.141 = [60 x i8] c" specified by -a option. (default 0)\00"
@str.142 = [68 x i8] c" -h [5..] -> number of iterations a variable needs to be\00"
@str.143 = [78 x i8] c" optimal before considered for shrinking (default 100)\00"
@str.144 = [72 x i8] c" -f [0,1] -> do final optimality check for variables removed\00"
@str.145 = [69 x i8] c" by shrinking. Although this test is usually \00"
@str.146 = [73 x i8] c" positive, there is no guarantee that the optimum\00"
@str.147 = [70 x i8] c" was found if the test is omitted. (default 1)\00"
@str.148 = [78 x i8] c" -y string -> if option is given, reads alphas from file with given\00"
@str.149 = [78 x i8] c" and uses them as starting point. (default 'disabled')\00"
@str.150 = [74 x i8] c" -# int -> terminate optimization, if no progress after this\00"
@str.151 = [63 x i8] c" number of iterations. (default 100000)\00"
@str.152 = [16 x i8] c"Output options:\00"
@str.153 = [68 x i8] c" -l string -> file to write predicted labels of unlabeled\00"
@str.154 = [66 x i8] c" examples into after transductive learning\00"
@str.155 = [69 x i8] c" -a string -> write all alphas to this file after learning\00"
@str.156 = [67 x i8] c" (in the same order as in the training set)\00"
@str.157 = [18 x i8] c"\0AMore details in:\00"
@str.158 = [72 x i8] c"[1] T. Joachims, Making Large-Scale SVM Learning Practical. Advances in\00"
@str.159 = [78 x i8] c" Kernel Methods - Support Vector Learning, B. Sch\C3\B6lkopf and C. Burges and\00"
@str.160 = [37 x i8] c" A. Smola (ed.), MIT Press, 1999.\00"
@str.161 = [69 x i8] c"[2] T. Joachims, Estimating the Generalization performance of an SVM\00"
@str.162 = [76 x i8] c" Efficiently. International Conference on Machine Learning (ICML), 2000.\00"
@str.163 = [78 x i8] c"[3] T. Joachims, Transductive Inference for Text Classification using Support\00"
@str.164 = [74 x i8] c" Vector Machines. International Conference on Machine Learning (ICML),\00"
@str.165 = [10 x i8] c" 1999.\00"
@str.166 = [78 x i8] c"[4] K. Morik, P. Brockhausen, and T. Joachims, Combining statistical learning\00"
@str.167 = [71 x i8] c" with a knowledge-based approach - A case study in intensive care \00"
@str.168 = [75 x i8] c" monitoring. International Conference on Machine Learning (ICML), 1999.\00"
@str.169 = [64 x i8] c"[5] T. Joachims, Learning to Classify Text Using Support Vector\00"
@str.170 = [69 x i8] c" Machines: Methods, Theory, and Algorithms. Dissertation, Kluwer,\00"
@str.171 = [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.88, i64 0, i64 0))
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([48 x i8], [48 x i8]* @str.89, i64 0, i64 0))
%6 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @str.90, i64 0, i64 0))
%7 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @str.91, i64 0, i64 0))
%8 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @str.92, i64 0, i64 0))
%9 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([52 x i8], [52 x i8]* @str.93, i64 0, i64 0))
%10 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @str.94, i64 0, i64 0))
%11 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([75 x i8], [75 x i8]* @str.95, i64 0, i64 0))
%12 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([76 x i8], [76 x i8]* @str.96, i64 0, i64 0))
%13 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([60 x i8], [60 x i8]* @str.97, i64 0, i64 0))
%14 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([59 x i8], [59 x i8]* @str.98, i64 0, i64 0))
%15 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([61 x i8], [61 x i8]* @str.99, i64 0, i64 0))
%16 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([38 x i8], [38 x i8]* @str.100, i64 0, i64 0))
%17 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.101, i64 0, i64 0))
%18 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.102, i64 0, i64 0))
%19 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([55 x i8], [55 x i8]* @str.103, i64 0, i64 0))
%20 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.104, i64 0, i64 0))
%21 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.105, i64 0, i64 0))
%22 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([62 x i8], [62 x i8]* @str.106, i64 0, i64 0))
%23 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([48 x i8], [48 x i8]* @str.107, i64 0, i64 0))
%24 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @str.108, i64 0, i64 0))
%25 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @str.109, i64 0, i64 0))
%26 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @str.110, i64 0, i64 0))
%27 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([75 x i8], [75 x i8]* @str.111, i64 0, i64 0))
%28 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.112, i64 0, i64 0))
%29 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.113, i64 0, i64 0))
%30 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @str.114, i64 0, i64 0))
%31 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @str.115, i64 0, i64 0))
%32 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.116, i64 0, i64 0))
%33 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.117, i64 0, i64 0))
%34 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([77 x i8], [77 x i8]* @str.118, i64 0, i64 0))
%35 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.119, i64 0, i64 0))
%36 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([49 x i8], [49 x i8]* @str.120, i64 0, i64 0))
%37 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([44 x i8], [44 x i8]* @str.121, i64 0, i64 0))
%38 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([50 x i8], [50 x i8]* @str.122, i64 0, i64 0))
%39 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.123, i64 0, i64 0))
%40 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([51 x i8], [51 x i8]* @str.124, i64 0, i64 0))
%41 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([61 x i8], [61 x i8]* @str.125, i64 0, i64 0))
%42 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([57 x i8], [57 x i8]* @str.126, i64 0, i64 0))
%43 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([54 x i8], [54 x i8]* @str.127, i64 0, i64 0))
%44 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([59 x i8], [59 x i8]* @str.128, i64 0, i64 0))
%45 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([59 x i8], [59 x i8]* @str.129, i64 0, i64 0))
%46 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([57 x i8], [57 x i8]* @str.130, i64 0, i64 0))
%47 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @str.131, i64 0, i64 0))
%48 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @str.132, i64 0, i64 0))
%49 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.133, i64 0, i64 0))
%50 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.134, i64 0, i64 0))
%51 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([45 x i8], [45 x i8]* @str.135, i64 0, i64 0))
%52 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([80 x i8], [80 x i8]* @str.136, i64 0, i64 0))
%53 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([49 x i8], [49 x i8]* @str.137, i64 0, i64 0))
%54 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.138, i64 0, i64 0))
%55 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @str.139, i64 0, i64 0))
%56 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([75 x i8], [75 x i8]* @str.140, i64 0, i64 0))
%57 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([60 x i8], [60 x i8]* @str.141, i64 0, i64 0))
%58 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @str.142, i64 0, i64 0))
%59 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.143, i64 0, i64 0))
%60 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.144, i64 0, i64 0))
%61 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.145, i64 0, i64 0))
%62 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.146, i64 0, i64 0))
%63 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([70 x i8], [70 x i8]* @str.147, i64 0, i64 0))
%64 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.148, i64 0, i64 0))
%65 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.149, i64 0, i64 0))
%66 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.150, i64 0, i64 0))
%67 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @str.151, i64 0, i64 0))
%68 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.152, i64 0, i64 0))
%69 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @str.153, i64 0, i64 0))
%70 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([66 x i8], [66 x i8]* @str.154, i64 0, i64 0))
%71 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.155, i64 0, i64 0))
%72 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([67 x i8], [67 x i8]* @str.156, i64 0, i64 0))
%73 = tail call i32 (...) @wait_any_key()
%74 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @str.157, i64 0, i64 0))
%75 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.158, i64 0, i64 0))
%76 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.159, i64 0, i64 0))
%77 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([37 x i8], [37 x i8]* @str.160, i64 0, i64 0))
%78 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.161, i64 0, i64 0))
%79 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([76 x i8], [76 x i8]* @str.162, i64 0, i64 0))
%80 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.163, i64 0, i64 0))
%81 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.164, i64 0, i64 0))
%82 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @str.165, i64 0, i64 0))
%83 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.166, i64 0, i64 0))
%84 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.167, i64 0, i64 0))
%85 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([75 x i8], [75 x i8]* @str.168, i64 0, i64 0))
%86 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([64 x i8], [64 x i8]* @str.169, i64 0, i64 0))
%87 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.170, i64 0, i64 0))
%88 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @str.171, i64 0, i64 0))
ret void
}