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

	Node0x7fffc6c4cb90 [shape=record,label="{entry:\l  br label %entry.split\l}"];
	Node0x7fffc6c4cb90 -> Node0x7fffc6c47b10;
	Node0x7fffc6c47b10 [shape=record,label="{entry.split:                                      \l  tail call void @init_array()\l  br label %for.cond1.preheader\l}"];
	Node0x7fffc6c47b10 -> Node0x7fffc6c456e0;
	Node0x7fffc6c456e0 [shape=record,label="{for.cond1.preheader:                              \l  %indvars.iv7 = phi i64 [ 0, %entry.split ], [ %indvars.iv.next8, %for.inc28 ]\l  br label %for.body3\l}"];
	Node0x7fffc6c456e0 -> Node0x7fffc6c3f080;
	Node0x7fffc6c3f080 [shape=record,label="{for.body3:                                        \l  %indvars.iv4 = phi i64 [ 0, %for.cond1.preheader ], [ %indvars.iv.next5,\l... %for.inc25 ]\l  %arrayidx5 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536 x\l... float]]* @C, i64 0, i64 %indvars.iv7, i64 %indvars.iv4\l  store float 0.000000e+00, float* %arrayidx5, align 4\l  br label %for.body8\l}"];
	Node0x7fffc6c3f080 -> Node0x7fffc6c3f220;
	Node0x7fffc6c3f220 [shape=record,label="{for.body8:                                        \l  %indvars.iv = phi i64 [ 0, %for.body3 ], [ %indvars.iv.next, %for.body8 ]\l  %0 = load float, float* %arrayidx5, align 4\l  %arrayidx16 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536\l... x float]]* @A, i64 0, i64 %indvars.iv7, i64 %indvars.iv\l  %1 = load float, float* %arrayidx16, align 4\l  %arrayidx20 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536\l... x float]]* @B, i64 0, i64 %indvars.iv, i64 %indvars.iv4\l  %2 = load float, float* %arrayidx20, align 4\l  %mul = fmul float %1, %2\l  %add = fadd float %0, %mul\l  store float %add, float* %arrayidx5, align 4\l  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1\l  %exitcond = icmp ne i64 %indvars.iv.next, 1536\l  br i1 %exitcond, label %for.body8, label %for.inc25\l}"];
	Node0x7fffc6c3f220 -> Node0x7fffc6c3f220[constraint=false];
	Node0x7fffc6c3f220 -> Node0x7fffc6c40480;
	Node0x7fffc6c40480 [shape=record,label="{for.inc25:                                        \l  %indvars.iv.next5 = add nuw nsw i64 %indvars.iv4, 1\l  %exitcond6 = icmp ne i64 %indvars.iv.next5, 1536\l  br i1 %exitcond6, label %for.body3, label %for.inc28\l}"];
	Node0x7fffc6c40480 -> Node0x7fffc6c3f080[constraint=false];
	Node0x7fffc6c40480 -> Node0x7fffc6c404e0;
	Node0x7fffc6c404e0 [shape=record,label="{for.inc28:                                        \l  %indvars.iv.next8 = add nuw nsw i64 %indvars.iv7, 1\l  %exitcond9 = icmp ne i64 %indvars.iv.next8, 1536\l  br i1 %exitcond9, label %for.cond1.preheader, label %for.end30\l}"];
	Node0x7fffc6c404e0 -> Node0x7fffc6c456e0[constraint=false];
	Node0x7fffc6c404e0 -> Node0x7fffc6c40540;
	Node0x7fffc6c40540 [shape=record,label="{for.end30:                                        \l  ret i32 0\l}"];
	colorscheme = "paired12"
        subgraph cluster_0x7fffc6c32540 {
          label = "";
          style = solid;
          color = 1
          subgraph cluster_0x7fffc6c32f30 {
            label = "";
            style = filled;
            color = 3            subgraph cluster_0x7fffc6c32690 {
              label = "";
              style = solid;
              color = 5
              subgraph cluster_0x7fffc6c32dc0 {
                label = "";
                style = solid;
                color = 7
                Node0x7fffc6c3f220;
              }
              Node0x7fffc6c3f080;
              Node0x7fffc6c40480;
            }
            Node0x7fffc6c456e0;
            Node0x7fffc6c404e0;
          }
          Node0x7fffc6c4cb90;
          Node0x7fffc6c47b10;
          Node0x7fffc6c40540;
        }
}
