#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 *, double);
void usage(void) {
  printf(
      "Usage: gps-sdr-sim [options]\n"
      "Options:\n"
      "  -e <gps_nav>     RINEX navigation file for GPS ephemerides "
      "(required)\n"
      "  -u <user_motion> User motion file (dynamic mode)\n"
      "  -g <nmea_gga>    NMEA GGA stream (dynamic mode)\n"
      "  -l <location>    Lat,Lon,Hgt (static mode) e.g. "
      "30.286502,120.032669,100\n"
      "  -t <date,time>   Scenario start time YYYY/MM/DD,hh:mm:ss\n"
      "  -T <date,time>   Overwrite TOC and TOE to scenario start time\n"
      "  -d <duration>    Duration [sec] (max: %.0f)\n"
      "  -o <output>      I/Q sampling data file (default: gpssim.bin)\n"
      "  -s <frequency>   Sampling frequency [Hz] (default: 2600000)\n"
      "  -b <iq_bits>     I/Q data format [1/8/16] (default: 16)\n"
      "  -i               Disable ionospheric delay for spacecraft scenario\n"
      "  -v               Show details about simulated channels\n",
      ((double)(3000)) / 10.0);
  return;
}


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

x86 assembly (clang, -O2):
<usage>:
lea    0xef1(%rip),%rdi
movsd  0xee1(%rip),%xmm0
jmp    1030 <printf@plt>

LLVM IR (-O0):
@.str = [766 x i8] c"Usage: gps-sdr-sim [options]\0AOptions:\0A -e <gps_nav> RINEX navigation file for GPS ephemerides (required)\0A -u <user_motion> User motion file (dynamic mode)\0A -g <nmea_gga> NMEA GGA stream (dynamic mode)\0A -l <location> Lat,Lon,Hgt (static mode) e.g. 30.286502,120.032669,100\0A -t <date,time> Scenario start time YYYY/MM/DD,hh:mm:ss\0A -T <date,time> Overwrite TOC and TOE to scenario start time\0A -d <duration> Duration [sec] (max: %.0f)\0A -o <output> I/Q sampling data file (default: gpssim.bin)\0A -s <frequency> Sampling frequency [Hz] (default: 2600000)\0A -b <iq_bits> I/Q data format [1/8/16] (default: 16)\0A -i Disable ionospheric delay for spacecraft scenario\0A -v Show details about simulated channels\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([766 x i8], [766 x i8]* @.str, i64 0, i64 0), double 3.000000e+02)
ret void
}

LLVM IR (-O2):
@.str = [766 x i8] c"Usage: gps-sdr-sim [options]\0AOptions:\0A -e <gps_nav> RINEX navigation file for GPS ephemerides (required)\0A -u <user_motion> User motion file (dynamic mode)\0A -g <nmea_gga> NMEA GGA stream (dynamic mode)\0A -l <location> Lat,Lon,Hgt (static mode) e.g. 30.286502,120.032669,100\0A -t <date,time> Scenario start time YYYY/MM/DD,hh:mm:ss\0A -T <date,time> Overwrite TOC and TOE to scenario start time\0A -d <duration> Duration [sec] (max: %.0f)\0A -o <output> I/Q sampling data file (default: gpssim.bin)\0A -s <frequency> Sampling frequency [Hz] (default: 2600000)\0A -b <iq_bits> I/Q data format [1/8/16] (default: 16)\0A -i Disable ionospheric delay for spacecraft scenario\0A -v Show details about simulated channels\0A\00"
define void @usage() {
%1 = tail call i32 @printf(i8* getelementptr inbounds ([766 x i8], [766 x i8]* @.str, i64 0, i64 0), double 3.000000e+02)
ret void
}