#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*/ exit(int /*<<< orphan*/);
int /*<<< orphan*/ printf(char *);
void badoptions(void) {
  printf(
      "\nUsage:    phalanx [options] [<moves> <minutes> [<increment in "
      "seconds>]]\n          phalanx [options] [<seconds per move>]\n          "
      "phalanx bench\n          phalanx bcreate [options]\nOptions:  -t "
      "<transposition table size in kilobytes>\n          -f <fixed search "
      "time in seconds>\n          -x <+/->  xboard mode on/off        "
      "default: on\n          -p <+/->  permanent brain on/off    default: "
      "off\n          -s <+/->  show thinking on/off      default: off\n       "
      "    -c <+/->  cpu time                  default: off\n          -o "
      "<+/->  polling input             default: on\n          -b <+/->  "
      "opening book              default: on\n          -r <resign value in "
      "centipawns>     default: 0 (no resigning)\n          -e <easy level "
      "0...100>             default: 0 (best play)\n          -l <+/->  "
      "learning on/off           default: on\n          -v        print "
      "version and exit\n          -P <primary book directory>\n          -S "
      "<secondary book directory>\n          -L <learning file directory>\n    "
      "      -g <log file name>\nExamples: phalanx -c+ -s+ -o - -x- -f 60 "
      "-t4000\n          xboard -fcp \"phalanx -l+ -r800\"\n");
  exit(0);
}


x86 assembly (clang, -O0):
<badoptions>:
push   %rbp
mov    %rsp,%rbp
lea    0xed5(%rip),%rdi
call   1030 <printf@plt>
xor    %edi,%edi
call   1040 <exit@plt>

x86 assembly (clang, -O2):
<badoptions>:
push   %rax
lea    0xed8(%rip),%rdi
call   1030 <puts@plt>
xor    %edi,%edi
call   1040 <exit@plt>

LLVM IR (-O0):
@.str = [1111 x i8] c"\0AUsage: phalanx [options] [<moves> <minutes> [<increment in seconds>]]\0A phalanx [options] [<seconds per move>]\0A phalanx bench\0A phalanx bcreate [options]\0AOptions: -t <transposition table size in kilobytes>\0A -f <fixed search time in seconds>\0A -x <+/-> xboard mode on/off default: on\0A -p <+/-> permanent brain on/off default: off\0A -s <+/-> show thinking on/off default: off\0A -c <+/-> cpu time default: off\0A -o <+/-> polling input default: on\0A -b <+/-> opening book default: on\0A -r <resign value in centipawns> default: 0 (no resigning)\0A -e <easy level 0...100> default: 0 (best play)\0A -l <+/-> learning on/off default: on\0A -v print version and exit\0A -P <primary book directory>\0A -S <secondary book directory>\0A -L <learning file directory>\0A -g <log file name>\0AExamples: phalanx -c+ -s+ -o - -x- -f 60 -t4000\0A xboard -fcp \22phalanx -l+ -r800\22\0A\00"
define void @badoptions() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1111 x i8], [1111 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @exit(i32 0)
unreachable
}

LLVM IR (-O2):
@str = [1110 x i8] c"\0AUsage: phalanx [options] [<moves> <minutes> [<increment in seconds>]]\0A phalanx [options] [<seconds per move>]\0A phalanx bench\0A phalanx bcreate [options]\0AOptions: -t <transposition table size in kilobytes>\0A -f <fixed search time in seconds>\0A -x <+/-> xboard mode on/off default: on\0A -p <+/-> permanent brain on/off default: off\0A -s <+/-> show thinking on/off default: off\0A -c <+/-> cpu time default: off\0A -o <+/-> polling input default: on\0A -b <+/-> opening book default: on\0A -r <resign value in centipawns> default: 0 (no resigning)\0A -e <easy level 0...100> default: 0 (best play)\0A -l <+/-> learning on/off default: on\0A -v print version and exit\0A -P <primary book directory>\0A -S <secondary book directory>\0A -L <learning file directory>\0A -g <log file name>\0AExamples: phalanx -c+ -s+ -o - -x- -f 60 -t4000\0A xboard -fcp \22phalanx -l+ -r800\22\00"
define void @badoptions() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1110 x i8], [1110 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @exit(i32 0)
unreachable
}