// File: /workspace/github_c_makefile_star2_O0/nimble-code[P]Modex/Src/modex.c
// Function: Usage
void
Usage(char *prog)
{	FILE *fd = stderr;
	fprintf(fd, "Model Extractor for ANSI-C code\n");
	fprintf(fd, "%s\n", VERSION);
	fprintf(fd, "==========================\n");
	fprintf(fd,"Usage: %s ..options.. file.c\n", prog);

	fprintf(fd,"\nGlobal Modes\n");
	fprintf(fd,"\t-A\tadd print statements to all steps (*after* the step, see also -printf)\n");
	fprintf(fd,"\t-b fname.c\tchange input to fname.c\n");
	fprintf(fd,"\t-c\tturn off c_code mode, and use builtin defaults\n");
	fprintf(fd,"\t-t\ttreat falling out of a switch stmnt as an error\n");
	fprintf(fd,"\t-g\tgenerate (only) a global declarations file for all fcts\n");
	fprintf(fd,"\t-G\tinvert default on #including globals (defaults to off with -n)\n");
	fprintf(fd,"\t-H\tinvert default on #including locals  (defaults to on)\n");
	fprintf(fd,"\t-K\tmap everything to 'keep'\n");
	fprintf(fd,"\t-P\tuse previously preprocessed .M file unless .c is newer\n");
	fprintf(fd,"\t-S\tsuppress generation of variable declarations\n");
	fprintf(fd,"\t-Z\tinvert default on checking assert_p and assert_r (defaults to on)\n");
	fprintf(fd,"\t-z\tdo not strip system include files before parsing target sources\n");
	fprintf(fd,"\t-heapsize N\tset spin heapsize for spin_malloc to N byte (default 256)\n");

	fprintf(fd,"\t-master x\tprepend file x to source before parsing\n");
	fprintf(fd,"\t-nopre \tremove all preprocessing directives\n");
	fprintf(fd,"\t-nostructs\tdont generate default data structures and typedefs\n");
	fprintf(fd,"\t-qN    \tset verification quality to N (1..10)\n");
	fprintf(fd,"\t\t1..8 = bitstate, 9 = hashcompact 10 = full, default %d\n", quality);
	fprintf(fd,"\t-run \tdo all processing and then run the verification\n");
	fprintf(fd,"\t-printf\tadd a printf statement to all imported C code in model (*before* the step, see also -A)\n");

	fprintf(fd,"\nPreprocessing Directives\n");
	fprintf(fd,"\t-D\tdefine a name,   e.g. -DDEBUG\n");
	fprintf(fd,"\t-U\tundefine a name, e.g. -UDEBUG\n");
	fprintf(fd,"\t-I\tadd directory to search for include files, e.g. -I. -IPublic\n");
	fprintf(fd,"\t-O\tadd directives for compilation of pan, e.g. -O \"-DVECTORSZ=4096\"\n");
	fprintf(fd,"\t-Q\tset series of preprocessing macros, e.g. -Q \"-DDEBUG -I. -IPublic\"\n");
	fprintf(fd,"\t-R \"...\" define additional ./pan runtime flags for verification\n");
	fprintf(fd,"\t-T\tset preprocessing sed cmd, e.g. -T \"s;replace;with;g\"\n");

	fprintf(fd,"\nLookup Table	(default: use but do not update lookup table if present)\n");
	fprintf(fd,"\t-k\t\tcreate new lookup tables, use extension .nlut (-V adds decls on stdout)\n");
	fprintf(fd,"\t-L lname\tuse lookup table in lname\n");
	fprintf(fd,"\t-M suffix\tlike -k, but use suffix instead of nlut\n");

	fprintf(fd,"\nTargets\n");
	fprintf(fd,"\t-a[n] pname\tgenerate 1 (or n) active proctype(s) for fct pname\n");
	fprintf(fd,"\t-i pname\tlike -a but generates an inline definition\n");
	fprintf(fd,"\t-n pname\tlike -a but generates only the proctype body\n");
	fprintf(fd,"\t-p pname\tlike -a but generates a passive proctype\n");
	fprintf(fd,"\t-e pname\tlike -a with parameter passing support\n");
	fprintf(fd,"\t-E pname\tlike -p with parameter passing support\n");
	fprintf(fd,"\t-x[n]\t\textract all fcts as active proctypes\n");
	fprintf(fd,"\t-xE\t\textract all fcts as extended proctypes\n");
	fprintf(fd,"\t-xe[n]\t\textract all fcts (except main) as extended active proctypes\n");
	fprintf(fd,"\t-xp\t\textract all fcts as proctypes\n");
	fprintf(fd,"\t-xi\t\textract all fcts as inlines\n");
	fprintf(fd,"\t-m mname\tuse mname as a basename for the generated files\n");
	fprintf(fd,"\t-Nn\tset the default nr of active processes to instantiate per fct to n\n");

	fprintf(fd,"\nInfo\n");
	fprintf(fd,"\t-C\tattempt to reproduce input\n");
	fprintf(fd,"\t-F\tprint all fct names encountered on stdout\n");
	fprintf(fd,"\t-o\tprint all omissions in the lookup table\n");
	fprintf(fd,"\t-r\tprint all redundant entries in the lookup table\n");
	fprintf(fd,"\t-s\tshow symbol table information on stdout\n");
	fprintf(fd,"\t-V\tprint version information and exit\n");
	fprintf(fd,"\t-X\tshow dependency graph, including trans. closure\n");
	fprintf(fd,"\t-Y\tprint commands as they are executed\n");
	fprintf(fd,"\t-v\tverbose\n");
	fprintf(fd,"\t-w\tprint warnings\n\n");

	fprintf(fd, "\t-parsetree\tgenerate dot output of parsetree\n");
	fprintf(fd, "\t-cfg\t\tgenerate dot output for control-flow graph\n");
	fprintf(fd, "\t-fcg\t\tgenerate dot output for function-call graph\n");

#if 0
	fprintf(fd,"\nExperimental\n");
	fprintf(fd, "\t-defuse\ttry to generate a def/use model\n");
#endif
	exit(1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x3e285(%rip), %rax     # 0x44ff8
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x2c88b(%rip), %rsi     # 0x33610
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
movq 0x3e3c9(%rip), %rdx     # 0x45160
leaq 0x2e8cb(%rip), %rsi     # 0x35669
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c881(%rip), %rsi     # 0x33631
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rdx
leaq 0x2c887(%rip), %rsi     # 0x3364d
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c893(%rip), %rsi     # 0x3366b
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c890(%rip), %rsi     # 0x3367a
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c8ca(%rip), %rsi     # 0x336c6
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c8dd(%rip), %rsi     # 0x336eb
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c8ff(%rip), %rsi     # 0x3371f
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c922(%rip), %rsi     # 0x33754
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c94d(%rip), %rsi     # 0x33791
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c97f(%rip), %rsi     # 0x337d5
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c9a8(%rip), %rsi     # 0x33810
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c9b4(%rip), %rsi     # 0x3382e
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c9de(%rip), %rsi     # 0x3386a
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2c9fe(%rip), %rsi     # 0x3389c
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2ca33(%rip), %rsi     # 0x338e3
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2ca66(%rip), %rsi     # 0x33928
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2ca9c(%rip), %rsi     # 0x33970
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cabe(%rip), %rsi     # 0x339a4
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cada(%rip), %rsi     # 0x339d2
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cb08(%rip), %rsi     # 0x33a12
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
movl 0x3e2bd(%rip), %edx     # 0x451d8
leaq 0x2cb20(%rip), %rsi     # 0x33a42
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cb48(%rip), %rsi     # 0x33a7c
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cb6e(%rip), %rsi     # 0x33ab4
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cbbe(%rip), %rsi     # 0x33b16
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cbc7(%rip), %rsi     # 0x33b31
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cbd8(%rip), %rsi     # 0x33b54
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cbe9(%rip), %rsi     # 0x33b77
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cc19(%rip), %rsi     # 0x33bb9
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cc4d(%rip), %rsi     # 0x33bff
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cc83(%rip), %rsi     # 0x33c47
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2ccb3(%rip), %rsi     # 0x33c89
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2ccdc(%rip), %rsi     # 0x33cc4
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cd12(%rip), %rsi     # 0x33d0c
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cd4e(%rip), %rsi     # 0x33d5a
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cd61(%rip), %rsi     # 0x33d7f
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cd83(%rip), %rsi     # 0x33db3
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cd7b(%rip), %rsi     # 0x33dbd
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cdaa(%rip), %rsi     # 0x33dfe
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cdce(%rip), %rsi     # 0x33e34
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cdf4(%rip), %rsi     # 0x33e6c
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2ce16(%rip), %rsi     # 0x33ea0
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2ce36(%rip), %rsi     # 0x33ed2
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2ce56(%rip), %rsi     # 0x33f04
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2ce72(%rip), %rsi     # 0x33f32
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2ce8e(%rip), %rsi     # 0x33f60
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cec2(%rip), %rsi     # 0x33fa6
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2ced5(%rip), %rsi     # 0x33fcb
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cee6(%rip), %rsi     # 0x33fee
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cf0f(%rip), %rsi     # 0x34029
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cf46(%rip), %rsi     # 0x34072
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cf3b(%rip), %rsi     # 0x34079
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cf49(%rip), %rsi     # 0x34099
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cf66(%rip), %rsi     # 0x340c8
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cf81(%rip), %rsi     # 0x340f5
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cfa4(%rip), %rsi     # 0x3412a
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cfbf(%rip), %rsi     # 0x34157
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cfd5(%rip), %rsi     # 0x3417f
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2cff8(%rip), %rsi     # 0x341b4
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2d00f(%rip), %rsi     # 0x341dd
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2d00a(%rip), %rsi     # 0x341ea
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2d00d(%rip), %rsi     # 0x341ff
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2d029(%rip), %rsi     # 0x3422d
movb $0x0, %al
callq 0x4190
movq -0x10(%rbp), %rdi
leaq 0x2d04a(%rip), %rsi     # 0x34260
movb $0x0, %al
callq 0x4190
movl $0x1, %edi
callq 0x4270
nopw (%rax,%rax)