#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *);
void usage(void) {
  printf(
      "NAME\n    fusor - display live or recorded camera and analog values "
      "from a fusor\n\nSYNOPSIS\n    fusor [OPTIONS] [FILE]\n\nDESCRIPTION\n   "
      " If FILE is not supplied then fusor runs in live mode. The camera image "
      "is\n    is read from the camera and displayed. The analog values are "
      "read from the \n    dataq device, scaled, and the scaled values are "
      "displayed.\n\n    If FILE is supplied then fusor runs in playback mode. "
      "The camera image and\n    scaled values are read from the FILE and "
      "displayed.\n\nOPTIONS\n    -g WxH   : window width and height, default "
      "1920x1080\n\n    -n cam   : no camera, applies only in live mode\n\n    "
      "-n dataq : no data acquisition, applies only in live mode\n\n    -v     "
      "  : version\n\n    -h       : help\n");
}


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

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

LLVM IR (-O0):
@.str = [716 x i8] c"NAME\0A fusor - display live or recorded camera and analog values from a fusor\0A\0ASYNOPSIS\0A fusor [OPTIONS] [FILE]\0A\0ADESCRIPTION\0A If FILE is not supplied then fusor runs in live mode. The camera image is\0A is read from the camera and displayed. The analog values are read from the \0A dataq device, scaled, and the scaled values are displayed.\0A\0A If FILE is supplied then fusor runs in playback mode. The camera image and\0A scaled values are read from the FILE and displayed.\0A\0AOPTIONS\0A -g WxH : window width and height, default 1920x1080\0A\0A -n cam : no camera, applies only in live mode\0A\0A -n dataq : no data acquisition, applies only in live mode\0A\0A -v : version\0A\0A -h : help\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([716 x i8], [716 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [715 x i8] c"NAME\0A fusor - display live or recorded camera and analog values from a fusor\0A\0ASYNOPSIS\0A fusor [OPTIONS] [FILE]\0A\0ADESCRIPTION\0A If FILE is not supplied then fusor runs in live mode. The camera image is\0A is read from the camera and displayed. The analog values are read from the \0A dataq device, scaled, and the scaled values are displayed.\0A\0A If FILE is supplied then fusor runs in playback mode. The camera image and\0A scaled values are read from the FILE and displayed.\0A\0AOPTIONS\0A -g WxH : window width and height, default 1920x1080\0A\0A -n cam : no camera, applies only in live mode\0A\0A -n dataq : no data acquisition, applies only in live mode\0A\0A -v : version\0A\0A -h : help\00"
define void @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([715 x i8], [715 x i8]* @str, i64 0, i64 0))
ret void
}