#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("\nHelp: this tool takes i2c number, therm alert GPIO, remote "
         "alert high temperature limit, local alert high temperature limit"
         " and operating mode as arguments!\n");
  printf("\nSyntax: ./sample_thermal_app -n <i2c_number> -g <alert_gpio_no>"
         " -r <remote_alert_high_temp> -l <local_alert_high_temp> -m <mode>\n");
  printf("\nwhere,\n"
         "-n	<i2c_number>		1 (default) for P852 and 4 for P1852 "
         "and Harmony\n"
         "-g	<alert_gpio_no>		28 (default) for P852 and 179 for "
         "P1852\n"
         "-r	<new_remote_alert>	new remote alert temperature to be "
         "set\n"
         "-l	<new_local_alert>	new local alert temperature to be set\n"
         "-m	<mode>			set mode to either 0 (normal) or 1 "
         "(extended)\n"
         "-e				print values once and then exit\n\n");
}


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

x86 assembly (clang, -O2):
<print_help>:
push   %rax
lea    0xee8(%rip),%rdi
call   1030 <puts@plt>
lea    0xf7a(%rip),%rdi
call   1030 <puts@plt>
lea    0xff0(%rip),%rdi
pop    %rax
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [159 x i8] c"\0AHelp: this tool takes i2c number, therm alert GPIO, remote alert high temperature limit, local alert high temperature limit and operating mode as arguments!\0A\00"
@.str.1 = [131 x i8] c"\0ASyntax: ./sample_thermal_app -n <i2c_number> -g <alert_gpio_no> -r <remote_alert_high_temp> -l <local_alert_high_temp> -m <mode>\0A\00"
@.str.2 = [352 x i8] c"\0Awhere,\0A-n\09<i2c_number>\09\091 (default) for P852 and 4 for P1852 and Harmony\0A-g\09<alert_gpio_no>\09\0928 (default) for P852 and 179 for P1852\0A-r\09<new_remote_alert>\09new remote alert temperature to be set\0A-l\09<new_local_alert>\09new local alert temperature to be set\0A-m\09<mode>\09\09\09set mode to either 0 (normal) or 1 (extended)\0A-e\09\09\09\09print values once and then exit\0A\0A\00"
define void @print_help() {
%1 = call i32 @printf(i8* getelementptr inbounds ([159 x i8], [159 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @printf(i8* getelementptr inbounds ([131 x i8], [131 x i8]* @.str.1, i64 0, i64 0))
%3 = call i32 @printf(i8* getelementptr inbounds ([352 x i8], [352 x i8]* @.str.2, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [158 x i8] c"\0AHelp: this tool takes i2c number, therm alert GPIO, remote alert high temperature limit, local alert high temperature limit and operating mode as arguments!\00"
@str.3 = [130 x i8] c"\0ASyntax: ./sample_thermal_app -n <i2c_number> -g <alert_gpio_no> -r <remote_alert_high_temp> -l <local_alert_high_temp> -m <mode>\00"
@str.4 = [351 x i8] c"\0Awhere,\0A-n\09<i2c_number>\09\091 (default) for P852 and 4 for P1852 and Harmony\0A-g\09<alert_gpio_no>\09\0928 (default) for P852 and 179 for P1852\0A-r\09<new_remote_alert>\09new remote alert temperature to be set\0A-l\09<new_local_alert>\09new local alert temperature to be set\0A-m\09<mode>\09\09\09set mode to either 0 (normal) or 1 (extended)\0A-e\09\09\09\09print values once and then exit\0A\00"
define void @print_help() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([158 x i8], [158 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([130 x i8], [130 x i8]* @str.3, i64 0, i64 0))
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([351 x i8], [351 x i8]* @str.4, i64 0, i64 0))
ret void
}