#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 */
typedef int /*<<< orphan*/ FILE;

/* Variables and functions */
int /*<<< orphan*/ fprintf(int /*<<< orphan*/ *, char *, ...);
int /*<<< orphan*/ sprintf(char *, char *, char *, int, int, ...);
void google_map_output_heading(
    FILE *output_file, char *title, char *google_map_key_data,
    char *balloon_click_parameter, char *balloon_click_function,
    char *application_name, int absolute_position_top,
    int absolute_position_left, char *google_map_center_latitude,
    char *google_map_center_longitude, int google_map_starting_zoom,
    int google_map_width, int google_map_height) {
  char map_canvas[1024];
  char *font_style;
  font_style = "font-size: 2em;";
  if (absolute_position_top + absolute_position_left) {
    sprintf(map_canvas,
            "#%s {\n"
            "	position: absolute;\n"
            "	top: %dpx;\n"
            "	left: %dpx;\n"
            "	width: %dpx;\n"
            "	height: %dpx\n"
            "	}",
            "map_canvas", absolute_position_top, absolute_position_left,
            google_map_width, google_map_height);
  } else {
    sprintf(map_canvas,
            "#%s {\n"
            "	width: %dpx;\n"
            "	height: %dpx\n"
            "	}",
            "map_canvas", google_map_width, google_map_height);
  }
  fprintf(output_file,
          "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n"
          "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n"
          "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
          "<head>\n"
          "<meta http-equiv=\"content-type\" content=\"text/html; "
          "charset=utf-8\"/>\n"
          "<meta name=\"viewport\" content=\"initial-scale=1.0, "
          "user-scalable=no\" />\n");
  fprintf(
      output_file,
      "<style type=\"text/css\">\n"
      "%s\n"
      "</style>\n"
      "<link rel=stylesheet type=text/css href=/appaserver/%s/style.css>\n"
      "<script type=\"text/javascript\"\n"
      "src=\"https://maps.googleapis.com/maps/api/js?key=%s&sensor=false\">\n"
      "</script>\n",
      map_canvas, application_name, google_map_key_data);
  if (title) {
    fprintf(output_file, "<title>%s</title>\n", title);
  }
  fprintf(output_file, "<script type=\"text/javascript\">\n"
                       "\n"
                       "//<![CDATA[\n"
                       "\n");
  if (balloon_click_parameter && balloon_click_function) {
    fprintf(output_file,
            "function onclick_selectable_function( %s )\n"
            "{\n"
            "	%s;\n"
            "	return true;\n"
            "}\n"
            "\n",
            balloon_click_parameter, balloon_click_function);
  }
  fprintf(output_file,
          "function create_map_marker( map, point, click_message )\n"
          "{\n"
          "	var infowindow;\n"
          "\n"
          "	infowindow = new google.maps.InfoWindow({\n"
          "				content: '<br>' + click_message\n"
          "			});\n"
          "\n"
          "	var marker = new google.maps.Marker({\n"
          "		position: point,\n"
          "		map: map\n"
          "  	});\n"
          "\n"
          "	google.maps.event.addListener(marker, 'click', function() {\n"
          "		infowindow.open( map, marker );\n"
          "		});\n"
          "}\n");
  fprintf(
      output_file,
      "var infowindow;\n"
      "function create_selectable_map_marker( map, point, click_message )\n"
      "{\n"
      "	var content;\n"
      "	var marker;\n"
      "\n"
      "	content = '<u style=\"%s\" onclick=onclick_selectable_function(\"' + "
      "click_message + '\")>' + click_message + '</u>';\n"
      "\n"
      "	marker = new google.maps.Marker({\n"
      "		position: point,\n"
      "		map: map\n"
      "  	});\n"
      "\n"
      "	infowindow = new google.maps.InfoWindow({\n"
      "				content: '<br>' + click_message\n"
      "			});\n"
      "\n"
      "	google.maps.event.addListener(marker, 'click', function() {\n"
      "		infowindow.setContent( content );\n"
      "		infowindow.open( map, marker );\n"
      "		});\n"
      "}\n",
      font_style);
  fprintf(output_file, "var rectangle;\n"
                       "var rectangle_southwest_latitude;\n"
                       "var rectangle_southwest_longitude;\n"
                       "var rectangle_northeast_latitude;\n"
                       "var rectangle_northeast_longitude;\n\n");
  fprintf(output_file,
          "function initialize() {\n"
          "	var point;\n"
          "	var the_center = new google.maps.LatLng(%s,%s);\n"
          "\n"
          "	var mapOptions = {\n"
          "		center: the_center,\n"
          "		zoom: %d,\n"
          "		mapTypeId: google.maps.MapTypeId.SATELLITE\n"
          "	};\n"
          "\n"
          "	var map = new google.maps.Map(\n"
          "			document.getElementById(\"%s\"),\n"
          "			mapOptions);\n"
          "\n",
          google_map_center_latitude, google_map_center_longitude,
          google_map_starting_zoom, "map_canvas");
}


x86 assembly (clang, -O0):
<google_map_output_heading>:
push   %rbp
mov    %rsp,%rbp
sub    $0x440,%rsp
mov    0x40(%rbp),%eax
mov    0x38(%rbp),%eax
mov    0x30(%rbp),%eax
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%eax
mov    0x10(%rbp),%eax
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
mov    %r9,-0x30(%rbp)
lea    0xe9f(%rip),%rax
mov    %rax,-0x438(%rbp)
mov    0x10(%rbp),%eax
add    0x18(%rbp),%eax
cmp    $0x0,%eax
je     11a9 <google_map_output_heading+0x89>
lea    -0x430(%rbp),%rdi
mov    0x10(%rbp),%ecx
mov    0x18(%rbp),%r8d
mov    0x38(%rbp),%r9d
mov    0x40(%rbp),%eax
lea    0xe7d(%rip),%rsi
lea    0xec9(%rip),%rdx
mov    %eax,(%rsp)
mov    $0x0,%al
call   1040 <sprintf@plt>
jmp    11cc <google_map_output_heading+0xac>
lea    -0x430(%rbp),%rdi
mov    0x38(%rbp),%ecx
mov    0x40(%rbp),%r8d
lea    0xeb0(%rip),%rsi
lea    0xe9e(%rip),%rdx
mov    $0x0,%al
call   1040 <sprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0xebc(%rip),%rsi
mov    $0x0,%al
call   1030 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    -0x430(%rbp),%rdx
mov    -0x30(%rbp),%rcx
mov    -0x18(%rbp),%r8
lea    0xfc9(%rip),%rsi
mov    $0x0,%al
call   1030 <fprintf@plt>
cmpq   $0x0,-0x10(%rbp)
je     1220 <google_map_output_heading+0x100>
mov    -0x8(%rbp),%rdi
mov    -0x10(%rbp),%rdx
lea    0x107b(%rip),%rsi
mov    $0x0,%al
call   1030 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x107c(%rip),%rsi
mov    $0x0,%al
call   1030 <fprintf@plt>
cmpq   $0x0,-0x20(%rbp)
je     1262 <google_map_output_heading+0x142>
cmpq   $0x0,-0x28(%rbp)
je     1262 <google_map_output_heading+0x142>
mov    -0x8(%rbp),%rdi
mov    -0x20(%rbp),%rdx
mov    -0x28(%rbp),%rcx
lea    0x107b(%rip),%rsi
mov    $0x0,%al
call   1030 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x10ad(%rip),%rsi
mov    $0x0,%al
call   1030 <fprintf@plt>
mov    -0x8(%rbp),%rdi
mov    -0x438(%rbp),%rdx
lea    0x11ec(%rip),%rsi
mov    $0x0,%al
call   1030 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x13eb(%rip),%rsi
mov    $0x0,%al
call   1030 <fprintf@plt>
mov    -0x8(%rbp),%rdi
mov    0x20(%rbp),%rdx
mov    0x28(%rbp),%rcx
mov    0x30(%rbp),%r8d
lea    0x1468(%rip),%rsi
lea    0xda6(%rip),%r9
mov    $0x0,%al
call   1030 <fprintf@plt>
add    $0x440,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<google_map_output_heading>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x418,%rsp
mov    %r9,%r13
mov    %r8,%r14
mov    %rcx,%r15
mov    %rdx,%rbp
mov    %rsi,%r12
mov    %rdi,%rbx
mov    0x480(%rsp),%r8d
mov    0x478(%rsp),%r9d
mov    0x458(%rsp),%eax
mov    0x450(%rsp),%ecx
mov    %eax,%edx
add    %ecx,%edx
jne    1196 <google_map_output_heading+0x66>
lea    0xef0(%rip),%rsi
lea    0xede(%rip),%rdx
lea    0x10(%rsp),%rdi
mov    %r9d,%ecx
xor    %eax,%eax
call   1040 <sprintf@plt>
jmp    11b7 <google_map_output_heading+0x87>
mov    %r8d,(%rsp)
lea    0xe6f(%rip),%rsi
lea    0xebb(%rip),%rdx
lea    0x10(%rsp),%rdi
mov    %eax,%r8d
xor    %eax,%eax
call   1040 <sprintf@plt>
lea    0xed5(%rip),%rdi
mov    $0x12d,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1050 <fwrite@plt>
lea    0xfea(%rip),%rsi
lea    0x10(%rsp),%rdx
mov    %rbx,%rdi
mov    %r13,%rcx
mov    %rbp,%r8
xor    %eax,%eax
call   1030 <fprintf@plt>
test   %r12,%r12
je     1205 <google_map_output_heading+0xd5>
lea    0x109c(%rip),%rsi
mov    %rbx,%rdi
mov    %r12,%rdx
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    0x470(%rsp),%r12d
mov    0x468(%rsp),%r13
mov    0x460(%rsp),%rbp
lea    0x1083(%rip),%rdi
mov    $0x2e,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1050 <fwrite@plt>
test   %r15,%r15
je     1257 <google_map_output_heading+0x127>
test   %r14,%r14
je     1257 <google_map_output_heading+0x127>
lea    0x108f(%rip),%rsi
mov    %rbx,%rdi
mov    %r15,%rdx
mov    %r14,%rcx
xor    %eax,%eax
call   1030 <fprintf@plt>
lea    0x10bc(%rip),%rdi
mov    $0x157,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1050 <fwrite@plt>
lea    0x11fb(%rip),%rsi
lea    0xd82(%rip),%rdx
mov    %rbx,%rdi
xor    %eax,%eax
call   1030 <fprintf@plt>
lea    0x13f4(%rip),%rdi
mov    $0x9a,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1050 <fwrite@plt>
lea    0x1476(%rip),%rsi
lea    0xdb4(%rip),%r9
mov    %rbx,%rdi
mov    %rbp,%rdx
mov    %r13,%rcx
mov    %r12d,%r8d
xor    %eax,%eax
call   1030 <fprintf@plt>
add    $0x418,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@.str = [16 x i8] c"font-size: 2em;\00"
@.str.1 = [83 x i8] c"#%s {\0A\09position: absolute;\0A\09top: %dpx;\0A\09left: %dpx;\0A\09width: %dpx;\0A\09height: %dpx\0A\09}\00"
@.str.2 = [11 x i8] c"map_canvas\00"
@.str.3 = [37 x i8] c"#%s {\0A\09width: %dpx;\0A\09height: %dpx\0A\09}\00"
@.str.4 = [302 x i8] c"<!DOCTYPE html PUBLIC \22-//W3C//DTD XHTML 1.0 Strict//EN\22\0A\22http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\22>\0A<html xmlns=\22http://www.w3.org/1999/xhtml\22>\0A<head>\0A<meta http-equiv=\22content-type\22 content=\22text/html; charset=utf-8\22/>\0A<meta name=\22viewport\22 content=\22initial-scale=1.0, user-scalable=no\22 />\0A\00"
@.str.5 = [211 x i8] c"<style type=\22text/css\22>\0A%s\0A</style>\0A<link rel=stylesheet type=text/css href=/appaserver/%s/style.css>\0A<script type=\22text/javascript\22\0Asrc=\22https://maps.googleapis.com/maps/api/js?key=%s&sensor=false\22>\0A</script>\0A\00"
@.str.6 = [19 x i8] c"<title>%s</title>\0A\00"
@.str.7 = [47 x i8] c"<script type=\22text/javascript\22>\0A\0A//<![CDATA[\0A\0A\00"
@.str.8 = [68 x i8] c"function onclick_selectable_function( %s )\0A{\0A\09%s;\0A\09return true;\0A}\0A\0A\00"
@.str.9 = [344 x i8] c"function create_map_marker( map, point, click_message )\0A{\0A\09var infowindow;\0A\0A\09infowindow = new google.maps.InfoWindow({\0A\09\09\09\09content: '<br>' + click_message\0A\09\09\09});\0A\0A\09var marker = new google.maps.Marker({\0A\09\09position: point,\0A\09\09map: map\0A \09});\0A\0A\09google.maps.event.addListener(marker, 'click', function() {\0A\09\09infowindow.open( map, marker );\0A\09\09});\0A}\0A\00"
@.str.10 = [529 x i8] c"var infowindow;\0Afunction create_selectable_map_marker( map, point, click_message )\0A{\0A\09var content;\0A\09var marker;\0A\0A\09content = '<u style=\22%s\22 onclick=onclick_selectable_function(\22' + click_message + '\22)>' + click_message + '</u>';\0A\0A\09marker = new google.maps.Marker({\0A\09\09position: point,\0A\09\09map: map\0A \09});\0A\0A\09infowindow = new google.maps.InfoWindow({\0A\09\09\09\09content: '<br>' + click_message\0A\09\09\09});\0A\0A\09google.maps.event.addListener(marker, 'click', function() {\0A\09\09infowindow.setContent( content );\0A\09\09infowindow.open( map, marker );\0A\09\09});\0A}\0A\00"
@.str.11 = [155 x i8] c"var rectangle;\0Avar rectangle_southwest_latitude;\0Avar rectangle_southwest_longitude;\0Avar rectangle_northeast_latitude;\0Avar rectangle_northeast_longitude;\0A\0A\00"
@.str.12 = [274 x i8] c"function initialize() {\0A\09var point;\0A\09var the_center = new google.maps.LatLng(%s,%s);\0A\0A\09var mapOptions = {\0A\09\09center: the_center,\0A\09\09zoom: %d,\0A\09\09mapTypeId: google.maps.MapTypeId.SATELLITE\0A\09};\0A\0A\09var map = new google.maps.Map(\0A\09\09\09document.getElementById(\22%s\22),\0A\09\09\09mapOptions);\0A\0A\00"
define void @google_map_output_heading(i32* %0, i8* %1, i8* %2, i8* %3, i8* %4, i8* %5, i32 %6, i32 %7, i8* %8, i8* %9, i32 %10, i32 %11, i32 %12) {
%14 = alloca i32*
%15 = alloca i8*
%16 = alloca i8*
%17 = alloca i8*
%18 = alloca i8*
%19 = alloca i8*
%20 = alloca i32
%21 = alloca i32
%22 = alloca i8*
%23 = alloca i8*
%24 = alloca i32
%25 = alloca i32
%26 = alloca i32
%27 = alloca [1024 x i8]
%28 = alloca i8*
store i32* %0, i32** %14
store i8* %1, i8** %15
store i8* %2, i8** %16
store i8* %3, i8** %17
store i8* %4, i8** %18
store i8* %5, i8** %19
store i32 %6, i32* %20
store i32 %7, i32* %21
store i8* %8, i8** %22
store i8* %9, i8** %23
store i32 %10, i32* %24
store i32 %11, i32* %25
store i32 %12, i32* %26
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str, i64 0, i64 0), i8** %28
%29 = load i32, i32* %20
%30 = load i32, i32* %21
%31 = add nsw i32 %29, %30
%32 = icmp ne i32 %31, 0
br i1 %32, label %33, label %40
33: ; preds = %13
%34 = getelementptr inbounds [1024 x i8], [1024 x i8]* %27, i64 0, i64 0
%35 = load i32, i32* %20
%36 = load i32, i32* %21
%37 = load i32, i32* %25
%38 = load i32, i32* %26
%39 = call i32 (i8*, i8*, i8*, i32, i32, ...) @sprintf(i8* %34, i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.2, i64 0, i64 0), i32 %35, i32 %36, i32 %37, i32 %38)
br label %45
40: ; preds = %13
%41 = getelementptr inbounds [1024 x i8], [1024 x i8]* %27, i64 0, i64 0
%42 = load i32, i32* %25
%43 = load i32, i32* %26
%44 = call i32 (i8*, i8*, i8*, i32, i32, ...) @sprintf(i8* %41, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.2, i64 0, i64 0), i32 %42, i32 %43)
br label %45
45: ; preds = %40, %33
%46 = load i32*, i32** %14
%47 = call i32 (i32*, i8*, ...) @fprintf(i32* %46, i8* getelementptr inbounds ([302 x i8], [302 x i8]* @.str.4, i64 0, i64 0))
%48 = load i32*, i32** %14
%49 = getelementptr inbounds [1024 x i8], [1024 x i8]* %27, i64 0, i64 0
%50 = load i8*, i8** %19
%51 = load i8*, i8** %16
%52 = call i32 (i32*, i8*, ...) @fprintf(i32* %48, i8* getelementptr inbounds ([211 x i8], [211 x i8]* @.str.5, i64 0, i64 0), i8* %49, i8* %50, i8* %51)
%53 = load i8*, i8** %15
%54 = icmp ne i8* %53, null
br i1 %54, label %55, label %59
55: ; preds = %45
%56 = load i32*, i32** %14
%57 = load i8*, i8** %15
%58 = call i32 (i32*, i8*, ...) @fprintf(i32* %56, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.6, i64 0, i64 0), i8* %57)
br label %59
59: ; preds = %55, %45
%60 = load i32*, i32** %14
%61 = call i32 (i32*, i8*, ...) @fprintf(i32* %60, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.7, i64 0, i64 0))
%62 = load i8*, i8** %17
%63 = icmp ne i8* %62, null
br i1 %63, label %64, label %72
64: ; preds = %59
%65 = load i8*, i8** %18
%66 = icmp ne i8* %65, null
br i1 %66, label %67, label %72
67: ; preds = %64
%68 = load i32*, i32** %14
%69 = load i8*, i8** %17
%70 = load i8*, i8** %18
%71 = call i32 (i32*, i8*, ...) @fprintf(i32* %68, i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.8, i64 0, i64 0), i8* %69, i8* %70)
br label %72
72: ; preds = %67, %64, %59
%73 = load i32*, i32** %14
%74 = call i32 (i32*, i8*, ...) @fprintf(i32* %73, i8* getelementptr inbounds ([344 x i8], [344 x i8]* @.str.9, i64 0, i64 0))
%75 = load i32*, i32** %14
%76 = load i8*, i8** %28
%77 = call i32 (i32*, i8*, ...) @fprintf(i32* %75, i8* getelementptr inbounds ([529 x i8], [529 x i8]* @.str.10, i64 0, i64 0), i8* %76)
%78 = load i32*, i32** %14
%79 = call i32 (i32*, i8*, ...) @fprintf(i32* %78, i8* getelementptr inbounds ([155 x i8], [155 x i8]* @.str.11, i64 0, i64 0))
%80 = load i32*, i32** %14
%81 = load i8*, i8** %22
%82 = load i8*, i8** %23
%83 = load i32, i32* %24
%84 = call i32 (i32*, i8*, ...) @fprintf(i32* %80, i8* getelementptr inbounds ([274 x i8], [274 x i8]* @.str.12, i64 0, i64 0), i8* %81, i8* %82, i32 %83, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.2, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [16 x i8] c"font-size: 2em;\00"
@.str.1 = [83 x i8] c"#%s {\0A\09position: absolute;\0A\09top: %dpx;\0A\09left: %dpx;\0A\09width: %dpx;\0A\09height: %dpx\0A\09}\00"
@.str.2 = [11 x i8] c"map_canvas\00"
@.str.3 = [37 x i8] c"#%s {\0A\09width: %dpx;\0A\09height: %dpx\0A\09}\00"
@.str.4 = [302 x i8] c"<!DOCTYPE html PUBLIC \22-//W3C//DTD XHTML 1.0 Strict//EN\22\0A\22http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\22>\0A<html xmlns=\22http://www.w3.org/1999/xhtml\22>\0A<head>\0A<meta http-equiv=\22content-type\22 content=\22text/html; charset=utf-8\22/>\0A<meta name=\22viewport\22 content=\22initial-scale=1.0, user-scalable=no\22 />\0A\00"
@.str.5 = [211 x i8] c"<style type=\22text/css\22>\0A%s\0A</style>\0A<link rel=stylesheet type=text/css href=/appaserver/%s/style.css>\0A<script type=\22text/javascript\22\0Asrc=\22https://maps.googleapis.com/maps/api/js?key=%s&sensor=false\22>\0A</script>\0A\00"
@.str.6 = [19 x i8] c"<title>%s</title>\0A\00"
@.str.7 = [47 x i8] c"<script type=\22text/javascript\22>\0A\0A//<![CDATA[\0A\0A\00"
@.str.8 = [68 x i8] c"function onclick_selectable_function( %s )\0A{\0A\09%s;\0A\09return true;\0A}\0A\0A\00"
@.str.9 = [344 x i8] c"function create_map_marker( map, point, click_message )\0A{\0A\09var infowindow;\0A\0A\09infowindow = new google.maps.InfoWindow({\0A\09\09\09\09content: '<br>' + click_message\0A\09\09\09});\0A\0A\09var marker = new google.maps.Marker({\0A\09\09position: point,\0A\09\09map: map\0A \09});\0A\0A\09google.maps.event.addListener(marker, 'click', function() {\0A\09\09infowindow.open( map, marker );\0A\09\09});\0A}\0A\00"
@.str.10 = [529 x i8] c"var infowindow;\0Afunction create_selectable_map_marker( map, point, click_message )\0A{\0A\09var content;\0A\09var marker;\0A\0A\09content = '<u style=\22%s\22 onclick=onclick_selectable_function(\22' + click_message + '\22)>' + click_message + '</u>';\0A\0A\09marker = new google.maps.Marker({\0A\09\09position: point,\0A\09\09map: map\0A \09});\0A\0A\09infowindow = new google.maps.InfoWindow({\0A\09\09\09\09content: '<br>' + click_message\0A\09\09\09});\0A\0A\09google.maps.event.addListener(marker, 'click', function() {\0A\09\09infowindow.setContent( content );\0A\09\09infowindow.open( map, marker );\0A\09\09});\0A}\0A\00"
@.str.11 = [155 x i8] c"var rectangle;\0Avar rectangle_southwest_latitude;\0Avar rectangle_southwest_longitude;\0Avar rectangle_northeast_latitude;\0Avar rectangle_northeast_longitude;\0A\0A\00"
@.str.12 = [274 x i8] c"function initialize() {\0A\09var point;\0A\09var the_center = new google.maps.LatLng(%s,%s);\0A\0A\09var mapOptions = {\0A\09\09center: the_center,\0A\09\09zoom: %d,\0A\09\09mapTypeId: google.maps.MapTypeId.SATELLITE\0A\09};\0A\0A\09var map = new google.maps.Map(\0A\09\09\09document.getElementById(\22%s\22),\0A\09\09\09mapOptions);\0A\0A\00"
define void @google_map_output_heading(i32* nocapture %0, i8* %1, i8* %2, i8* %3, i8* %4, i8* %5, i32 %6, i32 %7, i8* %8, i8* %9, i32 %10, i32 %11, i32 %12) {
%14 = alloca [1024 x i8]
%15 = getelementptr inbounds [1024 x i8], [1024 x i8]* %14, i64 0, i64 0
%16 = sub i32 0, %7
%17 = icmp eq i32 %16, %6
br i1 %17, label %20, label %18
18: ; preds = %13
%19 = call i32 (i8*, i8*, i8*, i32, i32, ...) @sprintf(i8* %15, i8* dereferenceable(1) getelementptr inbounds ([83 x i8], [83 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.2, i64 0, i64 0), i32 %6, i32 %7, i32 %11, i32 %12)
br label %22
20: ; preds = %13
%21 = call i32 (i8*, i8*, i8*, i32, i32, ...) @sprintf(i8* %15, i8* dereferenceable(1) getelementptr inbounds ([37 x i8], [37 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.2, i64 0, i64 0), i32 %11, i32 %12)
br label %22
22: ; preds = %20, %18
%23 = tail call i64 @fwrite(i8* getelementptr inbounds ([302 x i8], [302 x i8]* @.str.4, i64 0, i64 0), i64 301, i64 1, i32* %0)
%24 = call i32 (i32*, i8*, ...) @fprintf(i32* %0, i8* getelementptr inbounds ([211 x i8], [211 x i8]* @.str.5, i64 0, i64 0), i8* %15, i8* %5, i8* %2)
%25 = icmp eq i8* %1, null
br i1 %25, label %28, label %26
26: ; preds = %22
%27 = call i32 (i32*, i8*, ...) @fprintf(i32* %0, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.6, i64 0, i64 0), i8* %1)
br label %28
28: ; preds = %26, %22
%29 = call i64 @fwrite(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.7, i64 0, i64 0), i64 46, i64 1, i32* %0)
%30 = icmp ne i8* %3, null
%31 = icmp ne i8* %4, null
%32 = and i1 %30, %31
br i1 %32, label %33, label %35
33: ; preds = %28
%34 = call i32 (i32*, i8*, ...) @fprintf(i32* %0, i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.8, i64 0, i64 0), i8* %3, i8* %4)
br label %35
35: ; preds = %33, %28
%36 = call i64 @fwrite(i8* getelementptr inbounds ([344 x i8], [344 x i8]* @.str.9, i64 0, i64 0), i64 343, i64 1, i32* %0)
%37 = call i32 (i32*, i8*, ...) @fprintf(i32* %0, i8* getelementptr inbounds ([529 x i8], [529 x i8]* @.str.10, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str, i64 0, i64 0))
%38 = call i64 @fwrite(i8* getelementptr inbounds ([155 x i8], [155 x i8]* @.str.11, i64 0, i64 0), i64 154, i64 1, i32* %0)
%39 = call i32 (i32*, i8*, ...) @fprintf(i32* %0, i8* getelementptr inbounds ([274 x i8], [274 x i8]* @.str.12, i64 0, i64 0), i8* %8, i8* %9, i32 %10, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.2, i64 0, i64 0))
ret void
}