#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*/ sayln(char *);
void showhelp() {
  sayln(" ??\n");
  sayln("Available arguments (use in any order) are:\n");
  sayln("	nr		# of repeats to run			"
        "ds	  first data set to run");
  sayln("	cs		cache size(bytes)			"
        "s0	  initial container size");
  sayln("	fb		# of free bursts			"
        "g0	  # of buffer segments");
  sayln("	mk		maximum keys				"
        "mb	  maximum bytes");
  sayln("	or		order of input data			"
        "sr	  sampling rate");
  sayln("	tl		tail length for CPL-bs		tf	  tail "
        "factor for CPL-bs");
  sayln("	wr		output sorted strings		sn    sort "
        "variant(s) to run");
  sayln("Arguments are separated by white space and may not contain white "
        "space. Each argument must");
  sayln("start with a tag followed by '=' or ', ' and one or more numbers or "
        "additional tags.");
  sayln("Tag 'sn' takes a list of sort numbers.  Tag 'vl' takes a second tag, "
        "followed by a list");
  sayln("of up to 20 values for the argument specified by the second tag.\n");
  sayln("Available sorts are:\n");
  sayln("	 10	C-bs		Copying burstsort");
  sayln(
      "	 11	Cf-bs		Same + free bursts set by arg FREEBURSTS");
  sayln("	 12	Cs-bs		Same + sampling set by arg SAMPLERATE");
  sayln("	 20	CP-bs		Record burstsort");
  sayln(
      "	 21	CPf-bs		Same + free bursts set by arg FREEBURSTS");
  sayln("	 22	CPs-bs		Same + sampling set by arg SAMPLERATE");
  sayln("	 30	CPL-bs		Paging burstsort");
  sayln(
      "	 31	CPLf-bs		Same + free bursts set by arg FREEBURSTS");
  sayln("	 32	CPLs-bs		Same + sampling set by arg SAMPLERATE");
  sayln("Available data sets are:\n");
  sayln("	 0	Set 1 of No Duplicates (100, 000 strings)");
  sayln("	 1	Set 2 of No Duplicates (316, 230 strings)");
  sayln("	 2	Set 3 of No Duplicates (1, 000, 000 strings)");
  sayln("	 3	Set 4 of No Duplicates (3, 162, 300 strings)");
  sayln("	 4	Set 5 of No Duplicates (10, 000, 000 strings)");
  sayln("	 5	Set 6 of No Duplicates (31, 623, 000 strings)\n");
  sayln("	 6	Set 1 of Genome (100, 000 strings)");
  sayln("	 7	Set 2 of Genome (316, 230 strings)");
  sayln("	 8	Set 3 of Genome (1, 000, 000 strings)");
  sayln("	 9	Set 4 of Genome (3, 162, 300 strings)");
  sayln("	 10 Set 5 of Genome (10, 000, 000 strings)");
  sayln("	 11 Set 6 of Genome (31, 623, 000 strings)\n");
  sayln("	 12	 Set 1 of Random (100, 000 strings)");
  sayln("	 13	 Set 2 of Random (316, 230 strings)");
  sayln("	 14	 Set 3 of Random (1, 000, 000 strings)");
  sayln("	 15	 Set 4 of Random (3, 162, 300 strings)");
  sayln("	 16	 Set 5 of Random (10, 000, 000 strings)");
  sayln("	 17	 Set 6 of Random (31, 623, 000 strings)\n");
  sayln("	 18	 Set 1 of URL (100, 000 strings)");
  sayln("	 19	 Set 2 of URL (316, 230 strings)");
  sayln("	 20	 Set 3 of URL (1, 000, 000 strings)");
  sayln("	 21	 Set 4 of URL (3, 162, 300 strings)");
  sayln("	 22	 Set 5 of URL (10, 000, 000 strings)\n");
  sayln(
      "	 23	Set 3 of Random Strings, each of length 100 characters\n");
  sayln("Usage: sn=10, 11, 20 ds=5 nr=1 will run sorts 10, 11 and 20 once on "
        "dataset 5.\n\n");
}


x86 assembly (clang, -O0):
<showhelp>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <sayln@plt>
lea    0xede(%rip),%rdi
call   1030 <sayln@plt>
lea    0xeff(%rip),%rdi
call   1030 <sayln@plt>
lea    0xf29(%rip),%rdi
call   1030 <sayln@plt>
lea    0xf52(%rip),%rdi
call   1030 <sayln@plt>
lea    0xf78(%rip),%rdi
call   1030 <sayln@plt>
lea    0xf94(%rip),%rdi
call   1030 <sayln@plt>
lea    0xfb6(%rip),%rdi
call   1030 <sayln@plt>
lea    0xfe3(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1010(%rip),%rdi
call   1030 <sayln@plt>
lea    0x105f(%rip),%rdi
call   1030 <sayln@plt>
lea    0x10a8(%rip),%rdi
call   1030 <sayln@plt>
lea    0x10f4(%rip),%rdi
call   1030 <sayln@plt>
lea    0x112a(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1134(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1145(%rip),%rdi
call   1030 <sayln@plt>
lea    0x116e(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1194(%rip),%rdi
call   1030 <sayln@plt>
lea    0x11a5(%rip),%rdi
call   1030 <sayln@plt>
lea    0x11cf(%rip),%rdi
call   1030 <sayln@plt>
lea    0x11f6(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1208(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1233(%rip),%rdi
call   1030 <sayln@plt>
lea    0x125b(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1269(%rip),%rdi
call   1030 <sayln@plt>
lea    0x128b(%rip),%rdi
call   1030 <sayln@plt>
lea    0x12ad(%rip),%rdi
call   1030 <sayln@plt>
lea    0x12d2(%rip),%rdi
call   1030 <sayln@plt>
lea    0x12f7(%rip),%rdi
call   1030 <sayln@plt>
lea    0x131d(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1344(%rip),%rdi
call   1030 <sayln@plt>
lea    0x135f(%rip),%rdi
call   1030 <sayln@plt>
lea    0x137a(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1398(%rip),%rdi
call   1030 <sayln@plt>
lea    0x13b6(%rip),%rdi
call   1030 <sayln@plt>
lea    0x13d6(%rip),%rdi
call   1030 <sayln@plt>
lea    0x13f7(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1414(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1431(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1451(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1471(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1492(%rip),%rdi
call   1030 <sayln@plt>
lea    0x14b4(%rip),%rdi
call   1030 <sayln@plt>
lea    0x14ce(%rip),%rdi
call   1030 <sayln@plt>
lea    0x14e8(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1505(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1522(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1541(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1572(%rip),%rdi
call   1030 <sayln@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<showhelp>:
push   %rax
lea    0xee8(%rip),%rdi
call   1030 <sayln@plt>
lea    0xee1(%rip),%rdi
call   1030 <sayln@plt>
lea    0xf02(%rip),%rdi
call   1030 <sayln@plt>
lea    0xf2c(%rip),%rdi
call   1030 <sayln@plt>
lea    0xf55(%rip),%rdi
call   1030 <sayln@plt>
lea    0xf7b(%rip),%rdi
call   1030 <sayln@plt>
lea    0xf97(%rip),%rdi
call   1030 <sayln@plt>
lea    0xfb9(%rip),%rdi
call   1030 <sayln@plt>
lea    0xfe6(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1013(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1062(%rip),%rdi
call   1030 <sayln@plt>
lea    0x10ab(%rip),%rdi
call   1030 <sayln@plt>
lea    0x10f7(%rip),%rdi
call   1030 <sayln@plt>
lea    0x112d(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1137(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1148(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1171(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1197(%rip),%rdi
call   1030 <sayln@plt>
lea    0x11a8(%rip),%rdi
call   1030 <sayln@plt>
lea    0x11d2(%rip),%rdi
call   1030 <sayln@plt>
lea    0x11f9(%rip),%rdi
call   1030 <sayln@plt>
lea    0x120b(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1236(%rip),%rdi
call   1030 <sayln@plt>
lea    0x125e(%rip),%rdi
call   1030 <sayln@plt>
lea    0x126c(%rip),%rdi
call   1030 <sayln@plt>
lea    0x128e(%rip),%rdi
call   1030 <sayln@plt>
lea    0x12b0(%rip),%rdi
call   1030 <sayln@plt>
lea    0x12d5(%rip),%rdi
call   1030 <sayln@plt>
lea    0x12fa(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1320(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1347(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1362(%rip),%rdi
call   1030 <sayln@plt>
lea    0x137d(%rip),%rdi
call   1030 <sayln@plt>
lea    0x139b(%rip),%rdi
call   1030 <sayln@plt>
lea    0x13b9(%rip),%rdi
call   1030 <sayln@plt>
lea    0x13d9(%rip),%rdi
call   1030 <sayln@plt>
lea    0x13fa(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1417(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1434(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1454(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1474(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1495(%rip),%rdi
call   1030 <sayln@plt>
lea    0x14b7(%rip),%rdi
call   1030 <sayln@plt>
lea    0x14d1(%rip),%rdi
call   1030 <sayln@plt>
lea    0x14eb(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1508(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1525(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1544(%rip),%rdi
call   1030 <sayln@plt>
lea    0x1575(%rip),%rdi
pop    %rax
jmp    1030 <sayln@plt>

LLVM IR (-O0):
@.str = [5 x i8] c" ??\0A\00"
@.str.1 = [45 x i8] c"Available arguments (use in any order) are:\0A\00"
@.str.2 = [54 x i8] c"\09nr\09\09# of repeats to run\09\09\09ds\09 first data set to run\00"
@.str.3 = [53 x i8] c"\09cs\09\09cache size(bytes)\09\09\09s0\09 initial container size\00"
@.str.4 = [50 x i8] c"\09fb\09\09# of free bursts\09\09\09g0\09 # of buffer segments\00"
@.str.5 = [40 x i8] c"\09mk\09\09maximum keys\09\09\09\09mb\09 maximum bytes\00"
@.str.6 = [46 x i8] c"\09or\09\09order of input data\09\09\09sr\09 sampling rate\00"
@.str.7 = [57 x i8] c"\09tl\09\09tail length for CPL-bs\09\09tf\09 tail factor for CPL-bs\00"
@.str.8 = [57 x i8] c"\09wr\09\09output sorted strings\09\09sn sort variant(s) to run\00"
@.str.9 = [91 x i8] c"Arguments are separated by white space and may not contain white space. Each argument must\00"
@.str.10 = [85 x i8] c"start with a tag followed by '=' or ', ' and one or more numbers or additional tags.\00"
@.str.11 = [88 x i8] c"Tag 'sn' takes a list of sort numbers. Tag 'vl' takes a second tag, followed by a list\00"
@.str.12 = [66 x i8] c"of up to 20 values for the argument specified by the second tag.\0A\00"
@.str.13 = [22 x i8] c"Available sorts are:\0A\00"
@.str.14 = [29 x i8] c"\09 10\09C-bs\09\09Copying burstsort\00"
@.str.15 = [53 x i8] c"\09 11\09Cf-bs\09\09Same + free bursts set by arg FREEBURSTS\00"
@.str.16 = [50 x i8] c"\09 12\09Cs-bs\09\09Same + sampling set by arg SAMPLERATE\00"
@.str.17 = [29 x i8] c"\09 20\09CP-bs\09\09Record burstsort\00"
@.str.18 = [54 x i8] c"\09 21\09CPf-bs\09\09Same + free bursts set by arg FREEBURSTS\00"
@.str.19 = [51 x i8] c"\09 22\09CPs-bs\09\09Same + sampling set by arg SAMPLERATE\00"
@.str.20 = [30 x i8] c"\09 30\09CPL-bs\09\09Paging burstsort\00"
@.str.21 = [55 x i8] c"\09 31\09CPLf-bs\09\09Same + free bursts set by arg FREEBURSTS\00"
@.str.22 = [52 x i8] c"\09 32\09CPLs-bs\09\09Same + sampling set by arg SAMPLERATE\00"
@.str.23 = [26 x i8] c"Available data sets are:\0A\00"
@.str.24 = [46 x i8] c"\09 0\09Set 1 of No Duplicates (100, 000 strings)\00"
@.str.25 = [46 x i8] c"\09 1\09Set 2 of No Duplicates (316, 230 strings)\00"
@.str.26 = [49 x i8] c"\09 2\09Set 3 of No Duplicates (1, 000, 000 strings)\00"
@.str.27 = [49 x i8] c"\09 3\09Set 4 of No Duplicates (3, 162, 300 strings)\00"
@.str.28 = [50 x i8] c"\09 4\09Set 5 of No Duplicates (10, 000, 000 strings)\00"
@.str.29 = [51 x i8] c"\09 5\09Set 6 of No Duplicates (31, 623, 000 strings)\0A\00"
@.str.30 = [39 x i8] c"\09 6\09Set 1 of Genome (100, 000 strings)\00"
@.str.31 = [39 x i8] c"\09 7\09Set 2 of Genome (316, 230 strings)\00"
@.str.32 = [42 x i8] c"\09 8\09Set 3 of Genome (1, 000, 000 strings)\00"
@.str.33 = [42 x i8] c"\09 9\09Set 4 of Genome (3, 162, 300 strings)\00"
@.str.34 = [44 x i8] c"\09 10 Set 5 of Genome (10, 000, 000 strings)\00"
@.str.35 = [45 x i8] c"\09 11 Set 6 of Genome (31, 623, 000 strings)\0A\00"
@.str.36 = [41 x i8] c"\09 12\09 Set 1 of Random (100, 000 strings)\00"
@.str.37 = [41 x i8] c"\09 13\09 Set 2 of Random (316, 230 strings)\00"
@.str.38 = [44 x i8] c"\09 14\09 Set 3 of Random (1, 000, 000 strings)\00"
@.str.39 = [44 x i8] c"\09 15\09 Set 4 of Random (3, 162, 300 strings)\00"
@.str.40 = [45 x i8] c"\09 16\09 Set 5 of Random (10, 000, 000 strings)\00"
@.str.41 = [46 x i8] c"\09 17\09 Set 6 of Random (31, 623, 000 strings)\0A\00"
@.str.42 = [38 x i8] c"\09 18\09 Set 1 of URL (100, 000 strings)\00"
@.str.43 = [38 x i8] c"\09 19\09 Set 2 of URL (316, 230 strings)\00"
@.str.44 = [41 x i8] c"\09 20\09 Set 3 of URL (1, 000, 000 strings)\00"
@.str.45 = [41 x i8] c"\09 21\09 Set 4 of URL (3, 162, 300 strings)\00"
@.str.46 = [43 x i8] c"\09 22\09 Set 5 of URL (10, 000, 000 strings)\0A\00"
@.str.47 = [61 x i8] c"\09 23\09Set 3 of Random Strings, each of length 100 characters\0A\00"
@.str.48 = [81 x i8] c"Usage: sn=10, 11, 20 ds=5 nr=1 will run sorts 10, 11 and 20 once on dataset 5.\0A\0A\00"
define void @showhelp() {
%1 = call i32 @sayln(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @sayln(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.1, i64 0, i64 0))
%3 = call i32 @sayln(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.2, i64 0, i64 0))
%4 = call i32 @sayln(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.3, i64 0, i64 0))
%5 = call i32 @sayln(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.4, i64 0, i64 0))
%6 = call i32 @sayln(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.5, i64 0, i64 0))
%7 = call i32 @sayln(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.6, i64 0, i64 0))
%8 = call i32 @sayln(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.7, i64 0, i64 0))
%9 = call i32 @sayln(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.8, i64 0, i64 0))
%10 = call i32 @sayln(i8* getelementptr inbounds ([91 x i8], [91 x i8]* @.str.9, i64 0, i64 0))
%11 = call i32 @sayln(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.10, i64 0, i64 0))
%12 = call i32 @sayln(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.11, i64 0, i64 0))
%13 = call i32 @sayln(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.12, i64 0, i64 0))
%14 = call i32 @sayln(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0))
%15 = call i32 @sayln(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.14, i64 0, i64 0))
%16 = call i32 @sayln(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.15, i64 0, i64 0))
%17 = call i32 @sayln(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.16, i64 0, i64 0))
%18 = call i32 @sayln(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.17, i64 0, i64 0))
%19 = call i32 @sayln(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.18, i64 0, i64 0))
%20 = call i32 @sayln(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.19, i64 0, i64 0))
%21 = call i32 @sayln(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.20, i64 0, i64 0))
%22 = call i32 @sayln(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.21, i64 0, i64 0))
%23 = call i32 @sayln(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.22, i64 0, i64 0))
%24 = call i32 @sayln(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.23, i64 0, i64 0))
%25 = call i32 @sayln(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.24, i64 0, i64 0))
%26 = call i32 @sayln(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.25, i64 0, i64 0))
%27 = call i32 @sayln(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.26, i64 0, i64 0))
%28 = call i32 @sayln(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.27, i64 0, i64 0))
%29 = call i32 @sayln(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.28, i64 0, i64 0))
%30 = call i32 @sayln(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.29, i64 0, i64 0))
%31 = call i32 @sayln(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.30, i64 0, i64 0))
%32 = call i32 @sayln(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.31, i64 0, i64 0))
%33 = call i32 @sayln(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.32, i64 0, i64 0))
%34 = call i32 @sayln(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.33, i64 0, i64 0))
%35 = call i32 @sayln(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.34, i64 0, i64 0))
%36 = call i32 @sayln(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.35, i64 0, i64 0))
%37 = call i32 @sayln(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.36, i64 0, i64 0))
%38 = call i32 @sayln(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.37, i64 0, i64 0))
%39 = call i32 @sayln(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.38, i64 0, i64 0))
%40 = call i32 @sayln(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.39, i64 0, i64 0))
%41 = call i32 @sayln(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.40, i64 0, i64 0))
%42 = call i32 @sayln(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.41, i64 0, i64 0))
%43 = call i32 @sayln(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.42, i64 0, i64 0))
%44 = call i32 @sayln(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.43, i64 0, i64 0))
%45 = call i32 @sayln(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.44, i64 0, i64 0))
%46 = call i32 @sayln(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.45, i64 0, i64 0))
%47 = call i32 @sayln(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.46, i64 0, i64 0))
%48 = call i32 @sayln(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.47, i64 0, i64 0))
%49 = call i32 @sayln(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.48, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [5 x i8] c" ??\0A\00"
@.str.1 = [45 x i8] c"Available arguments (use in any order) are:\0A\00"
@.str.2 = [54 x i8] c"\09nr\09\09# of repeats to run\09\09\09ds\09 first data set to run\00"
@.str.3 = [53 x i8] c"\09cs\09\09cache size(bytes)\09\09\09s0\09 initial container size\00"
@.str.4 = [50 x i8] c"\09fb\09\09# of free bursts\09\09\09g0\09 # of buffer segments\00"
@.str.5 = [40 x i8] c"\09mk\09\09maximum keys\09\09\09\09mb\09 maximum bytes\00"
@.str.6 = [46 x i8] c"\09or\09\09order of input data\09\09\09sr\09 sampling rate\00"
@.str.7 = [57 x i8] c"\09tl\09\09tail length for CPL-bs\09\09tf\09 tail factor for CPL-bs\00"
@.str.8 = [57 x i8] c"\09wr\09\09output sorted strings\09\09sn sort variant(s) to run\00"
@.str.9 = [91 x i8] c"Arguments are separated by white space and may not contain white space. Each argument must\00"
@.str.10 = [85 x i8] c"start with a tag followed by '=' or ', ' and one or more numbers or additional tags.\00"
@.str.11 = [88 x i8] c"Tag 'sn' takes a list of sort numbers. Tag 'vl' takes a second tag, followed by a list\00"
@.str.12 = [66 x i8] c"of up to 20 values for the argument specified by the second tag.\0A\00"
@.str.13 = [22 x i8] c"Available sorts are:\0A\00"
@.str.14 = [29 x i8] c"\09 10\09C-bs\09\09Copying burstsort\00"
@.str.15 = [53 x i8] c"\09 11\09Cf-bs\09\09Same + free bursts set by arg FREEBURSTS\00"
@.str.16 = [50 x i8] c"\09 12\09Cs-bs\09\09Same + sampling set by arg SAMPLERATE\00"
@.str.17 = [29 x i8] c"\09 20\09CP-bs\09\09Record burstsort\00"
@.str.18 = [54 x i8] c"\09 21\09CPf-bs\09\09Same + free bursts set by arg FREEBURSTS\00"
@.str.19 = [51 x i8] c"\09 22\09CPs-bs\09\09Same + sampling set by arg SAMPLERATE\00"
@.str.20 = [30 x i8] c"\09 30\09CPL-bs\09\09Paging burstsort\00"
@.str.21 = [55 x i8] c"\09 31\09CPLf-bs\09\09Same + free bursts set by arg FREEBURSTS\00"
@.str.22 = [52 x i8] c"\09 32\09CPLs-bs\09\09Same + sampling set by arg SAMPLERATE\00"
@.str.23 = [26 x i8] c"Available data sets are:\0A\00"
@.str.24 = [46 x i8] c"\09 0\09Set 1 of No Duplicates (100, 000 strings)\00"
@.str.25 = [46 x i8] c"\09 1\09Set 2 of No Duplicates (316, 230 strings)\00"
@.str.26 = [49 x i8] c"\09 2\09Set 3 of No Duplicates (1, 000, 000 strings)\00"
@.str.27 = [49 x i8] c"\09 3\09Set 4 of No Duplicates (3, 162, 300 strings)\00"
@.str.28 = [50 x i8] c"\09 4\09Set 5 of No Duplicates (10, 000, 000 strings)\00"
@.str.29 = [51 x i8] c"\09 5\09Set 6 of No Duplicates (31, 623, 000 strings)\0A\00"
@.str.30 = [39 x i8] c"\09 6\09Set 1 of Genome (100, 000 strings)\00"
@.str.31 = [39 x i8] c"\09 7\09Set 2 of Genome (316, 230 strings)\00"
@.str.32 = [42 x i8] c"\09 8\09Set 3 of Genome (1, 000, 000 strings)\00"
@.str.33 = [42 x i8] c"\09 9\09Set 4 of Genome (3, 162, 300 strings)\00"
@.str.34 = [44 x i8] c"\09 10 Set 5 of Genome (10, 000, 000 strings)\00"
@.str.35 = [45 x i8] c"\09 11 Set 6 of Genome (31, 623, 000 strings)\0A\00"
@.str.36 = [41 x i8] c"\09 12\09 Set 1 of Random (100, 000 strings)\00"
@.str.37 = [41 x i8] c"\09 13\09 Set 2 of Random (316, 230 strings)\00"
@.str.38 = [44 x i8] c"\09 14\09 Set 3 of Random (1, 000, 000 strings)\00"
@.str.39 = [44 x i8] c"\09 15\09 Set 4 of Random (3, 162, 300 strings)\00"
@.str.40 = [45 x i8] c"\09 16\09 Set 5 of Random (10, 000, 000 strings)\00"
@.str.41 = [46 x i8] c"\09 17\09 Set 6 of Random (31, 623, 000 strings)\0A\00"
@.str.42 = [38 x i8] c"\09 18\09 Set 1 of URL (100, 000 strings)\00"
@.str.43 = [38 x i8] c"\09 19\09 Set 2 of URL (316, 230 strings)\00"
@.str.44 = [41 x i8] c"\09 20\09 Set 3 of URL (1, 000, 000 strings)\00"
@.str.45 = [41 x i8] c"\09 21\09 Set 4 of URL (3, 162, 300 strings)\00"
@.str.46 = [43 x i8] c"\09 22\09 Set 5 of URL (10, 000, 000 strings)\0A\00"
@.str.47 = [61 x i8] c"\09 23\09Set 3 of Random Strings, each of length 100 characters\0A\00"
@.str.48 = [81 x i8] c"Usage: sn=10, 11, 20 ds=5 nr=1 will run sorts 10, 11 and 20 once on dataset 5.\0A\0A\00"
define void @showhelp() {
%1 = tail call i32 @sayln(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0))
%2 = tail call i32 @sayln(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.1, i64 0, i64 0))
%3 = tail call i32 @sayln(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.2, i64 0, i64 0))
%4 = tail call i32 @sayln(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.3, i64 0, i64 0))
%5 = tail call i32 @sayln(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.4, i64 0, i64 0))
%6 = tail call i32 @sayln(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.5, i64 0, i64 0))
%7 = tail call i32 @sayln(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.6, i64 0, i64 0))
%8 = tail call i32 @sayln(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.7, i64 0, i64 0))
%9 = tail call i32 @sayln(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.8, i64 0, i64 0))
%10 = tail call i32 @sayln(i8* getelementptr inbounds ([91 x i8], [91 x i8]* @.str.9, i64 0, i64 0))
%11 = tail call i32 @sayln(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.10, i64 0, i64 0))
%12 = tail call i32 @sayln(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.11, i64 0, i64 0))
%13 = tail call i32 @sayln(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.12, i64 0, i64 0))
%14 = tail call i32 @sayln(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0))
%15 = tail call i32 @sayln(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.14, i64 0, i64 0))
%16 = tail call i32 @sayln(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.15, i64 0, i64 0))
%17 = tail call i32 @sayln(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.16, i64 0, i64 0))
%18 = tail call i32 @sayln(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.17, i64 0, i64 0))
%19 = tail call i32 @sayln(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.18, i64 0, i64 0))
%20 = tail call i32 @sayln(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.19, i64 0, i64 0))
%21 = tail call i32 @sayln(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.20, i64 0, i64 0))
%22 = tail call i32 @sayln(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.21, i64 0, i64 0))
%23 = tail call i32 @sayln(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.22, i64 0, i64 0))
%24 = tail call i32 @sayln(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.23, i64 0, i64 0))
%25 = tail call i32 @sayln(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.24, i64 0, i64 0))
%26 = tail call i32 @sayln(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.25, i64 0, i64 0))
%27 = tail call i32 @sayln(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.26, i64 0, i64 0))
%28 = tail call i32 @sayln(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.27, i64 0, i64 0))
%29 = tail call i32 @sayln(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.28, i64 0, i64 0))
%30 = tail call i32 @sayln(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.29, i64 0, i64 0))
%31 = tail call i32 @sayln(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.30, i64 0, i64 0))
%32 = tail call i32 @sayln(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.31, i64 0, i64 0))
%33 = tail call i32 @sayln(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.32, i64 0, i64 0))
%34 = tail call i32 @sayln(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.33, i64 0, i64 0))
%35 = tail call i32 @sayln(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.34, i64 0, i64 0))
%36 = tail call i32 @sayln(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.35, i64 0, i64 0))
%37 = tail call i32 @sayln(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.36, i64 0, i64 0))
%38 = tail call i32 @sayln(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.37, i64 0, i64 0))
%39 = tail call i32 @sayln(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.38, i64 0, i64 0))
%40 = tail call i32 @sayln(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.39, i64 0, i64 0))
%41 = tail call i32 @sayln(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.40, i64 0, i64 0))
%42 = tail call i32 @sayln(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.41, i64 0, i64 0))
%43 = tail call i32 @sayln(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.42, i64 0, i64 0))
%44 = tail call i32 @sayln(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.43, i64 0, i64 0))
%45 = tail call i32 @sayln(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.44, i64 0, i64 0))
%46 = tail call i32 @sayln(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.45, i64 0, i64 0))
%47 = tail call i32 @sayln(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.46, i64 0, i64 0))
%48 = tail call i32 @sayln(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.47, i64 0, i64 0))
%49 = tail call i32 @sayln(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.48, i64 0, i64 0))
ret void
}