#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 print_help() {
  printf(
      "stp options:\n"
      "--stp-type type                  : BPDU type\n"
      "--stp-flags flag                 : control flag\n"
      "--stp-root-prio prio[:prio]      : root priority (16-bit) range\n"
      "--stp-root-addr address[/mask]   : MAC address of root\n"
      "--stp-root-cost cost[:cost]      : root cost (32-bit) range\n"
      "--stp-sender-prio prio[:prio]    : sender priority (16-bit) range\n"
      "--stp-sender-addr address[/mask] : MAC address of sender\n"
      "--stp-port port[:port]           : port id (16-bit) range\n"
      "--stp-msg-age age[:age]          : message age timer (16-bit) range\n"
      "--stp-max-age age[:age]          : maximum age timer (16-bit) range\n"
      "--stp-hello-time time[:time]     : hello time timer (16-bit) range\n"
      "--stp-forward-delay delay[:delay]: forward delay timer (16-bit) range\n"
      " Recognized BPDU type strings:\n"
      "   \"config\": configuration BPDU (=0)\n"
      "   \"tcn\"   : topology change notification BPDU (=0x80)\n"
      " Recognized control flag strings:\n"
      "   \"topology-change\"    : topology change flag (0x01)\n"
      "   \"topology-change-ack\": topology change acknowledgement flag "
      "(0x80)");
}


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

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

LLVM IR (-O0):
@.str = [1020 x i8] c"stp options:\0A--stp-type type : BPDU type\0A--stp-flags flag : control flag\0A--stp-root-prio prio[:prio] : root priority (16-bit) range\0A--stp-root-addr address[/mask] : MAC address of root\0A--stp-root-cost cost[:cost] : root cost (32-bit) range\0A--stp-sender-prio prio[:prio] : sender priority (16-bit) range\0A--stp-sender-addr address[/mask] : MAC address of sender\0A--stp-port port[:port] : port id (16-bit) range\0A--stp-msg-age age[:age] : message age timer (16-bit) range\0A--stp-max-age age[:age] : maximum age timer (16-bit) range\0A--stp-hello-time time[:time] : hello time timer (16-bit) range\0A--stp-forward-delay delay[:delay]: forward delay timer (16-bit) range\0A Recognized BPDU type strings:\0A \22config\22: configuration BPDU (=0)\0A \22tcn\22 : topology change notification BPDU (=0x80)\0A Recognized control flag strings:\0A \22topology-change\22 : topology change flag (0x01)\0A \22topology-change-ack\22: topology change acknowledgement flag (0x80)\00"
define void @print_help() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1020 x i8], [1020 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [1020 x i8] c"stp options:\0A--stp-type type : BPDU type\0A--stp-flags flag : control flag\0A--stp-root-prio prio[:prio] : root priority (16-bit) range\0A--stp-root-addr address[/mask] : MAC address of root\0A--stp-root-cost cost[:cost] : root cost (32-bit) range\0A--stp-sender-prio prio[:prio] : sender priority (16-bit) range\0A--stp-sender-addr address[/mask] : MAC address of sender\0A--stp-port port[:port] : port id (16-bit) range\0A--stp-msg-age age[:age] : message age timer (16-bit) range\0A--stp-max-age age[:age] : maximum age timer (16-bit) range\0A--stp-hello-time time[:time] : hello time timer (16-bit) range\0A--stp-forward-delay delay[:delay]: forward delay timer (16-bit) range\0A Recognized BPDU type strings:\0A \22config\22: configuration BPDU (=0)\0A \22tcn\22 : topology change notification BPDU (=0x80)\0A Recognized control flag strings:\0A \22topology-change\22 : topology change flag (0x01)\0A \22topology-change-ack\22: topology change acknowledgement flag (0x80)\00"
define void @print_help() {
%1 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([1020 x i8], [1020 x i8]* @.str, i64 0, i64 0))
ret void
}