#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);
int /*<<< orphan*/ fprintf(int /*<<< orphan*/, char *);
int /*<<< orphan*/ stderr;
void usage(void) {
  fprintf(
      stderr,
      "usage: dib3000-watch -d <i2c-device> -a <i2c-address> [-o <type>] [-i "
      "<seconds>]\n"
      "   -d    normally one of /dev/i2c-[0-255]\n"
      "   -a    is 8 for DiB3000M-B and 9, 10, 11 or 12 for DiB3000M-C or "
      "DiB3000-P\n"
      "   -o    output type (print|csv) (default: print)\n"
      "   -i    query interval in seconds (default: 0.1)\n"
      "\n"
      "Don't forget to run tzap or any other dvb-tune program (vdr, kaxtv) in "
      "order to tune a channel,\n"
      "tuning isn't done by this tool.\n"
      "\n"
      "A lot of thing have been taken for the dibusb, dib3000m[bc] driver from "
      "kernel and\n"
      "from t_demod-test software created by DiBcom. Both is GPL, so is "
      "dib-demod-watch.\n"
      "\n"
      "Copyright (C) 2005 by Patrick Boettcher <patrick.boettcher@desy.de>\n"
      "\n"
      "The source of this tool is released under the GPL.\n");
  exit(1);
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
mov    0x2eb5(%rip),%rax
mov    (%rax),%edi
lea    0xecc(%rip),%rsi
call   1030 <fprintf@plt>
mov    $0x1,%edi
call   1040 <exit@plt>

x86 assembly (clang, -O2):
<usage>:
push   %rax
mov    0x2eb8(%rip),%rax
mov    (%rax),%edi
lea    0xecf(%rip),%rsi
call   1030 <fprintf@plt>
mov    $0x1,%edi
call   1040 <exit@plt>

LLVM IR (-O0):
@stderr = global i32 0
@.str = [717 x i8] c"usage: dib3000-watch -d <i2c-device> -a <i2c-address> [-o <type>] [-i <seconds>]\0A -d normally one of /dev/i2c-[0-255]\0A -a is 8 for DiB3000M-B and 9, 10, 11 or 12 for DiB3000M-C or DiB3000-P\0A -o output type (print|csv) (default: print)\0A -i query interval in seconds (default: 0.1)\0A\0ADon't forget to run tzap or any other dvb-tune program (vdr, kaxtv) in order to tune a channel,\0Atuning isn't done by this tool.\0A\0AA lot of thing have been taken for the dibusb, dib3000m[bc] driver from kernel and\0Afrom t_demod-test software created by DiBcom. Both is GPL, so is dib-demod-watch.\0A\0ACopyright (C) 2005 by Patrick Boettcher <patrick.boettcher@desy.de>\0A\0AThe source of this tool is released under the GPL.\0A\00"
define void @usage() {
%1 = load i32, i32* @stderr
%2 = call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([717 x i8], [717 x i8]* @.str, i64 0, i64 0))
%3 = call i32 @exit(i32 1)
unreachable
}

LLVM IR (-O2):
@stderr = global i32 0
@.str = [717 x i8] c"usage: dib3000-watch -d <i2c-device> -a <i2c-address> [-o <type>] [-i <seconds>]\0A -d normally one of /dev/i2c-[0-255]\0A -a is 8 for DiB3000M-B and 9, 10, 11 or 12 for DiB3000M-C or DiB3000-P\0A -o output type (print|csv) (default: print)\0A -i query interval in seconds (default: 0.1)\0A\0ADon't forget to run tzap or any other dvb-tune program (vdr, kaxtv) in order to tune a channel,\0Atuning isn't done by this tool.\0A\0AA lot of thing have been taken for the dibusb, dib3000m[bc] driver from kernel and\0Afrom t_demod-test software created by DiBcom. Both is GPL, so is dib-demod-watch.\0A\0ACopyright (C) 2005 by Patrick Boettcher <patrick.boettcher@desy.de>\0A\0AThe source of this tool is released under the GPL.\0A\00"
define void @usage() {
%1 = load i32, i32* @stderr
%2 = tail call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([717 x i8], [717 x i8]* @.str, i64 0, i64 0))
%3 = tail call i32 @exit(i32 1)
unreachable
}