#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 */
typedef int /*<<< orphan*/ FILE;

/* Variables and functions */
int /*<<< orphan*/ fprintf(int /*<<< orphan*/ *, char *);
void usage_params(FILE *out) {
  fprintf(out,
          "  --half	           process only the left half of an image\n  "
          "--hist=FILE	       write tile histogram data to FILE\n  "
          "--ignore-outtest     do not test stroke to cross the centra area\n  "
          "--minarea=VALUE      minimal line stroke area (defines "
          "thickness),\n		       default is 1\n  "
          "--value-thr=VALUE    threshold (0 - 255) to compare "
          "values,\n		       default is 13 (5%)\n  --sum-thr=VALUE   "
          "   threshold (0 - 3*255) to compare summary\n		       "
          "values, default is 38.4\n  --dia-corr=VALUE     correlation "
          "coefficient of the diagonal and\n		       orthogonal "
          "sampling values\n  --passthrough=CMYK   ignores selected color "
          "channels\n  --select-mask=BW     select black, white or both "
          "correction\n                       images\n");
}


x86 assembly (clang, -O0):
<usage_params>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rdi
lea    0xed9(%rip),%rsi
call   1030 <fprintf@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<usage_params>:
lea    0xee9(%rip),%rsi
jmp    1030 <fprintf@plt>

LLVM IR (-O0):
@.str = [710 x i8] c" --half\09 process only the left half of an image\0A --hist=FILE\09 write tile histogram data to FILE\0A --ignore-outtest do not test stroke to cross the centra area\0A --minarea=VALUE minimal line stroke area (defines thickness),\0A\09\09 default is 1\0A --value-thr=VALUE threshold (0 - 255) to compare values,\0A\09\09 default is 13 (5%)\0A --sum-thr=VALUE threshold (0 - 3*255) to compare summary\0A\09\09 values, default is 38.4\0A --dia-corr=VALUE correlation coefficient of the diagonal and\0A\09\09 orthogonal sampling values\0A --passthrough=CMYK ignores selected color channels\0A --select-mask=BW select black, white or both correction\0A images\0A\00"
define void @usage_params(i32* %0) {
%2 = alloca i32*
store i32* %0, i32** %2
%3 = load i32*, i32** %2
%4 = call i32 @fprintf(i32* %3, i8* getelementptr inbounds ([710 x i8], [710 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [710 x i8] c" --half\09 process only the left half of an image\0A --hist=FILE\09 write tile histogram data to FILE\0A --ignore-outtest do not test stroke to cross the centra area\0A --minarea=VALUE minimal line stroke area (defines thickness),\0A\09\09 default is 1\0A --value-thr=VALUE threshold (0 - 255) to compare values,\0A\09\09 default is 13 (5%)\0A --sum-thr=VALUE threshold (0 - 3*255) to compare summary\0A\09\09 values, default is 38.4\0A --dia-corr=VALUE correlation coefficient of the diagonal and\0A\09\09 orthogonal sampling values\0A --passthrough=CMYK ignores selected color channels\0A --select-mask=BW select black, white or both correction\0A images\0A\00"
define void @usage_params(i32* nocapture %0) {
%2 = tail call i32 @fprintf(i32* %0, i8* getelementptr inbounds ([710 x i8], [710 x i8]* @.str, i64 0, i64 0))
ret void
}