digraph "Scop Graph for 'print_array' function" {
	label="Scop Graph for 'print_array' function";

	Node0x26ac9a0 [shape=record,label="{%0:\l\l  br label %1\l}"];
	Node0x26ac9a0 -> Node0x26acd00;
	Node0x26acd00 [shape=record,label="{%1:\l\l  %indvar1 = phi i64 [ %indvar.next2, %19 ], [ 0, %0 ]\l  %exitcond3 = icmp ne i64 %indvar1, 1536\l  br i1 %exitcond3, label %2, label %20\l}"];
	Node0x26acd00 -> Node0x26a8ac0;
	Node0x26acd00 -> Node0x26ac9c0;
	Node0x26a8ac0 [shape=record,label="{%2:\l\l  br label %3\l}"];
	Node0x26a8ac0 -> Node0x26ad940;
	Node0x26ad940 [shape=record,label="{%3:\l\l  %indvar = phi i64 [ %indvar.next, %15 ], [ 0, %2 ]\l  %scevgep = getelementptr [1536 x [1536 x float]]* @C, i64 0, i64 %indvar1, i64 %indvar\l  %j.0 = trunc i64 %indvar to i32\l  %exitcond = icmp ne i64 %indvar, 1536\l  br i1 %exitcond, label %4, label %16\l}"];
	Node0x26ad940 -> Node0x26acde0;
	Node0x26ad940 -> Node0x26ad9e0;
	Node0x26acde0 [shape=record,label="{%4:\l\l  %5 = load %struct._IO_FILE** @stdout, align 8\l  %6 = load float* %scevgep\l  %7 = fpext float %6 to double\l  %8 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %5, i8* getelementptr inbounds ([5 x i8]* @.str, i32 0, i32 0), double %7)\l  %9 = srem i32 %j.0, 80\l  %10 = icmp eq i32 %9, 79\l  br i1 %10, label %11, label %14\l}"];
	Node0x26acde0 -> Node0x26ada40;
	Node0x26acde0 -> Node0x26acfa0;
	Node0x26ada40 [shape=record,label="{%11:\l\l  %12 = load %struct._IO_FILE** @stdout, align 8\l  %13 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %12, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))\l  br label %14\l}"];
	Node0x26ada40 -> Node0x26acfa0;
	Node0x26acfa0 [shape=record,label="{%14:\l\l  br label %15\l}"];
	Node0x26acfa0 -> Node0x26ad6c0;
	Node0x26ad6c0 [shape=record,label="{%15:\l\l  %indvar.next = add i64 %indvar, 1\l  br label %3\l}"];
	Node0x26ad6c0 -> Node0x26ad940[constraint=false];
	Node0x26ad9e0 [shape=record,label="{%16:\l\l  %17 = load %struct._IO_FILE** @stdout, align 8\l  %18 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %17, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))\l  br label %19\l}"];
	Node0x26ad9e0 -> Node0x26ace00;
	Node0x26ace00 [shape=record,label="{%19:\l\l  %indvar.next2 = add i64 %indvar1, 1\l  br label %1\l}"];
	Node0x26ace00 -> Node0x26acd00[constraint=false];
	Node0x26ac9c0 [shape=record,label="{%20:\l\l  ret void\l}"];
	colorscheme = "paired12"
        subgraph cluster_0x26adae0 {
          label = "";
          style = solid;
          color = 1
          subgraph cluster_0x26aa030 {
            label = "";
            style = solid;
            color = 6
            subgraph cluster_0x26a9fb0 {
              label = "";
              style = solid;
              color = 5
              subgraph cluster_0x26adb60 {
                label = "";
                style = solid;
                color = 7
                Node0x26acde0;
                Node0x26ada40;
              }
              Node0x26ad940;
              Node0x26acfa0;
              Node0x26ad6c0;
            }
            Node0x26acd00;
            Node0x26a8ac0;
            Node0x26ad9e0;
            Node0x26ace00;
          }
          Node0x26ac9a0;
          Node0x26ac9c0;
        }
}
