{
  "asm": [
    {
      "text": "__cxx_global_var_init: # @__cxx_global_var_init",
      "source": null
    },
    {
      "text": "  pushq %rax",
      "source": {
        "file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
        "line": 74
      }
    },
    {
      "text": "  movl std::__ioinit, %edi",
      "source": {
        "file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
        "line": 74
      }
    },
    {
      "text": "  callq std::ios_base::Init::Init()",
      "source": {
        "file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
        "line": 74
      }
    },
    {
      "text": "  movl std::ios_base::Init::~Init(), %edi",
      "source": {
        "file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
        "line": 74
      }
    },
    {
      "text": "  movl std::__ioinit, %esi",
      "source": {
        "file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
        "line": 74
      }
    },
    {
      "text": "  movl $__dso_handle, %edx",
      "source": {
        "file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
        "line": 74
      }
    },
    {
      "text": "  popq %rax",
      "source": {
        "file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
        "line": 74
      }
    },
    {
      "text": "  jmp __cxa_atexit # TAILCALL",
      "source": {
        "file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
        "line": 74
      }
    },
    {
      "text": "",
      "source": null
    },
    {
      "text": ".LCPI1_0:",
      "source": null
    },
    {
      "text": "  .quad 4648342504644416635 # double 583.36000000000001",
      "source": null
    },
    {
      "text": "foo(int, double, float): # @foo(int, double, float)",
      "source": null
    },
    {
      "text": "  movl $583, %eax # imm = 0x247",
      "source": {
        "file": null,
        "line": 4
      }
    },
    {
      "text": "  movsd .LCPI1_0(%rip), %xmm2 # xmm2 = mem[0],zero",
      "source": {
        "file": null,
        "line": 6
      }
    },
    {
      "text": "  ucomisd %xmm0, %xmm2",
      "source": {
        "file": null,
        "line": 6
      }
    },
    {
      "text": "  jbe .LBB1_2",
      "source": {
        "file": null,
        "line": 6
      }
    },
    {
      "text": "  leal (%rdi,%rdi,4), %ecx",
      "source": {
        "file": null,
        "line": 7
      }
    },
    {
      "text": "  xorps %xmm2, %xmm2",
      "source": {
        "file": null,
        "line": 8
      }
    },
    {
      "text": "  cvtss2sd %xmm1, %xmm2",
      "source": {
        "file": null,
        "line": 8
      }
    },
    {
      "text": "  cvtsi2sdl %ecx, %xmm3",
      "source": {
        "file": null,
        "line": 8
      }
    },
    {
      "text": "  mulsd %xmm0, %xmm3",
      "source": {
        "file": null,
        "line": 8
      }
    },
    {
      "text": "  ucomisd %xmm3, %xmm2",
      "source": {
        "file": null,
        "line": 8
      }
    },
    {
      "text": "  cvttss2si %xmm1, %eax",
      "source": {
        "file": null,
        "line": 12
      }
    },
    {
      "text": "  cmoval %ecx, %eax",
      "source": {
        "file": null,
        "line": 8
      }
    },
    {
      "text": ".LBB1_2:",
      "source": null
    },
    {
      "text": "  retq",
      "source": {
        "file": null,
        "line": 17
      }
    },
    {
      "text": "",
      "source": null
    },
    {
      "text": "_GLOBAL__sub_I_example.cpp: # @_GLOBAL__sub_I_example.cpp",
      "source": null
    },
    {
      "text": "  jmp __cxx_global_var_init # TAILCALL",
      "source": {
        "file": null,
        "line": 0
      }
    },
    {
      "text": "",
      "source": null
    },
    {
      "text": "",
      "source": null
    },
    {
      "text": "",
      "source": null
    }
  ],
  "cfg": {
    "__cxx_global_var_init:": {
      "nodes": [
        {
          "id": "__cxx_global_var_init:",
          "label": "__cxx_global_var_init:\n  pushq %rax\n  movl std::__ioinit, %edi\n  callq std::ios_base::Init::Init()\n  movl std::ios_base::Init::~Init(), %edi\n  movl std::__ioinit, %esi\n  movl $__dso_handle, %edx\n  popq %rax\n  jmp __cxa_atexit",
          "color": "#99ccff",
          "shape": "box"
        }
      ],
      "edges": [
        {
          "from": "__cxx_global_var_init:",
          "to": "null:",
          "arrows": "to",
          "color": "blue"
        }
      ]
    },
    "foo(int, double, float):": {
      "nodes": [
        {
          "id": "foo(int, double, float):",
          "label": "foo(int, double, float):\n  movl $583, %eax\n  movsd .LCPI1_0(%rip), %xmm2\n  ucomisd %xmm0, %xmm2\n  jbe .LBB1_2",
          "color": "#99ccff",
          "shape": "box"
        },
        {
          "id": "foo(int, double, float):@14",
          "label": "foo(int, double, float):@14\n  leal (%rdi,%rdi,4), %ecx\n  xorps %xmm2, %xmm2\n  cvtss2sd %xmm1, %xmm2\n  cvtsi2sdl %ecx, %xmm3\n  mulsd %xmm0, %xmm3\n  ucomisd %xmm3, %xmm2\n  cvttss2si %xmm1, %eax\n  cmoval %ecx, %eax",
          "color": "#99ccff",
          "shape": "box"
        },
        {
          "id": ".LBB1_2:",
          "label": ".LBB1_2:\n  retq",
          "color": "#99ccff",
          "shape": "box"
        }
      ],
      "edges": [
        {
          "from": "foo(int, double, float):",
          "to": ".LBB1_2:",
          "arrows": "to",
          "color": "green"
        },
        {
          "from": "foo(int, double, float):",
          "to": "foo(int, double, float):@14",
          "arrows": "to",
          "color": "red"
        },
        {
          "from": "foo(int, double, float):@14",
          "to": ".LBB1_2:",
          "arrows": "to",
          "color": "grey"
        }
      ]
    },
    "_GLOBAL__sub_I_example.cpp:": {
      "nodes": [
        {
          "id": "_GLOBAL__sub_I_example.cpp:",
          "label": "_GLOBAL__sub_I_example.cpp:\n  jmp __cxx_global_var_init",
          "color": "#99ccff",
          "shape": "box"
        }
      ],
      "edges": [
        {
          "from": "_GLOBAL__sub_I_example.cpp:",
          "to": "null:",
          "arrows": "to",
          "color": "blue"
        }
      ]
    }
  }
}
