#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 printHelp(void) {
  printf(
      "******************************************************************\n"
      "*    Program Iteracni vypocty.                                   *\n"
      "*    Autor: Petr Zemek                                           *\n"
      "*    Program pocita funkce pomoci zakladnich operaci (+,-,*,/)   *\n"
      "*    se zadanou presnosti.                                       *\n"
      "*    Argument funkce se nacita ze standardniho vstupu.           *\n"
      "*    Pouziti: proj2 -h                                           *\n"
      "*             proj2 -funkce epsilon                              *\n"
      "*    Popis parametru:                                            *\n"
      "*      -h       Vypise tuto obrazovku s napovedou.               *\n"
      "*      -funkce  Jakou funkci bude program pocitat.               *\n"
      "*      epsilon  S jakou presnosti bude program pocitat.          *\n"
      "*    Minimalni hodnota epsilon je 0.0                            *\n"
      "*    Moznosti parametru -funkce jsou:                            *\n"
      "*      -sqrt  Vypocet druha odmocnina(x)                         *\n"
      "*      -cos   Vypocet cos(x)                                     *\n"
      "*      -ex    Vypocet e^x                                        *\n"
      "*      -ln    Vypocet ln(x)                                      *\n"
      "******************************************************************\n");
}


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

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

LLVM IR (-O0):
@.str = [1274 x i8] c"******************************************************************\0A* Program Iteracni vypocty. *\0A* Autor: Petr Zemek *\0A* Program pocita funkce pomoci zakladnich operaci (+,-,*,/) *\0A* se zadanou presnosti. *\0A* Argument funkce se nacita ze standardniho vstupu. *\0A* Pouziti: proj2 -h *\0A* proj2 -funkce epsilon *\0A* Popis parametru: *\0A* -h Vypise tuto obrazovku s napovedou. *\0A* -funkce Jakou funkci bude program pocitat. *\0A* epsilon S jakou presnosti bude program pocitat. *\0A* Minimalni hodnota epsilon je 0.0 *\0A* Moznosti parametru -funkce jsou: *\0A* -sqrt Vypocet druha odmocnina(x) *\0A* -cos Vypocet cos(x) *\0A* -ex Vypocet e^x *\0A* -ln Vypocet ln(x) *\0A******************************************************************\0A\00"
define void @printHelp() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1274 x i8], [1274 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [1273 x i8] c"******************************************************************\0A* Program Iteracni vypocty. *\0A* Autor: Petr Zemek *\0A* Program pocita funkce pomoci zakladnich operaci (+,-,*,/) *\0A* se zadanou presnosti. *\0A* Argument funkce se nacita ze standardniho vstupu. *\0A* Pouziti: proj2 -h *\0A* proj2 -funkce epsilon *\0A* Popis parametru: *\0A* -h Vypise tuto obrazovku s napovedou. *\0A* -funkce Jakou funkci bude program pocitat. *\0A* epsilon S jakou presnosti bude program pocitat. *\0A* Minimalni hodnota epsilon je 0.0 *\0A* Moznosti parametru -funkce jsou: *\0A* -sqrt Vypocet druha odmocnina(x) *\0A* -cos Vypocet cos(x) *\0A* -ex Vypocet e^x *\0A* -ln Vypocet ln(x) *\0A******************************************************************\00"
define void @printHelp() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1273 x i8], [1273 x i8]* @str, i64 0, i64 0))
ret void
}