// File: /workspace/github_cpp_makefile_star2_O2/MarkCBell[P]twister/./twister/kernel/twister_main.cpp
// Function: print_help(std::ostream&)
void print_help(std::ostream &o)
{
	o << std::endl;
	o << "Twister:  A program for generating SnapPea triangulation files from mapping" << std::endl;
	o << "class group data. By Mark Bell, Tracy Hall and Saul Schleimer." << std::endl;
	o << std::endl;
	// In different environments the commands will look different.
	#if OS_ENVIRONMENT == 0  // Windows.
		o << "Usage: Twister.exe [options]" << std::endl;
	#elif OS_ENVIRONMENT == 1  // UNIX.
		o << "Usage: Twister.out [options]" << std::endl;
	#endif
	o << std::endl;
	o << "Options:" << std::endl;
	o << " --help   Display this information." << std::endl;
	o << " --version   Display the current version number." << std::endl;
	o << std::endl;
	o << " -f, --surface \"surface\"   Use the specified surface file."  << std::endl;
	o << " -o, --output \"file\"   Write results to the specified file."  << std::endl;
	o << " -ow, --output-warnings \"file\" Write warnings and errors to the specified file." << std::endl;
	o << " -b, --bundle \"monodromy\"   Create a surface bundle." << std::endl;
	o << " -s, --splitting \"gluing\"   Create a Heegaard splitting." << std::endl;
	o << " -h, --handles \"handles\"   Attach 2-handles." << std::endl;
	o << " -n, --name \"name\"   Name of the 3-manifold." << std::endl;
	o << std::endl;
	o << " -p   Turn off peripheral curve calculations." << std::endl;
	o << " -w, --warnings   Turn off warnings." << std::endl;
	o << " -O, --optimisations   Turn off optimisations." << std::endl;
	o << " -d, --debugging \"level\"  Set debugging level." << std::endl;
	o << std::endl;
	o << "\"surface\" is the path to a .sur file and must be provided." << std::endl;
	o << std::endl;
	o << "\"monodromy\" and \"gluing\" are words of annulus and rectangle names (or " << std::endl;
	o << "inverses) separated by '*'. These are read from left to right and determine a" << std::endl;
	o << "sequence of (half) Dehn twists and, when prefixed with an \"!\", drillings. " << std::endl;
	o << "For example, \"a*B*a*B*A*A*!a*!b\" will perform 6 twists and then drill twice." << std::endl;
	o << std::endl;
	o << "\"handles\" is a word of annulus names (or inverses) separated by '*'. For " << std::endl;
	o << "example, 'a*c*A' means attach three 2-handles, two above and one below." << std::endl;
	o << std::endl;
	o << "monodromy, gluing and handles all support macros, specified in the surface" << std::endl;
	o << "file, as well as nested powers that are indicated by the format:" << std::endl;
	o << "\t(command)^power" << std::endl;
	o << std::endl;
	o << "Examples:" << std::endl;
	// In different environments the examples will look different.
	#if OS_ENVIRONMENT == 0  // Windows.
		o << "   Twister.exe -f \".\\Surfaces\\S_1_1.sur\" -b \"a*B\" " << std::endl;
		o << "produces a triangulation of the figure eight knot complement." << std::endl;
		o << "   Twister.exe -f \".\\Surfaces\\S_2.sur\" -s \"\" -h \"a*B*c\" " << std::endl;
		o << "produces a triangulation of the genus two splitting of the solid torus." << std::endl;
	#elif OS_ENVIRONMENT == 1  // UNIX.
		o << "   Twister.out -f \"Surfaces/S_1_1.sur\" -b \"a*B\" " << std::endl;
		o << "produces a triangulation of the figure eight knot complement." << std::endl;
		o << "   Twister.out -f \"Surfaces/S_2.sur\" -s \"\" -h \"a*B*c\" " << std::endl;
		o << "produces a triangulation of the genus two splitting of the solid torus." << std::endl;
	#endif
	
	return;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
callq 0x3120
leaq 0x1dd4(%rip), %rsi      # 0x11990
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1e09(%rip), %rsi      # 0x119dc
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
movq %rbx, %rdi
callq 0x3120
leaq 0x1e29(%rip), %rsi      # 0x11a1b
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
movq %rbx, %rdi
callq 0x3120
leaq 0x1e27(%rip), %rsi      # 0x11a38
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1e19(%rip), %rsi      # 0x11a41
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1e26(%rip), %rsi      # 0x11a65
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
movq %rbx, %rdi
callq 0x3120
leaq 0x1e38(%rip), %rsi      # 0x11a96
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1e5c(%rip), %rsi      # 0x11ad1
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1e81(%rip), %rsi      # 0x11b0d
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1eba(%rip), %rsi      # 0x11b5d
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1ed8(%rip), %rsi      # 0x11b92
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1efa(%rip), %rsi      # 0x11bcb
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1f10(%rip), %rsi      # 0x11bf8
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
movq %rbx, %rdi
callq 0x3120
leaq 0x1f1e(%rip), %rsi      # 0x11c25
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1f35(%rip), %rsi      # 0x11c53
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1f43(%rip), %rsi      # 0x11c78
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1f5b(%rip), %rsi      # 0x11ca7
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
movq %rbx, %rdi
callq 0x3120
leaq 0x1f6b(%rip), %rsi      # 0x11cd6
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
movq %rbx, %rdi
callq 0x3120
leaq 0x1f87(%rip), %rsi      # 0x11d11
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1fb7(%rip), %rsi      # 0x11d58
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x1fee(%rip), %rsi      # 0x11da6
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x2022(%rip), %rsi      # 0x11df1
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
movq %rbx, %rdi
callq 0x3120
leaq 0x2050(%rip), %rsi      # 0x11e3e
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x2083(%rip), %rsi      # 0x11e88
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
movq %rbx, %rdi
callq 0x3120
leaq 0x20ac(%rip), %rsi      # 0x11ed0
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x20e0(%rip), %rsi      # 0x11f1b
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x210a(%rip), %rsi      # 0x11f5c
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
movq %rbx, %rdi
callq 0x3120
leaq 0x20fc(%rip), %rsi      # 0x11f6d
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x20ef(%rip), %rsi      # 0x11f77
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x210b(%rip), %rsi      # 0x11faa
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x2132(%rip), %rsi      # 0x11fe8
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
callq 0x3120
leaq 0x2154(%rip), %rsi      # 0x12021
movq %rbx, %rdi
callq 0x3230
movq %rax, %rdi
popq %rbx
jmp 0x3120