blog.robur.coop/images/trace-string-770.svg

2709 lines
120 KiB
XML
Raw Permalink Normal View History

2024-02-13 15:37:29 +00:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="1200" height="614" onload="init(evt)" viewBox="0 0 1200 614" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Flame graph stack visualization. See https://github.com/brendangregg/FlameGraph for latest version, and http://www.brendangregg.com/flamegraphs.html for examples. -->
<!-- NOTES: -->
<defs>
<linearGradient id="background" y1="0" y2="1" x1="0" x2="0">
<stop stop-color="#eeeeee" offset="5%"/>
<stop stop-color="#eeeeb0" offset="95%"/>
</linearGradient>
</defs>
<style type="text/css">
text { font-family:Verdana; font-size:12px; fill:rgb(0,0,0); }
#search, #ignorecase { opacity:0.1; cursor:pointer; }
#search:hover, #search.show, #ignorecase:hover, #ignorecase.show { opacity:1; }
#subtitle { text-anchor:middle; font-color:rgb(160,160,160); }
#title { text-anchor:middle; font-size:17px}
#unzoom { cursor:pointer; }
#frames &gt; *:hover { stroke:black; stroke-width:0.5; cursor:pointer; }
.hide { display:none; }
.parent { opacity:0.5; }
</style>
<script type="text/ecmascript">
<![CDATA[
"use strict";
var details, searchbtn, unzoombtn, matchedtxt, svg, searching, currentSearchTerm, ignorecase, ignorecaseBtn;
function init(evt) {
details = document.getElementById("details").firstChild;
searchbtn = document.getElementById("search");
ignorecaseBtn = document.getElementById("ignorecase");
unzoombtn = document.getElementById("unzoom");
matchedtxt = document.getElementById("matched");
svg = document.getElementsByTagName("svg")[0];
searching = 0;
currentSearchTerm = null;
// use GET parameters to restore a flamegraphs state.
var params = get_params();
if (params.x && params.y)
zoom(find_group(document.querySelector('[x="' + params.x + '"][y="' + params.y + '"]')));
if (params.s) search(params.s);
}
// event listeners
window.addEventListener("click", function(e) {
var target = find_group(e.target);
if (target) {
if (target.nodeName == "a") {
if (e.ctrlKey === false) return;
e.preventDefault();
}
if (target.classList.contains("parent")) unzoom(true);
zoom(target);
if (!document.querySelector('.parent')) {
// we have basically done a clearzoom so clear the url
var params = get_params();
if (params.x) delete params.x;
if (params.y) delete params.y;
history.replaceState(null, null, parse_params(params));
unzoombtn.classList.add("hide");
return;
}
// set parameters for zoom state
var el = target.querySelector("rect");
if (el && el.attributes && el.attributes.y && el.attributes._orig_x) {
var params = get_params()
params.x = el.attributes._orig_x.value;
params.y = el.attributes.y.value;
history.replaceState(null, null, parse_params(params));
}
}
else if (e.target.id == "unzoom") clearzoom();
else if (e.target.id == "search") search_prompt();
else if (e.target.id == "ignorecase") toggle_ignorecase();
}, false)
// mouse-over for info
// show
window.addEventListener("mouseover", function(e) {
var target = find_group(e.target);
if (target) details.nodeValue = "Function: " + g_to_text(target);
}, false)
// clear
window.addEventListener("mouseout", function(e) {
var target = find_group(e.target);
if (target) details.nodeValue = ' ';
}, false)
// ctrl-F for search
// ctrl-I to toggle case-sensitive search
window.addEventListener("keydown",function (e) {
if (e.keyCode === 114 || (e.ctrlKey && e.keyCode === 70)) {
e.preventDefault();
search_prompt();
}
else if (e.ctrlKey && e.keyCode === 73) {
e.preventDefault();
toggle_ignorecase();
}
}, false)
// functions
function get_params() {
var params = {};
var paramsarr = window.location.search.substr(1).split('&');
for (var i = 0; i < paramsarr.length; ++i) {
var tmp = paramsarr[i].split("=");
if (!tmp[0] || !tmp[1]) continue;
params[tmp[0]] = decodeURIComponent(tmp[1]);
}
return params;
}
function parse_params(params) {
var uri = "?";
for (var key in params) {
uri += key + '=' + encodeURIComponent(params[key]) + '&';
}
if (uri.slice(-1) == "&")
uri = uri.substring(0, uri.length - 1);
if (uri == '?')
uri = window.location.href.split('?')[0];
return uri;
}
function find_child(node, selector) {
var children = node.querySelectorAll(selector);
if (children.length) return children[0];
}
function find_group(node) {
var parent = node.parentElement;
if (!parent) return;
if (parent.id == "frames") return node;
return find_group(parent);
}
function orig_save(e, attr, val) {
if (e.attributes["_orig_" + attr] != undefined) return;
if (e.attributes[attr] == undefined) return;
if (val == undefined) val = e.attributes[attr].value;
e.setAttribute("_orig_" + attr, val);
}
function orig_load(e, attr) {
if (e.attributes["_orig_"+attr] == undefined) return;
e.attributes[attr].value = e.attributes["_orig_" + attr].value;
e.removeAttribute("_orig_"+attr);
}
function g_to_text(e) {
var text = find_child(e, "title").firstChild.nodeValue;
return (text)
}
function g_to_func(e) {
var func = g_to_text(e);
// if there's any manipulation we want to do to the function
// name before it's searched, do it here before returning.
return (func);
}
function update_text(e) {
var r = find_child(e, "rect");
var t = find_child(e, "text");
var w = parseFloat(r.attributes.width.value) -3;
var txt = find_child(e, "title").textContent.replace(/\([^(]*\)$/,"");
t.attributes.x.value = parseFloat(r.attributes.x.value) + 3;
// Smaller than this size won't fit anything
if (w < 2 * 12 * 0.59) {
t.textContent = "";
return;
}
t.textContent = txt;
var sl = t.getSubStringLength(0, txt.length);
// check if only whitespace or if we can fit the entire string into width w
if (/^ *$/.test(txt) || sl < w)
return;
// this isn't perfect, but gives a good starting point
// and avoids calling getSubStringLength too often
var start = Math.floor((w/sl) * txt.length);
for (var x = start; x > 0; x = x-2) {
if (t.getSubStringLength(0, x + 2) <= w) {
t.textContent = txt.substring(0, x) + "..";
return;
}
}
t.textContent = "";
}
// zoom
function zoom_reset(e) {
if (e.attributes != undefined) {
orig_load(e, "x");
orig_load(e, "width");
}
if (e.childNodes == undefined) return;
for (var i = 0, c = e.childNodes; i < c.length; i++) {
zoom_reset(c[i]);
}
}
function zoom_child(e, x, ratio) {
if (e.attributes != undefined) {
if (e.attributes.x != undefined) {
orig_save(e, "x");
e.attributes.x.value = (parseFloat(e.attributes.x.value) - x - 10) * ratio + 10;
if (e.tagName == "text")
e.attributes.x.value = find_child(e.parentNode, "rect[x]").attributes.x.value + 3;
}
if (e.attributes.width != undefined) {
orig_save(e, "width");
e.attributes.width.value = parseFloat(e.attributes.width.value) * ratio;
}
}
if (e.childNodes == undefined) return;
for (var i = 0, c = e.childNodes; i < c.length; i++) {
zoom_child(c[i], x - 10, ratio);
}
}
function zoom_parent(e) {
if (e.attributes) {
if (e.attributes.x != undefined) {
orig_save(e, "x");
e.attributes.x.value = 10;
}
if (e.attributes.width != undefined) {
orig_save(e, "width");
e.attributes.width.value = parseInt(svg.width.baseVal.value) - (10 * 2);
}
}
if (e.childNodes == undefined) return;
for (var i = 0, c = e.childNodes; i < c.length; i++) {
zoom_parent(c[i]);
}
}
function zoom(node) {
var attr = find_child(node, "rect").attributes;
var width = parseFloat(attr.width.value);
var xmin = parseFloat(attr.x.value);
var xmax = parseFloat(xmin + width);
var ymin = parseFloat(attr.y.value);
var ratio = (svg.width.baseVal.value - 2 * 10) / width;
// XXX: Workaround for JavaScript float issues (fix me)
var fudge = 0.0001;
unzoombtn.classList.remove("hide");
var el = document.getElementById("frames").children;
for (var i = 0; i < el.length; i++) {
var e = el[i];
var a = find_child(e, "rect").attributes;
var ex = parseFloat(a.x.value);
var ew = parseFloat(a.width.value);
var upstack;
// Is it an ancestor
if (0 == 0) {
upstack = parseFloat(a.y.value) > ymin;
} else {
upstack = parseFloat(a.y.value) < ymin;
}
if (upstack) {
// Direct ancestor
if (ex <= xmin && (ex+ew+fudge) >= xmax) {
e.classList.add("parent");
zoom_parent(e);
update_text(e);
}
// not in current path
else
e.classList.add("hide");
}
// Children maybe
else {
// no common path
if (ex < xmin || ex + fudge >= xmax) {
e.classList.add("hide");
}
else {
zoom_child(e, xmin, ratio);
update_text(e);
}
}
}
search();
}
function unzoom(dont_update_text) {
unzoombtn.classList.add("hide");
var el = document.getElementById("frames").children;
for(var i = 0; i < el.length; i++) {
el[i].classList.remove("parent");
el[i].classList.remove("hide");
zoom_reset(el[i]);
if(!dont_update_text) update_text(el[i]);
}
search();
}
function clearzoom() {
unzoom();
// remove zoom state
var params = get_params();
if (params.x) delete params.x;
if (params.y) delete params.y;
history.replaceState(null, null, parse_params(params));
}
// search
function toggle_ignorecase() {
ignorecase = !ignorecase;
if (ignorecase) {
ignorecaseBtn.classList.add("show");
} else {
ignorecaseBtn.classList.remove("show");
}
reset_search();
search();
}
function reset_search() {
var el = document.querySelectorAll("#frames rect");
for (var i = 0; i < el.length; i++) {
orig_load(el[i], "fill")
}
var params = get_params();
delete params.s;
history.replaceState(null, null, parse_params(params));
}
function search_prompt() {
if (!searching) {
var term = prompt("Enter a search term (regexp " +
"allowed, eg: ^ext4_)"
+ (ignorecase ? ", ignoring case" : "")
+ "\nPress Ctrl-i to toggle case sensitivity", "");
if (term != null) search(term);
} else {
reset_search();
searching = 0;
currentSearchTerm = null;
searchbtn.classList.remove("show");
searchbtn.firstChild.nodeValue = "Search"
matchedtxt.classList.add("hide");
matchedtxt.firstChild.nodeValue = ""
}
}
function search(term) {
if (term) currentSearchTerm = term;
var re = new RegExp(currentSearchTerm, ignorecase ? 'i' : '');
var el = document.getElementById("frames").children;
var matches = new Object();
var maxwidth = 0;
for (var i = 0; i < el.length; i++) {
var e = el[i];
var func = g_to_func(e);
var rect = find_child(e, "rect");
if (func == null || rect == null)
continue;
// Save max width. Only works as we have a root frame
var w = parseFloat(rect.attributes.width.value);
if (w > maxwidth)
maxwidth = w;
if (func.match(re)) {
// highlight
var x = parseFloat(rect.attributes.x.value);
orig_save(rect, "fill");
rect.attributes.fill.value = "rgb(230,0,230)";
// remember matches
if (matches[x] == undefined) {
matches[x] = w;
} else {
if (w > matches[x]) {
// overwrite with parent
matches[x] = w;
}
}
searching = 1;
}
}
if (!searching)
return;
var params = get_params();
params.s = currentSearchTerm;
history.replaceState(null, null, parse_params(params));
searchbtn.classList.add("show");
searchbtn.firstChild.nodeValue = "Reset Search";
// calculate percent matched, excluding vertical overlap
var count = 0;
var lastx = -1;
var lastw = 0;
var keys = Array();
for (k in matches) {
if (matches.hasOwnProperty(k))
keys.push(k);
}
// sort the matched frames by their x location
// ascending, then width descending
keys.sort(function(a, b){
return a - b;
});
// Step through frames saving only the biggest bottom-up frames
// thanks to the sort order. This relies on the tree property
// where children are always smaller than their parents.
var fudge = 0.0001; // JavaScript floating point
for (var k in keys) {
var x = parseFloat(keys[k]);
var w = matches[keys[k]];
if (x >= lastx + lastw - fudge) {
count += w;
lastx = x;
lastw = w;
}
}
// display matched percent
matchedtxt.classList.remove("hide");
var pct = 100 * count / maxwidth;
if (pct != 100) pct = pct.toFixed(1)
matchedtxt.firstChild.nodeValue = "Matched: " + pct + "%";
}
]]>
</script>
<rect x="0.0" y="0" width="1200.0" height="614.0" fill="url(#background)"/>
<text id="title" x="600.00" y="24">Flame Graph</text>
<text id="details" x="10.00" y="597"> </text>
<text id="unzoom" x="10.00" y="24" class="hide">Reset Zoom</text>
<text id="search" x="1090.00" y="24">Search</text>
<text id="ignorecase" x="1174.00" y="24">ic</text>
<text id="matched" x="1090.00" y="597"> </text>
<g id="frames">
<g>
<title>Mirage_crypto_ec.fun_3773 (3,174,539 samples, 0.01%)</title><rect x="1180.4" y="245" width="0.2" height="15.0" fill="rgb(234,135,32)" rx="2" ry="2"/>
<text x="1183.43" y="255.5"/>
</g>
<g>
<title>Mirage_crypto_ec.add_845 (2,563,866 samples, 0.01%)</title><rect x="236.5" y="261" width="0.1" height="15.0" fill="rgb(220,72,17)" rx="2" ry="2"/>
<text x="239.49" y="271.5"/>
</g>
<g>
<title>Mirage_crypto_ec.secret_of_cs_992 (62,283,510 samples, 0.22%)</title><rect x="176.4" y="389" width="2.6" height="15.0" fill="rgb(211,27,6)" rx="2" ry="2"/>
<text x="179.41" y="399.5"/>
</g>
<g>
<title>Mirage_crypto_ec.inv_1096 (1,149,196,954 samples, 4.01%)</title><rect x="187.6" y="277" width="47.3" height="15.0" fill="rgb(234,135,32)" rx="2" ry="2"/>
<text x="190.57" y="287.5">Mira..</text>
</g>
<g>
<title>Cstruct.create_unsafe_790 (8,269,203 samples, 0.03%)</title><rect x="180.9" y="277" width="0.3" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="183.86" y="287.5"/>
</g>
<g>
<title>caml_ba_alloc (3,109,846 samples, 0.01%)</title><rect x="1181.0" y="181" width="0.1" height="15.0" fill="rgb(230,115,27)" rx="2" ry="2"/>
<text x="1183.98" y="191.5"/>
</g>
<g>
<title>fiat_p521_addcarryx_u64 (3,163,862 samples, 0.01%)</title><rect x="178.2" y="261" width="0.1" height="15.0" fill="rgb(248,202,48)" rx="2" ry="2"/>
<text x="181.20" y="271.5"/>
</g>
<g>
<title>_dl_relocate_object (5,162,178 samples, 0.02%)</title><rect x="1188.8" y="453" width="0.2" height="15.0" fill="rgb(231,120,28)" rx="2" ry="2"/>
<text x="1191.79" y="463.5"/>
</g>
<g>
<title>Mirage_crypto.Uncommon.xor_639 (5,735,955 samples, 0.02%)</title><rect x="185.7" y="229" width="0.2" height="15.0" fill="rgb(210,25,6)" rx="2" ry="2"/>
<text x="188.66" y="239.5"/>
</g>
<g>
<title>caml_ba_create (3,081,485 samples, 0.01%)</title><rect x="185.5" y="181" width="0.2" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="188.53" y="191.5"/>
</g>
<g>
<title>__gmpn_sbpi1_div_qr (3,811,216 samples, 0.01%)</title><rect x="180.5" y="229" width="0.2" height="15.0" fill="rgb(244,180,43)" rx="2" ry="2"/>
<text x="183.55" y="239.5"/>
</g>
<g>
<title>fiat_np256_addcarryx_u64 (2,523,844 samples, 0.01%)</title><rect x="1180.6" y="213" width="0.1" height="15.0" fill="rgb(206,4,1)" rx="2" ry="2"/>
<text x="1183.59" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_ec.to_affine_raw_794 (3,036,716 samples, 0.01%)</title><rect x="178.9" y="341" width="0.1" height="15.0" fill="rgb(208,16,3)" rx="2" ry="2"/>
<text x="181.85" y="351.5"/>
</g>
<g>
<title>Mirage_crypto.Uncommon.rpad_664 (3,081,485 samples, 0.01%)</title><rect x="185.5" y="229" width="0.2" height="15.0" fill="rgb(219,66,15)" rx="2" ry="2"/>
<text x="188.53" y="239.5"/>
</g>
<g>
<title>_int_malloc (3,778,912 samples, 0.01%)</title><rect x="1187.9" y="117" width="0.2" height="15.0" fill="rgb(215,47,11)" rx="2" ry="2"/>
<text x="1190.94" y="127.5"/>
</g>
<g>
<title>fiat_p256_addcarryx_u64 (371,668,960 samples, 1.30%)</title><rect x="1142.4" y="149" width="15.3" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="1145.40" y="159.5"/>
</g>
<g>
<title>mc_np256_inv (10,835,812 samples, 0.04%)</title><rect x="35.2" y="517" width="0.4" height="15.0" fill="rgb(243,175,41)" rx="2" ry="2"/>
<text x="38.16" y="527.5"/>
</g>
<g>
<title>mc_p256_point_double (7,605,956 samples, 0.03%)</title><rect x="59.7" y="517" width="0.3" height="15.0" fill="rgb(210,24,5)" rx="2" ry="2"/>
<text x="62.71" y="527.5"/>
</g>
<g>
<title>_mc_sha256_update (14,637,402 samples, 0.05%)</title><rect x="1185.3" y="181" width="0.6" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="1188.30" y="191.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1742 (15,494,806 samples, 0.05%)</title><rect x="184.1" y="213" width="0.6" height="15.0" fill="rgb(225,93,22)" rx="2" ry="2"/>
<text x="187.08" y="223.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.feedi_558 (78,570,114 samples, 0.27%)</title><rect x="1182.7" y="229" width="3.3" height="15.0" fill="rgb(246,192,45)" rx="2" ry="2"/>
<text x="1185.75" y="239.5"/>
</g>
<g>
<title>caml_oldify_local_roots (3,175,256 samples, 0.01%)</title><rect x="1095.0" y="149" width="0.2" height="15.0" fill="rgb(233,132,31)" rx="2" ry="2"/>
<text x="1098.02" y="159.5"/>
</g>
<g>
<title>Stdlib.Bigarray.create_379 (8,269,203 samples, 0.03%)</title><rect x="180.9" y="261" width="0.3" height="15.0" fill="rgb(227,103,24)" rx="2" ry="2"/>
<text x="183.86" y="271.5"/>
</g>
<g>
<title>_mc_sha256_update (15,288,439 samples, 0.05%)</title><rect x="184.9" y="165" width="0.6" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="187.90" y="175.5"/>
</g>
<g>
<title>_mc_sha256_update (15,494,806 samples, 0.05%)</title><rect x="184.1" y="165" width="0.6" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="187.08" y="175.5"/>
</g>
<g>
<title>caml_alloc_small_dispatch (15,234,025 samples, 0.05%)</title><rect x="1094.8" y="197" width="0.6" height="15.0" fill="rgb(229,110,26)" rx="2" ry="2"/>
<text x="1097.76" y="207.5"/>
</g>
<g>
<title>Mirage_crypto_ec.rev_string_292 (2,447,822 samples, 0.01%)</title><rect x="1135.4" y="261" width="0.1" height="15.0" fill="rgb(217,56,13)" rx="2" ry="2"/>
<text x="1138.42" y="271.5"/>
</g>
<g>
<title>fiat_p384_square (2,764,649 samples, 0.01%)</title><rect x="176.8" y="277" width="0.1" height="15.0" fill="rgb(228,106,25)" rx="2" ry="2"/>
<text x="179.82" y="287.5"/>
</g>
<g>
<title>point_add (12,061,825 samples, 0.04%)</title><rect x="177.0" y="293" width="0.5" height="15.0" fill="rgb(252,218,52)" rx="2" ry="2"/>
<text x="179.98" y="303.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3773 (2,523,844 samples, 0.01%)</title><rect x="1180.6" y="261" width="0.1" height="15.0" fill="rgb(234,135,32)" rx="2" ry="2"/>
<text x="1183.59" y="271.5"/>
</g>
<g>
<title>caml_alloc_string (79,394,305 samples, 0.28%)</title><rect x="629.0" y="213" width="3.3" height="15.0" fill="rgb(206,8,1)" rx="2" ry="2"/>
<text x="632.00" y="223.5"/>
</g>
<g>
<title>caml_alloc_custom_mem (3,821,544 samples, 0.01%)</title><rect x="181.0" y="213" width="0.2" height="15.0" fill="rgb(206,7,1)" rx="2" ry="2"/>
<text x="184.02" y="223.5"/>
</g>
<g>
<title>mark_slice (2,550,031 samples, 0.01%)</title><rect x="632.2" y="165" width="0.1" height="15.0" fill="rgb(230,118,28)" rx="2" ry="2"/>
<text x="635.16" y="175.5"/>
</g>
<g>
<title>__lock_task_sighand (5,081,858 samples, 0.02%)</title><rect x="174.3" y="245" width="0.2" height="15.0" fill="rgb(211,30,7)" rx="2" ry="2"/>
<text x="177.31" y="255.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1737 (8,252,353 samples, 0.03%)</title><rect x="186.4" y="197" width="0.3" height="15.0" fill="rgb(249,204,48)" rx="2" ry="2"/>
<text x="189.37" y="207.5"/>
</g>
<g>
<title>mc_np256_to_montgomery (3,174,539 samples, 0.01%)</title><rect x="1180.4" y="229" width="0.2" height="15.0" fill="rgb(225,96,23)" rx="2" ry="2"/>
<text x="1183.43" y="239.5"/>
</g>
<g>
<title>sysvec_apic_timer_interrupt (5,110,529 samples, 0.02%)</title><rect x="414.9" y="149" width="0.2" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2"/>
<text x="417.92" y="159.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3716 (19,352,352 samples, 0.07%)</title><rect x="25.4" y="517" width="0.8" height="15.0" fill="rgb(253,224,53)" rx="2" ry="2"/>
<text x="28.43" y="527.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.finalize_545 (37,303,553 samples, 0.13%)</title><rect x="1181.2" y="245" width="1.5" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2"/>
<text x="1184.19" y="255.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3564 (3,728,536 samples, 0.01%)</title><rect x="177.5" y="325" width="0.1" height="15.0" fill="rgb(247,195,46)" rx="2" ry="2"/>
<text x="180.48" y="335.5"/>
</g>
<g>
<title>syscall_exit_to_user_mode (21,519,976 samples, 0.08%)</title><rect x="175.1" y="293" width="0.9" height="15.0" fill="rgb(251,211,50)" rx="2" ry="2"/>
<text x="178.14" y="303.5"/>
</g>
<g>
<title>fiat_p521_mul (10,793,592 samples, 0.04%)</title><rect x="177.0" y="277" width="0.4" height="15.0" fill="rgb(210,23,5)" rx="2" ry="2"/>
<text x="179.98" y="287.5"/>
</g>
<g>
<title>fiat_np256_to_montgomery (2,523,844 samples, 0.01%)</title><rect x="1180.6" y="229" width="0.1" height="15.0" fill="rgb(206,6,1)" rx="2" ry="2"/>
<text x="1183.59" y="239.5"/>
</g>
<g>
<title>fiat_p256_addcarryx_u64 (115,164,737 samples, 0.40%)</title><rect x="248.1" y="181" width="4.7" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="251.07" y="191.5"/>
</g>
<g>
<title>Mirage_crypto_ec.scalar_mult_956 (2,499,314 samples, 0.01%)</title><rect x="1188.3" y="293" width="0.1" height="15.0" fill="rgb(229,112,26)" rx="2" ry="2"/>
<text x="1191.28" y="303.5"/>
</g>
<g>
<title>fiat_np256_cmovznz_u64 (239,843,002 samples, 0.84%)</title><rect x="209.9" y="181" width="9.9" height="15.0" fill="rgb(210,26,6)" rx="2" ry="2"/>
<text x="212.92" y="191.5"/>
</g>
<g>
<title>Mirage_crypto_ec.select_855 (2,557,815 samples, 0.01%)</title><rect x="45.1" y="517" width="0.1" height="15.0" fill="rgb(248,199,47)" rx="2" ry="2"/>
<text x="48.05" y="527.5"/>
</g>
<g>
<title>__gmpn_sbpi1_div_qr (11,486,695 samples, 0.04%)</title><rect x="179.3" y="197" width="0.5" height="15.0" fill="rgb(244,180,43)" rx="2" ry="2"/>
<text x="182.29" y="207.5"/>
</g>
<g>
<title>__do_sys_getrusage (22,079,974 samples, 0.08%)</title><rect x="174.1" y="277" width="0.9" height="15.0" fill="rgb(231,122,29)" rx="2" ry="2"/>
<text x="177.13" y="287.5"/>
</g>
<g>
<title>caml_gc_dispatch (2,434,916 samples, 0.01%)</title><rect x="1101.9" y="213" width="0.1" height="15.0" fill="rgb(235,139,33)" rx="2" ry="2"/>
<text x="1104.94" y="223.5"/>
</g>
<g>
<title>caml_ba_create (2,553,949 samples, 0.01%)</title><rect x="182.5" y="181" width="0.1" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="185.46" y="191.5"/>
</g>
<g>
<title>fiat_p256_addcarryx_u64 (3,606,552,239 samples, 12.57%)</title><rect x="266.8" y="181" width="148.4" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="269.80" y="191.5">fiat_p256_addcarry..</text>
</g>
<g>
<title>_mc_sha256_update (2,558,404 samples, 0.01%)</title><rect x="187.2" y="149" width="0.1" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="190.23" y="159.5"/>
</g>
<g>
<title>fiat_p256_mul (3,838,582 samples, 0.01%)</title><rect x="1189.5" y="533" width="0.1" height="15.0" fill="rgb(227,104,24)" rx="2" ry="2"/>
<text x="1192.48" y="543.5"/>
</g>
<g>
<title>Mirage_crypto_ec.select_686 (16,158,118 samples, 0.06%)</title><rect x="27.3" y="517" width="0.7" height="15.0" fill="rgb(235,140,33)" rx="2" ry="2"/>
<text x="30.33" y="527.5"/>
</g>
<g>
<title>Stdlib.Bytes.make_93 (10,778,610 samples, 0.04%)</title><rect x="45.2" y="517" width="0.5" height="15.0" fill="rgb(240,162,38)" rx="2" ry="2"/>
<text x="48.23" y="527.5"/>
</g>
<g>
<title>Mirage_crypto_ec.mul_1086 (4,972,643 samples, 0.02%)</title><rect x="234.9" y="277" width="0.2" height="15.0" fill="rgb(234,135,32)" rx="2" ry="2"/>
<text x="237.85" y="287.5"/>
</g>
<g>
<title>mc_sha256_update (29,138,276 samples, 0.10%)</title><rect x="1184.1" y="181" width="1.2" height="15.0" fill="rgb(233,130,31)" rx="2" ry="2"/>
<text x="1187.10" y="191.5"/>
</g>
<g>
<title>Mirage_crypto_ec.mul_1086 (4,473,419 samples, 0.02%)</title><rect x="1135.2" y="261" width="0.2" height="15.0" fill="rgb(234,135,32)" rx="2" ry="2"/>
<text x="1138.23" y="271.5"/>
</g>
<g>
<title>_mc_sha256_update (8,924,929 samples, 0.03%)</title><rect x="186.0" y="165" width="0.4" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="189.00" y="175.5"/>
</g>
<g>
<title>mc_np256_from_montgomery (2,554,371 samples, 0.01%)</title><rect x="1135.1" y="229" width="0.1" height="15.0" fill="rgb(225,95,22)" rx="2" ry="2"/>
<text x="1138.13" y="239.5"/>
</g>
<g>
<title>Mirage_crypto_ec.of_octets_949 (6,274,194 samples, 0.02%)</title><rect x="235.1" y="277" width="0.2" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="238.05" y="287.5"/>
</g>
<g>
<title>caml_c_call (21,359,050 samples, 0.07%)</title><rect x="1095.4" y="213" width="0.9" height="15.0" fill="rgb(217,56,13)" rx="2" ry="2"/>
<text x="1098.41" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_ec.to_affine_raw_794 (1,091,129,534 samples, 3.80%)</title><rect x="1135.5" y="261" width="44.9" height="15.0" fill="rgb(208,16,3)" rx="2" ry="2"/>
<text x="1138.52" y="271.5">Mira..</text>
</g>
<g>
<title>Mirage_crypto_ec.scalar_mult_956 (21,863,690,120 samples, 76.23%)</title><rect x="235.6" y="277" width="899.5" height="15.0" fill="rgb(229,112,26)" rx="2" ry="2"/>
<text x="238.58" y="287.5">Mirage_crypto_ec.scalar_mult_956</text>
</g>
<g>
<title>_int_free (2,551,515 samples, 0.01%)</title><rect x="1127.8" y="133" width="0.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2"/>
<text x="1130.79" y="143.5"/>
</g>
<g>
<title>_mc_sha256_finalize (19,742,601 samples, 0.07%)</title><rect x="182.6" y="197" width="0.8" height="15.0" fill="rgb(232,125,30)" rx="2" ry="2"/>
<text x="185.56" y="207.5"/>
</g>
<g>
<title>caml_major_collection_slice (2,550,031 samples, 0.01%)</title><rect x="632.2" y="181" width="0.1" height="15.0" fill="rgb(225,94,22)" rx="2" ry="2"/>
<text x="635.16" y="191.5"/>
</g>
<g>
<title>Dune.exe.Speed.runv_1309 (2,529,658,813 samples, 8.82%)</title><rect x="72.3" y="389" width="104.1" height="15.0" fill="rgb(220,70,16)" rx="2" ry="2"/>
<text x="75.31" y="399.5">Dune.exe.Spe..</text>
</g>
<g>
<title>mc_sha256_update (7,003,862 samples, 0.02%)</title><rect x="186.7" y="165" width="0.3" height="15.0" fill="rgb(233,130,31)" rx="2" ry="2"/>
<text x="189.71" y="175.5"/>
</g>
<g>
<title>_mc_sha256_finalize (2,558,404 samples, 0.01%)</title><rect x="187.2" y="165" width="0.1" height="15.0" fill="rgb(232,125,30)" rx="2" ry="2"/>
<text x="190.23" y="175.5"/>
</g>
<g>
<title>Mirage_crypto_pk.Z_extra.pseudoprime_251 (7,621,886 samples, 0.03%)</title><rect x="180.4" y="357" width="0.3" height="15.0" fill="rgb(209,22,5)" rx="2" ry="2"/>
<text x="183.39" y="367.5"/>
</g>
<g>
<title>fiat_p256_square (2,663,618,552 samples, 9.29%)</title><rect x="490.4" y="197" width="109.6" height="15.0" fill="rgb(241,166,39)" rx="2" ry="2"/>
<text x="493.42" y="207.5">fiat_p256_squ..</text>
</g>
<g>
<title>Mirage_crypto_ec.g_octets_1203 (181,827,993 samples, 0.63%)</title><rect x="1180.8" y="277" width="7.5" height="15.0" fill="rgb(220,71,17)" rx="2" ry="2"/>
<text x="1183.80" y="287.5"/>
</g>
<g>
<title>fiat_p256_divstep (22,869,539 samples, 0.08%)</title><rect x="17.1" y="517" width="0.9" height="15.0" fill="rgb(230,117,28)" rx="2" ry="2"/>
<text x="20.09" y="527.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1737 (16,564,892 samples, 0.06%)</title><rect x="183.4" y="213" width="0.7" height="15.0" fill="rgb(249,204,48)" rx="2" ry="2"/>
<text x="186.40" y="223.5"/>
</g>
<g>
<title>fiat_p256_sub (656,602,397 samples, 2.29%)</title><rect x="600.0" y="197" width="27.0" height="15.0" fill="rgb(253,223,53)" rx="2" ry="2"/>
<text x="603.00" y="207.5">f..</text>
</g>
<g>
<title>Mirage_crypto.Hash.finalize_545 (33,073,560 samples, 0.12%)</title><rect x="1186.0" y="229" width="1.3" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2"/>
<text x="1188.98" y="239.5"/>
</g>
<g>
<title>caml_c_call (56,391,514 samples, 0.20%)</title><rect x="47.7" y="517" width="2.3" height="15.0" fill="rgb(217,56,13)" rx="2" ry="2"/>
<text x="50.67" y="527.5"/>
</g>
<g>
<title>caml_ba_create (4,436,806 samples, 0.02%)</title><rect x="1181.2" y="181" width="0.2" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="1184.21" y="191.5"/>
</g>
<g>
<title>_mc_sha256_update (7,003,862 samples, 0.02%)</title><rect x="186.7" y="149" width="0.3" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="189.71" y="159.5"/>
</g>
<g>
<title>Stdlib.Bigarray.create_379 (3,187,320 samples, 0.01%)</title><rect x="185.7" y="181" width="0.2" height="15.0" fill="rgb(227,103,24)" rx="2" ry="2"/>
<text x="188.74" y="191.5"/>
</g>
<g>
<title>Mirage_crypto_ec.add_point_714 (4,466,965 samples, 0.02%)</title><rect x="25.2" y="517" width="0.2" height="15.0" fill="rgb(210,25,6)" rx="2" ry="2"/>
<text x="28.17" y="527.5"/>
</g>
<g>
<title>Cstruct.create_unsafe_790 (11,446,678 samples, 0.04%)</title><rect x="1187.7" y="197" width="0.5" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="1190.70" y="207.5"/>
</g>
<g>
<title>caml_ba_alloc (8,257,713 samples, 0.03%)</title><rect x="1187.8" y="149" width="0.4" height="15.0" fill="rgb(230,115,27)" rx="2" ry="2"/>
<text x="1190.84" y="159.5"/>
</g>
<g>
<title>__gmpz_probab_prime_p (6,375,214 samples, 0.02%)</title><rect x="180.1" y="325" width="0.2" height="15.0" fill="rgb(225,96,23)" rx="2" ry="2"/>
<text x="183.08" y="335.5"/>
</g>
<g>
<title>Mirage_crypto_rng.Hmac_drbg.generate_184 (126,201,603 samples, 0.44%)</title><rect x="182.4" y="261" width="5.2" height="15.0" fill="rgb(221,77,18)" rx="2" ry="2"/>
<text x="185.38" y="271.5"/>
</g>
<g>
<title>fiat_p256_nonzero (5,732,736 samples, 0.02%)</title><rect x="246.8" y="181" width="0.2" height="15.0" fill="rgb(253,221,52)" rx="2" ry="2"/>
<text x="249.77" y="191.5"/>
</g>
<g>
<title>_mc_sha256_finalize (29,244,042 samples, 0.10%)</title><rect x="1186.1" y="181" width="1.2" height="15.0" fill="rgb(232,125,30)" rx="2" ry="2"/>
<text x="1189.14" y="191.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3251 (3,172,601 samples, 0.01%)</title><rect x="181.9" y="277" width="0.1" height="15.0" fill="rgb(242,173,41)" rx="2" ry="2"/>
<text x="184.88" y="287.5"/>
</g>
<g>
<title>_dl_start_final (6,084,015 samples, 0.02%)</title><rect x="1188.8" y="501" width="0.2" height="15.0" fill="rgb(252,216,51)" rx="2" ry="2"/>
<text x="1191.76" y="511.5"/>
</g>
<g>
<title>alloc_custom_gen (3,183,276 samples, 0.01%)</title><rect x="181.0" y="197" width="0.2" height="15.0" fill="rgb(220,71,17)" rx="2" ry="2"/>
<text x="184.04" y="207.5"/>
</g>
<g>
<title>caml_ba_create (2,552,660 samples, 0.01%)</title><rect x="185.8" y="165" width="0.1" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="188.76" y="175.5"/>
</g>
<g>
<title>ror32 (7,022,899 samples, 0.02%)</title><rect x="184.4" y="133" width="0.3" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="187.43" y="143.5"/>
</g>
<g>
<title>__hrtimer_run_queues (2,561,706 samples, 0.01%)</title><rect x="805.9" y="101" width="0.1" height="15.0" fill="rgb(237,150,35)" rx="2" ry="2"/>
<text x="808.87" y="111.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1742 (29,138,276 samples, 0.10%)</title><rect x="1184.1" y="213" width="1.2" height="15.0" fill="rgb(225,93,22)" rx="2" ry="2"/>
<text x="1187.10" y="223.5"/>
</g>
<g>
<title>point_double (15,219,841 samples, 0.05%)</title><rect x="178.1" y="293" width="0.6" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2"/>
<text x="181.12" y="303.5"/>
</g>
<g>
<title>fiat_p256_add (265,749,306 samples, 0.93%)</title><rect x="247.0" y="197" width="10.9" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="250.01" y="207.5"/>
</g>
<g>
<title>Stdlib.Bigarray.create_379 (3,180,757 samples, 0.01%)</title><rect x="187.4" y="165" width="0.1" height="15.0" fill="rgb(227,103,24)" rx="2" ry="2"/>
<text x="190.39" y="175.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1809 (19,742,601 samples, 0.07%)</title><rect x="182.6" y="229" width="0.8" height="15.0" fill="rgb(249,204,48)" rx="2" ry="2"/>
<text x="185.56" y="239.5"/>
</g>
<g>
<title>mc_sha256_finalize (15,919,767 samples, 0.06%)</title><rect x="184.9" y="197" width="0.6" height="15.0" fill="rgb(246,188,45)" rx="2" ry="2"/>
<text x="187.88" y="207.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.feedi_558 (33,959,653 samples, 0.12%)</title><rect x="183.4" y="229" width="1.4" height="15.0" fill="rgb(246,192,45)" rx="2" ry="2"/>
<text x="186.37" y="239.5"/>
</g>
<g>
<title>Mirage_crypto_pk.Z_extra.pseudoprime_251 (6,375,214 samples, 0.02%)</title><rect x="180.1" y="357" width="0.2" height="15.0" fill="rgb(209,22,5)" rx="2" ry="2"/>
<text x="183.08" y="367.5"/>
</g>
<g>
<title>Dune.exe.Speed.time_143 (24,490,035,133 samples, 85.39%)</title><rect x="180.7" y="325" width="1007.6" height="15.0" fill="rgb(243,177,42)" rx="2" ry="2"/>
<text x="183.73" y="335.5">Dune.exe.Speed.time_143</text>
</g>
<g>
<title>_mc_sha256_update (30,356,717 samples, 0.11%)</title><rect x="1182.8" y="165" width="1.3" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="1185.80" y="175.5"/>
</g>
<g>
<title>ml_z_probab_prime (6,375,214 samples, 0.02%)</title><rect x="180.1" y="341" width="0.2" height="15.0" fill="rgb(218,60,14)" rx="2" ry="2"/>
<text x="183.08" y="351.5"/>
</g>
<g>
<title>mc_sha256_update (14,637,402 samples, 0.05%)</title><rect x="1185.3" y="197" width="0.6" height="15.0" fill="rgb(233,130,31)" rx="2" ry="2"/>
<text x="1188.30" y="207.5"/>
</g>
<g>
<title>Mirage_crypto_ec.from_be_octets_1078 (5,076,431 samples, 0.02%)</title><rect x="1180.6" y="277" width="0.2" height="15.0" fill="rgb(205,2,0)" rx="2" ry="2"/>
<text x="1183.59" y="287.5"/>
</g>
<g>
<title>Cstruct.create_919 (3,193,502 samples, 0.01%)</title><rect x="182.4" y="229" width="0.2" height="15.0" fill="rgb(236,146,34)" rx="2" ry="2"/>
<text x="185.43" y="239.5"/>
</g>
<g>
<title>fiat_np256_to_montgomery (10,843,576 samples, 0.04%)</title><rect x="181.3" y="229" width="0.4" height="15.0" fill="rgb(206,6,1)" rx="2" ry="2"/>
<text x="184.25" y="239.5"/>
</g>
<g>
<title>caml_alloc_small_dispatch (3,835,221 samples, 0.01%)</title><rect x="1101.3" y="213" width="0.1" height="15.0" fill="rgb(229,110,26)" rx="2" ry="2"/>
<text x="1104.26" y="223.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.feedi_558 (17,807,448 samples, 0.06%)</title><rect x="186.4" y="213" width="0.7" height="15.0" fill="rgb(246,192,45)" rx="2" ry="2"/>
<text x="189.37" y="223.5"/>
</g>
<g>
<title>_dl_sysdep_start (6,084,015 samples, 0.02%)</title><rect x="1188.8" y="485" width="0.2" height="15.0" fill="rgb(234,137,32)" rx="2" ry="2"/>
<text x="1191.76" y="495.5"/>
</g>
<g>
<title>__gmpn_redc_1 (34,288,256 samples, 0.12%)</title><rect x="64.0" y="533" width="1.4" height="15.0" fill="rgb(214,42,10)" rx="2" ry="2"/>
<text x="67.01" y="543.5"/>
</g>
<g>
<title>Stdlib.Bigarray.create_379 (2,553,949 samples, 0.01%)</title><rect x="182.5" y="197" width="0.1" height="15.0" fill="rgb(227,103,24)" rx="2" ry="2"/>
<text x="185.46" y="207.5"/>
</g>
<g>
<title>ror32 (10,202,680 samples, 0.04%)</title><rect x="1184.9" y="133" width="0.4" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="1187.88" y="143.5"/>
</g>
<g>
<title>Cstruct.create_919 (2,552,341 samples, 0.01%)</title><rect x="184.8" y="213" width="0.1" height="15.0" fill="rgb(236,146,34)" rx="2" ry="2"/>
<text x="187.77" y="223.5"/>
</g>
<g>
<title>mc_p256_mul (7,602,052 samples, 0.03%)</title><rect x="1179.9" y="213" width="0.3" height="15.0" fill="rgb(247,194,46)" rx="2" ry="2"/>
<text x="1182.88" y="223.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1742 (7,003,862 samples, 0.02%)</title><rect x="186.7" y="197" width="0.3" height="15.0" fill="rgb(225,93,22)" rx="2" ry="2"/>
<text x="189.71" y="207.5"/>
</g>
<g>
<title>Cstruct.create_919 (3,165,453 samples, 0.01%)</title><rect x="187.1" y="197" width="0.1" height="15.0" fill="rgb(236,146,34)" rx="2" ry="2"/>
<text x="190.10" y="207.5"/>
</g>
<g>
<title>ror32 (2,549,728 samples, 0.01%)</title><rect x="186.9" y="117" width="0.1" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="189.89" y="127.5"/>
</g>
<g>
<title>mc_np256_to_montgomery (2,523,844 samples, 0.01%)</title><rect x="1180.6" y="245" width="0.1" height="15.0" fill="rgb(225,96,23)" rx="2" ry="2"/>
<text x="1183.59" y="255.5"/>
</g>
<g>
<title>caml_apply4 (17,857,355 samples, 0.06%)</title><rect x="46.9" y="517" width="0.7" height="15.0" fill="rgb(243,175,41)" rx="2" ry="2"/>
<text x="49.91" y="527.5"/>
</g>
<g>
<title>__libc_start_main_impl (27,138,147,338 samples, 94.62%)</title><rect x="72.3" y="517" width="1116.5" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2"/>
<text x="75.26" y="527.5">__libc_start_main_impl</text>
</g>
<g>
<title>__gmpn_mul_basecase (31,836,041 samples, 0.11%)</title><rect x="62.7" y="533" width="1.3" height="15.0" fill="rgb(231,120,28)" rx="2" ry="2"/>
<text x="65.70" y="543.5"/>
</g>
<g>
<title>mc_p256_from_montgomery (4,380,461 samples, 0.02%)</title><rect x="1135.5" y="213" width="0.2" height="15.0" fill="rgb(236,144,34)" rx="2" ry="2"/>
<text x="1138.52" y="223.5"/>
</g>
<g>
<title>sha256_do_chunk (12,735,338 samples, 0.04%)</title><rect x="1185.4" y="165" width="0.5" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="1188.38" y="175.5"/>
</g>
<g>
<title>__gmpn_strongfibo (14,670,893 samples, 0.05%)</title><rect x="179.2" y="277" width="0.6" height="15.0" fill="rgb(209,22,5)" rx="2" ry="2"/>
<text x="182.16" y="287.5"/>
</g>
<g>
<title>fiat_p256_square (19,347,898 samples, 0.07%)</title><rect x="34.3" y="517" width="0.8" height="15.0" fill="rgb(241,166,39)" rx="2" ry="2"/>
<text x="37.34" y="527.5"/>
</g>
<g>
<title>asm_exc_page_fault (2,994,424 samples, 0.01%)</title><rect x="1188.9" y="405" width="0.1" height="15.0" fill="rgb(225,93,22)" rx="2" ry="2"/>
<text x="1191.88" y="415.5"/>
</g>
<g>
<title>point_double (3,728,536 samples, 0.01%)</title><rect x="177.5" y="293" width="0.1" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2"/>
<text x="180.48" y="303.5"/>
</g>
<g>
<title>mc_p521_point_add (12,061,825 samples, 0.04%)</title><rect x="177.0" y="309" width="0.5" height="15.0" fill="rgb(226,96,23)" rx="2" ry="2"/>
<text x="179.98" y="319.5"/>
</g>
<g>
<title>caml_ba_create (3,196,331 samples, 0.01%)</title><rect x="1186.0" y="165" width="0.1" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="1189.01" y="175.5"/>
</g>
<g>
<title>__hrtimer_run_queues (3,836,372 samples, 0.01%)</title><rect x="414.9" y="101" width="0.2" height="15.0" fill="rgb(237,150,35)" rx="2" ry="2"/>
<text x="417.92" y="111.5"/>
</g>
<g>
<title>fiat_np256_subborrowx_u64 (359,845,931 samples, 1.25%)</title><rect x="219.8" y="181" width="14.8" height="15.0" fill="rgb(254,228,54)" rx="2" ry="2"/>
<text x="222.79" y="191.5"/>
</g>
<g>
<title>inverse (1,071,489,326 samples, 3.74%)</title><rect x="1135.7" y="181" width="44.1" height="15.0" fill="rgb(228,106,25)" rx="2" ry="2"/>
<text x="1138.72" y="191.5">inve..</text>
</g>
<g>
<title>Mirage_crypto_ec.fun_3872 (8,220,000 samples, 0.03%)</title><rect x="177.8" y="325" width="0.3" height="15.0" fill="rgb(234,135,32)" rx="2" ry="2"/>
<text x="180.78" y="335.5"/>
</g>
<g>
<title>Mirage_crypto_ec.is_in_range_946 (7,584,951 samples, 0.03%)</title><rect x="182.1" y="261" width="0.3" height="15.0" fill="rgb(247,195,46)" rx="2" ry="2"/>
<text x="185.07" y="271.5"/>
</g>
<g>
<title>fiat_p256_value_barrier_u64 (8,305,940 samples, 0.03%)</title><rect x="1167.8" y="133" width="0.3" height="15.0" fill="rgb(222,82,19)" rx="2" ry="2"/>
<text x="1170.80" y="143.5"/>
</g>
<g>
<title>fiat_p256_addcarryx_u64 (167,000,494 samples, 0.58%)</title><rect x="604.2" y="181" width="6.9" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="607.22" y="191.5"/>
</g>
<g>
<title>entry_SYSCALL_64_safe_stack (2,756,010 samples, 0.01%)</title><rect x="1189.4" y="533" width="0.1" height="15.0" fill="rgb(231,120,28)" rx="2" ry="2"/>
<text x="1192.36" y="543.5"/>
</g>
<g>
<title>fiat_np256_mul (4,429,205 samples, 0.02%)</title><rect x="234.6" y="197" width="0.2" height="15.0" fill="rgb(217,55,13)" rx="2" ry="2"/>
<text x="237.59" y="207.5"/>
</g>
<g>
<title>fiat_p256_cmovznz_u64 (24,650,662 samples, 0.09%)</title><rect x="252.8" y="181" width="1.0" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="255.81" y="191.5"/>
</g>
<g>
<title>__gmpz_millerrabin (5,746,100 samples, 0.02%)</title><rect x="180.1" y="309" width="0.2" height="15.0" fill="rgb(239,159,38)" rx="2" ry="2"/>
<text x="183.10" y="319.5"/>
</g>
<g>
<title>caml_alloc_small_dispatch (3,075,953 samples, 0.01%)</title><rect x="1101.9" y="229" width="0.2" height="15.0" fill="rgb(229,110,26)" rx="2" ry="2"/>
<text x="1104.94" y="239.5"/>
</g>
<g>
<title>sha256_do_chunk (27,970,392 samples, 0.10%)</title><rect x="1186.2" y="149" width="1.1" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="1189.19" y="159.5"/>
</g>
<g>
<title>mc_sha256_finalize (30,972,386 samples, 0.11%)</title><rect x="1181.4" y="213" width="1.3" height="15.0" fill="rgb(246,188,45)" rx="2" ry="2"/>
<text x="1184.42" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_4026 (15,219,841 samples, 0.05%)</title><rect x="178.1" y="325" width="0.6" height="15.0" fill="rgb(236,143,34)" rx="2" ry="2"/>
<text x="181.12" y="335.5"/>
</g>
<g>
<title>caml_c_call (4,919,146 samples, 0.02%)</title><rect x="632.3" y="213" width="0.2" height="15.0" fill="rgb(217,56,13)" rx="2" ry="2"/>
<text x="635.26" y="223.5"/>
</g>
<g>
<title>__x64_sys_getrusage (22,672,483 samples, 0.08%)</title><rect x="174.1" y="293" width="1.0" height="15.0" fill="rgb(234,136,32)" rx="2" ry="2"/>
<text x="177.13" y="303.5"/>
</g>
<g>
<title>__gmpn_tdiv_qr (3,830,540 samples, 0.01%)</title><rect x="180.1" y="245" width="0.2" height="15.0" fill="rgb(252,220,52)" rx="2" ry="2"/>
<text x="183.10" y="255.5"/>
</g>
<g>
<title>fiat_p256_subborrowx_u64 (333,547,181 samples, 1.16%)</title><rect x="1069.8" y="181" width="13.7" height="15.0" fill="rgb(215,47,11)" rx="2" ry="2"/>
<text x="1072.76" y="191.5"/>
</g>
<g>
<title>fiat_p256_mulx_u64 (565,891,689 samples, 1.97%)</title><rect x="568.6" y="181" width="23.3" height="15.0" fill="rgb(248,199,47)" rx="2" ry="2"/>
<text x="571.61" y="191.5">f..</text>
</g>
<g>
<title>thread_group_cputime_adjusted (9,537,406 samples, 0.03%)</title><rect x="174.6" y="245" width="0.4" height="15.0" fill="rgb(234,137,32)" rx="2" ry="2"/>
<text x="177.57" y="255.5"/>
</g>
<g>
<title>caml_apply3 (7,654,196 samples, 0.03%)</title><rect x="634.7" y="245" width="0.3" height="15.0" fill="rgb(249,204,48)" rx="2" ry="2"/>
<text x="637.71" y="255.5"/>
</g>
<g>
<title>caml_gc_dispatch (5,521,835 samples, 0.02%)</title><rect x="631.9" y="181" width="0.3" height="15.0" fill="rgb(235,139,33)" rx="2" ry="2"/>
<text x="634.93" y="191.5"/>
</g>
<g>
<title>exc_page_fault (2,994,424 samples, 0.01%)</title><rect x="1188.9" y="389" width="0.1" height="15.0" fill="rgb(212,35,8)" rx="2" ry="2"/>
<text x="1191.88" y="399.5"/>
</g>
<g>
<title>fiat_p256_add (93,451,277 samples, 0.33%)</title><rect x="13.2" y="517" width="3.9" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="16.24" y="527.5"/>
</g>
<g>
<title>ror32 (5,747,372 samples, 0.02%)</title><rect x="1182.5" y="149" width="0.2" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="1185.46" y="159.5"/>
</g>
<g>
<title>Stdlib.List.iter_261 (24,495,047,907 samples, 85.40%)</title><rect x="180.7" y="373" width="1007.8" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="183.73" y="383.5">Stdlib.List.iter_261</text>
</g>
<g>
<title>fiat_p256_cmovznz_u64 (254,068,463 samples, 0.89%)</title><rect x="1157.7" y="149" width="10.4" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="1160.69" y="159.5"/>
</g>
<g>
<title>fiat_p256_sub (629,570,514 samples, 2.20%)</title><rect x="1057.6" y="197" width="25.9" height="15.0" fill="rgb(253,223,53)" rx="2" ry="2"/>
<text x="1060.58" y="207.5">f..</text>
</g>
<g>
<title>inverse (10,835,812 samples, 0.04%)</title><rect x="35.2" y="485" width="0.4" height="15.0" fill="rgb(228,106,25)" rx="2" ry="2"/>
<text x="38.16" y="495.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3718 (10,751,003 samples, 0.04%)</title><rect x="26.2" y="517" width="0.5" height="15.0" fill="rgb(240,165,39)" rx="2" ry="2"/>
<text x="29.23" y="527.5"/>
</g>
<g>
<title>_mc_sha256_update (28,604,651 samples, 0.10%)</title><rect x="1186.2" y="165" width="1.1" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="1189.17" y="175.5"/>
</g>
<g>
<title>caml_fill_bytes (90,652,006 samples, 0.32%)</title><rect x="1097.5" y="213" width="3.8" height="15.0" fill="rgb(226,97,23)" rx="2" ry="2"/>
<text x="1100.53" y="223.5"/>
</g>
<g>
<title>fiat_p256_cmovznz_u64 (96,743,700 samples, 0.34%)</title><rect x="1115.6" y="165" width="4.0" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="1118.62" y="175.5"/>
</g>
<g>
<title>caml_ba_create (2,525,995 samples, 0.01%)</title><rect x="187.1" y="149" width="0.1" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="190.13" y="159.5"/>
</g>
<g>
<title>Mirage_crypto_pk.Rsa.valid_prime_447 (6,375,214 samples, 0.02%)</title><rect x="180.1" y="373" width="0.2" height="15.0" fill="rgb(213,40,9)" rx="2" ry="2"/>
<text x="183.08" y="383.5"/>
</g>
<g>
<title>hrtimer_interrupt (2,561,706 samples, 0.01%)</title><rect x="805.9" y="117" width="0.1" height="15.0" fill="rgb(228,109,26)" rx="2" ry="2"/>
<text x="808.87" y="127.5"/>
</g>
<g>
<title>asm_sysvec_apic_timer_interrupt (2,563,290 samples, 0.01%)</title><rect x="472.0" y="165" width="0.1" height="15.0" fill="rgb(232,127,30)" rx="2" ry="2"/>
<text x="475.04" y="175.5"/>
</g>
<g>
<title>caml_main (27,137,512,258 samples, 94.62%)</title><rect x="72.3" y="469" width="1116.5" height="15.0" fill="rgb(212,33,8)" rx="2" ry="2"/>
<text x="75.29" y="479.5">caml_main</text>
</g>
<g>
<title>ml_z_probab_prime (21,658,520 samples, 0.08%)</title><rect x="179.2" y="341" width="0.9" height="15.0" fill="rgb(218,60,14)" rx="2" ry="2"/>
<text x="182.16" y="351.5"/>
</g>
<g>
<title>inversion (1,071,489,326 samples, 3.74%)</title><rect x="1135.7" y="197" width="44.1" height="15.0" fill="rgb(224,90,21)" rx="2" ry="2"/>
<text x="1138.72" y="207.5">inve..</text>
</g>
<g>
<title>Mirage_crypto_ec.select_855 (4,461,022 samples, 0.02%)</title><rect x="28.0" y="517" width="0.2" height="15.0" fill="rgb(248,199,47)" rx="2" ry="2"/>
<text x="30.99" y="527.5"/>
</g>
<g>
<title>inverse (1,148,594,487 samples, 4.00%)</title><rect x="187.6" y="213" width="47.2" height="15.0" fill="rgb(228,106,25)" rx="2" ry="2"/>
<text x="190.57" y="223.5">inve..</text>
</g>
<g>
<title>Mirage_crypto.Hash.hmaci_648 (133,153,612 samples, 0.46%)</title><rect x="1182.7" y="245" width="5.5" height="15.0" fill="rgb(214,43,10)" rx="2" ry="2"/>
<text x="1185.72" y="255.5"/>
</g>
<g>
<title>__gmpn_tdiv_qr (3,811,216 samples, 0.01%)</title><rect x="180.5" y="245" width="0.2" height="15.0" fill="rgb(252,220,52)" rx="2" ry="2"/>
<text x="183.55" y="255.5"/>
</g>
<g>
<title>Cstruct.create_unsafe_790 (3,109,846 samples, 0.01%)</title><rect x="1181.0" y="229" width="0.1" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="1183.98" y="239.5"/>
</g>
<g>
<title>Mirage_crypto_ec.share_inner_3264 (59,246,794 samples, 0.21%)</title><rect x="176.4" y="373" width="2.5" height="15.0" fill="rgb(209,22,5)" rx="2" ry="2"/>
<text x="179.41" y="383.5"/>
</g>
<g>
<title>__hrtimer_run_queues (3,191,993 samples, 0.01%)</title><rect x="566.1" y="101" width="0.1" height="15.0" fill="rgb(237,150,35)" rx="2" ry="2"/>
<text x="569.10" y="111.5"/>
</g>
<g>
<title>getrusage (19,719,153 samples, 0.07%)</title><rect x="174.1" y="261" width="0.9" height="15.0" fill="rgb(216,54,13)" rx="2" ry="2"/>
<text x="177.15" y="271.5"/>
</g>
<g>
<title>Mirage_crypto_pk.Z_extra.pseudoprime_251 (21,658,520 samples, 0.08%)</title><rect x="179.2" y="357" width="0.9" height="15.0" fill="rgb(209,22,5)" rx="2" ry="2"/>
<text x="182.16" y="367.5"/>
</g>
<g>
<title>ror32 (2,536,530 samples, 0.01%)</title><rect x="186.3" y="133" width="0.1" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="189.26" y="143.5"/>
</g>
<g>
<title>Mirage_crypto_pk.Rsa.valid_prime_447 (7,621,886 samples, 0.03%)</title><rect x="180.4" y="373" width="0.3" height="15.0" fill="rgb(213,40,9)" rx="2" ry="2"/>
<text x="183.39" y="383.5"/>
</g>
<g>
<title>Cstruct.create_unsafe_790 (3,081,485 samples, 0.01%)</title><rect x="185.5" y="213" width="0.2" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="188.53" y="223.5"/>
</g>
<g>
<title>__sysvec_apic_timer_interrupt (3,833,024 samples, 0.01%)</title><rect x="566.1" y="133" width="0.2" height="15.0" fill="rgb(242,173,41)" rx="2" ry="2"/>
<text x="569.10" y="143.5"/>
</g>
<g>
<title>mc_p256_point_add (9,469,389,328 samples, 33.02%)</title><rect x="237.4" y="229" width="389.6" height="15.0" fill="rgb(243,178,42)" rx="2" ry="2"/>
<text x="240.43" y="239.5">mc_p256_point_add</text>
</g>
<g>
<title>fiat_p256_addcarryx_u64 (2,063,667,042 samples, 7.20%)</title><rect x="721.1" y="181" width="84.9" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="724.10" y="191.5">fiat_p256..</text>
</g>
<g>
<title>entry_SYSCALL_64 (3,157,579 samples, 0.01%)</title><rect x="174.0" y="325" width="0.1" height="15.0" fill="rgb(239,156,37)" rx="2" ry="2"/>
<text x="176.97" y="335.5"/>
</g>
<g>
<title>Mirage_crypto_ec.go_1213 (135,068,826 samples, 0.47%)</title><rect x="182.0" y="277" width="5.6" height="15.0" fill="rgb(211,29,6)" rx="2" ry="2"/>
<text x="185.01" y="287.5"/>
</g>
<g>
<title>Mirage_crypto_ec.to_affine_804 (3,036,716 samples, 0.01%)</title><rect x="178.9" y="357" width="0.1" height="15.0" fill="rgb(205,3,0)" rx="2" ry="2"/>
<text x="181.85" y="367.5"/>
</g>
<g>
<title>ror32 (5,097,736 samples, 0.02%)</title><rect x="1187.1" y="133" width="0.2" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="1190.13" y="143.5"/>
</g>
<g>
<title>fiat_p256_sub (9,565,680 samples, 0.03%)</title><rect x="59.2" y="517" width="0.4" height="15.0" fill="rgb(253,223,53)" rx="2" ry="2"/>
<text x="62.24" y="527.5"/>
</g>
<g>
<title>Mirage_crypto_ec.select_686 (2,465,444 samples, 0.01%)</title><rect x="178.7" y="325" width="0.2" height="15.0" fill="rgb(235,140,33)" rx="2" ry="2"/>
<text x="181.75" y="335.5"/>
</g>
<g>
<title>Mirage_crypto_ec.from_montgomery_668 (5,020,849 samples, 0.02%)</title><rect x="1135.5" y="245" width="0.2" height="15.0" fill="rgb(251,213,51)" rx="2" ry="2"/>
<text x="1138.52" y="255.5"/>
</g>
<g>
<title>caml_alloc_custom_mem (2,552,478 samples, 0.01%)</title><rect x="1187.5" y="149" width="0.1" height="15.0" fill="rgb(206,7,1)" rx="2" ry="2"/>
<text x="1190.47" y="159.5"/>
</g>
<g>
<title>fiat_p256_selectznz (85,506,559 samples, 0.30%)</title><rect x="243.3" y="181" width="3.5" height="15.0" fill="rgb(214,42,10)" rx="2" ry="2"/>
<text x="246.25" y="191.5"/>
</g>
<g>
<title>caml_program (27,136,143,757 samples, 94.61%)</title><rect x="72.3" y="421" width="1116.4" height="15.0" fill="rgb(222,80,19)" rx="2" ry="2"/>
<text x="75.31" y="431.5">caml_program</text>
</g>
<g>
<title>fiat_p256_value_barrier_u64 (7,636,629 samples, 0.03%)</title><rect x="1069.4" y="165" width="0.4" height="15.0" fill="rgb(222,82,19)" rx="2" ry="2"/>
<text x="1072.44" y="175.5"/>
</g>
<g>
<title>Mirage_crypto_ec.do_sign_1267 (3,184,538 samples, 0.01%)</title><rect x="179.0" y="373" width="0.1" height="15.0" fill="rgb(211,31,7)" rx="2" ry="2"/>
<text x="181.98" y="383.5"/>
</g>
<g>
<title>caml_start_program (27,136,143,757 samples, 94.61%)</title><rect x="72.3" y="437" width="1116.4" height="15.0" fill="rgb(254,225,54)" rx="2" ry="2"/>
<text x="75.31" y="447.5">caml_start_program</text>
</g>
<g>
<title>Cstruct.of_data_abstract_inner_2673 (9,545,924 samples, 0.03%)</title><rect x="180.8" y="293" width="0.4" height="15.0" fill="rgb(232,125,29)" rx="2" ry="2"/>
<text x="183.81" y="303.5"/>
</g>
<g>
<title>Mirage_crypto_ec.out_point_704 (436,062,940 samples, 1.52%)</title><rect x="1083.5" y="245" width="17.9" height="15.0" fill="rgb(213,38,9)" rx="2" ry="2"/>
<text x="1086.48" y="255.5"/>
</g>
<g>
<title>Mirage_crypto.Uncommon.rpad_664 (5,107,810 samples, 0.02%)</title><rect x="1187.4" y="229" width="0.2" height="15.0" fill="rgb(219,66,15)" rx="2" ry="2"/>
<text x="1190.39" y="239.5"/>
</g>
<g>
<title>fiat_p256_mul (3,213,806,897 samples, 11.21%)</title><rect x="716.4" y="197" width="132.2" height="15.0" fill="rgb(227,104,24)" rx="2" ry="2"/>
<text x="719.39" y="207.5">fiat_p256_mul</text>
</g>
<g>
<title>inversion (10,835,812 samples, 0.04%)</title><rect x="35.2" y="501" width="0.4" height="15.0" fill="rgb(224,90,21)" rx="2" ry="2"/>
<text x="38.16" y="511.5"/>
</g>
<g>
<title>__memset_avx2_unaligned_erms (20,268,904 samples, 0.07%)</title><rect x="633.5" y="197" width="0.8" height="15.0" fill="rgb(223,84,20)" rx="2" ry="2"/>
<text x="636.45" y="207.5"/>
</g>
<g>
<title>caml_gc_dispatch (2,550,845 samples, 0.01%)</title><rect x="1134.4" y="213" width="0.1" height="15.0" fill="rgb(235,139,33)" rx="2" ry="2"/>
<text x="1137.40" y="223.5"/>
</g>
<g>
<title>sha256_do_chunk (19,742,601 samples, 0.07%)</title><rect x="182.6" y="165" width="0.8" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="185.56" y="175.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3710 (4,380,461 samples, 0.02%)</title><rect x="1135.5" y="229" width="0.2" height="15.0" fill="rgb(242,173,41)" rx="2" ry="2"/>
<text x="1138.52" y="239.5"/>
</g>
<g>
<title>__gmpn_sbpi1_div_qr (5,715,069 samples, 0.02%)</title><rect x="179.8" y="229" width="0.2" height="15.0" fill="rgb(244,180,43)" rx="2" ry="2"/>
<text x="182.79" y="239.5"/>
</g>
<g>
<title>fiat_p256_divstep (1,058,747,791 samples, 3.69%)</title><rect x="1136.2" y="165" width="43.5" height="15.0" fill="rgb(230,117,28)" rx="2" ry="2"/>
<text x="1139.17" y="175.5">fiat..</text>
</g>
<g>
<title>point_double (10,772,660,191 samples, 37.56%)</title><rect x="640.3" y="213" width="443.2" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2"/>
<text x="643.28" y="223.5">point_double</text>
</g>
<g>
<title>Mirage_crypto.Hash.hmaci_648 (61,249,201 samples, 0.21%)</title><rect x="183.4" y="245" width="2.5" height="15.0" fill="rgb(214,43,10)" rx="2" ry="2"/>
<text x="186.37" y="255.5"/>
</g>
<g>
<title>fiat_p384_square (6,085,474 samples, 0.02%)</title><rect x="177.9" y="277" width="0.2" height="15.0" fill="rgb(228,106,25)" rx="2" ry="2"/>
<text x="180.87" y="287.5"/>
</g>
<g>
<title>caml_alloc_small_dispatch (8,071,866 samples, 0.03%)</title><rect x="631.9" y="197" width="0.4" height="15.0" fill="rgb(229,110,26)" rx="2" ry="2"/>
<text x="634.93" y="207.5"/>
</g>
<g>
<title>Mirage_crypto.Uncommon.clone_338 (13,996,984 samples, 0.05%)</title><rect x="1187.6" y="213" width="0.6" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2"/>
<text x="1190.60" y="223.5"/>
</g>
<g>
<title>fiat_np256_mul (3,696,465 samples, 0.01%)</title><rect x="234.9" y="229" width="0.1" height="15.0" fill="rgb(217,55,13)" rx="2" ry="2"/>
<text x="237.85" y="239.5"/>
</g>
<g>
<title>fiat_p256_addcarryx_u64 (644,977,527 samples, 2.25%)</title><rect x="655.4" y="181" width="26.5" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="658.36" y="191.5">f..</text>
</g>
<g>
<title>caml_gc_dispatch (10,788,051 samples, 0.04%)</title><rect x="1094.8" y="181" width="0.4" height="15.0" fill="rgb(235,139,33)" rx="2" ry="2"/>
<text x="1097.76" y="191.5"/>
</g>
<g>
<title>fiat_p256_square (85,932,694 samples, 0.30%)</title><rect x="55.7" y="517" width="3.5" height="15.0" fill="rgb(241,166,39)" rx="2" ry="2"/>
<text x="58.71" y="527.5"/>
</g>
<g>
<title>caml_ba_alloc (4,467,043 samples, 0.02%)</title><rect x="1187.4" y="165" width="0.2" height="15.0" fill="rgb(230,115,27)" rx="2" ry="2"/>
<text x="1190.39" y="175.5"/>
</g>
<g>
<title>Mirage_crypto.Uncommon.xor_639 (14,638,134 samples, 0.05%)</title><rect x="1187.6" y="229" width="0.6" height="15.0" fill="rgb(210,25,6)" rx="2" ry="2"/>
<text x="1190.60" y="239.5"/>
</g>
<g>
<title>__memset_avx2_unaligned_erms (48,936,536 samples, 0.17%)</title><rect x="1098.8" y="197" width="2.0" height="15.0" fill="rgb(223,84,20)" rx="2" ry="2"/>
<text x="1101.80" y="207.5"/>
</g>
<g>
<title>__gmpn_dcpi1_div_qr_n (12,127,789 samples, 0.04%)</title><rect x="179.3" y="213" width="0.5" height="15.0" fill="rgb(210,25,5)" rx="2" ry="2"/>
<text x="182.26" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3716 (14,003,564 samples, 0.05%)</title><rect x="10.4" y="517" width="0.6" height="15.0" fill="rgb(253,224,53)" rx="2" ry="2"/>
<text x="13.39" y="527.5"/>
</g>
<g>
<title>Mirage_crypto_ec.mul_653 (11,430,918 samples, 0.04%)</title><rect x="1179.9" y="245" width="0.4" height="15.0" fill="rgb(251,211,50)" rx="2" ry="2"/>
<text x="1182.86" y="255.5"/>
</g>
<g>
<title>mc_p256_point_add (59,131,587 samples, 0.21%)</title><rect x="36.2" y="517" width="2.4" height="15.0" fill="rgb(243,178,42)" rx="2" ry="2"/>
<text x="39.21" y="527.5"/>
</g>
<g>
<title>fiat_np256_mul (3,842,318 samples, 0.01%)</title><rect x="1135.2" y="213" width="0.2" height="15.0" fill="rgb(217,55,13)" rx="2" ry="2"/>
<text x="1138.23" y="223.5"/>
</g>
<g>
<title>caml_startup_common (27,136,824,272 samples, 94.61%)</title><rect x="72.3" y="453" width="1116.5" height="15.0" fill="rgb(241,169,40)" rx="2" ry="2"/>
<text x="75.31" y="463.5">caml_startup_common</text>
</g>
<g>
<title>sha256_do_chunk (30,356,717 samples, 0.11%)</title><rect x="1182.8" y="149" width="1.3" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="1185.80" y="159.5"/>
</g>
<g>
<title>caml_empty_minor_heap (10,788,051 samples, 0.04%)</title><rect x="1094.8" y="165" width="0.4" height="15.0" fill="rgb(222,80,19)" rx="2" ry="2"/>
<text x="1097.76" y="175.5"/>
</g>
<g>
<title>syscall_return_via_sysret (8,275,034 samples, 0.03%)</title><rect x="176.0" y="325" width="0.4" height="15.0" fill="rgb(229,113,27)" rx="2" ry="2"/>
<text x="179.02" y="335.5"/>
</g>
<g>
<title>Mirage_crypto_ec.is_in_range_946 (3,736,636 samples, 0.01%)</title><rect x="235.1" y="261" width="0.1" height="15.0" fill="rgb(247,195,46)" rx="2" ry="2"/>
<text x="238.05" y="271.5"/>
</g>
<g>
<title>Stdlib.Bigarray.create_379 (3,829,518 samples, 0.01%)</title><rect x="1186.0" y="181" width="0.1" height="15.0" fill="rgb(227,103,24)" rx="2" ry="2"/>
<text x="1188.98" y="191.5"/>
</g>
<g>
<title>__gmpn_submul_1 (70,621,352 samples, 0.25%)</title><rect x="69.4" y="533" width="2.9" height="15.0" fill="rgb(249,203,48)" rx="2" ry="2"/>
<text x="72.35" y="543.5"/>
</g>
<g>
<title>ml_z_probab_prime (7,621,886 samples, 0.03%)</title><rect x="180.4" y="341" width="0.3" height="15.0" fill="rgb(218,60,14)" rx="2" ry="2"/>
<text x="183.39" y="351.5"/>
</g>
<g>
<title>fiat_p256_addcarryx_u64 (3,349,011,702 samples, 11.68%)</title><rect x="854.6" y="181" width="137.8" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="857.57" y="191.5">fiat_p256_addcarr..</text>
</g>
<g>
<title>__GI___libc_malloc (3,778,912 samples, 0.01%)</title><rect x="1187.9" y="133" width="0.2" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2"/>
<text x="1190.94" y="143.5"/>
</g>
<g>
<title>Mirage_crypto_ec.sign_1287 (24,488,112,743 samples, 85.38%)</title><rect x="180.8" y="309" width="1007.5" height="15.0" fill="rgb(225,94,22)" rx="2" ry="2"/>
<text x="183.81" y="319.5">Mirage_crypto_ec.sign_1287</text>
</g>
<g>
<title>Mirage_crypto.Hash.finalize_545 (22,936,103 samples, 0.08%)</title><rect x="182.4" y="245" width="1.0" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2"/>
<text x="185.43" y="255.5"/>
</g>
<g>
<title>mc_np256_mul (3,842,318 samples, 0.01%)</title><rect x="1135.2" y="229" width="0.2" height="15.0" fill="rgb(236,145,34)" rx="2" ry="2"/>
<text x="1138.23" y="239.5"/>
</g>
<g>
<title>Stdlib.Bytes.make_93 (337,026,206 samples, 1.18%)</title><rect x="1119.6" y="229" width="13.9" height="15.0" fill="rgb(240,162,38)" rx="2" ry="2"/>
<text x="1122.60" y="239.5"/>
</g>
<g>
<title>Mirage_crypto_ec.scalar_mult_956 (3,184,538 samples, 0.01%)</title><rect x="179.0" y="357" width="0.1" height="15.0" fill="rgb(229,112,26)" rx="2" ry="2"/>
<text x="181.98" y="367.5"/>
</g>
<g>
<title>__GI___libc_free (2,551,515 samples, 0.01%)</title><rect x="1127.8" y="149" width="0.1" height="15.0" fill="rgb(252,218,52)" rx="2" ry="2"/>
<text x="1130.79" y="159.5"/>
</g>
<g>
<title>inverse (14,029,971 samples, 0.05%)</title><rect x="35.6" y="485" width="0.6" height="15.0" fill="rgb(228,106,25)" rx="2" ry="2"/>
<text x="38.63" y="495.5"/>
</g>
<g>
<title>mc_p384_point_add (10,790,145 samples, 0.04%)</title><rect x="176.5" y="309" width="0.5" height="15.0" fill="rgb(230,118,28)" rx="2" ry="2"/>
<text x="179.54" y="319.5"/>
</g>
<g>
<title>Mirage_crypto.Uncommon.xor_639 (4,440,540 samples, 0.02%)</title><rect x="187.4" y="213" width="0.2" height="15.0" fill="rgb(210,25,6)" rx="2" ry="2"/>
<text x="190.39" y="223.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1807 (14,637,402 samples, 0.05%)</title><rect x="1185.3" y="213" width="0.6" height="15.0" fill="rgb(212,34,8)" rx="2" ry="2"/>
<text x="1188.30" y="223.5"/>
</g>
<g>
<title>point_add (10,790,145 samples, 0.04%)</title><rect x="176.5" y="293" width="0.5" height="15.0" fill="rgb(252,218,52)" rx="2" ry="2"/>
<text x="179.54" y="303.5"/>
</g>
<g>
<title>Stdlib.Bytes.make_93 (67,179,861 samples, 0.23%)</title><rect x="28.3" y="517" width="2.7" height="15.0" fill="rgb(240,162,38)" rx="2" ry="2"/>
<text x="31.28" y="527.5"/>
</g>
<g>
<title>fiat_p256_subborrowx_u64 (444,156,832 samples, 1.55%)</title><rect x="472.1" y="181" width="18.3" height="15.0" fill="rgb(215,47,11)" rx="2" ry="2"/>
<text x="475.14" y="191.5"/>
</g>
<g>
<title>Mirage_crypto_ec.double_point_710 (11,322,410,430 samples, 39.48%)</title><rect x="636.2" y="261" width="465.9" height="15.0" fill="rgb(252,220,52)" rx="2" ry="2"/>
<text x="639.25" y="271.5">Mirage_crypto_ec.double_point_710</text>
</g>
<g>
<title>Eqaf.equal_178 (3,172,601 samples, 0.01%)</title><rect x="181.9" y="261" width="0.1" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="184.88" y="271.5"/>
</g>
<g>
<title>fiat_p256_addcarryx_u64 (5,679,755 samples, 0.02%)</title><rect x="1179.9" y="181" width="0.3" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="1182.94" y="191.5"/>
</g>
<g>
<title>alloc_custom_gen (3,177,783 samples, 0.01%)</title><rect x="45.9" y="517" width="0.1" height="15.0" fill="rgb(220,71,17)" rx="2" ry="2"/>
<text x="48.86" y="527.5"/>
</g>
<g>
<title>Mirage_crypto_pk.Dsa.fun_997 (21,658,520 samples, 0.08%)</title><rect x="179.2" y="373" width="0.9" height="15.0" fill="rgb(233,131,31)" rx="2" ry="2"/>
<text x="182.16" y="383.5"/>
</g>
<g>
<title>mc_p256_select (5,740,125 samples, 0.02%)</title><rect x="60.0" y="517" width="0.3" height="15.0" fill="rgb(220,71,17)" rx="2" ry="2"/>
<text x="63.03" y="527.5"/>
</g>
<g>
<title>_mc_sha256_update (30,972,386 samples, 0.11%)</title><rect x="1181.4" y="181" width="1.3" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="1184.42" y="191.5"/>
</g>
<g>
<title>Mirage_crypto_ec.inv_682 (1,071,489,326 samples, 3.74%)</title><rect x="1135.7" y="245" width="44.1" height="15.0" fill="rgb(244,182,43)" rx="2" ry="2"/>
<text x="1138.72" y="255.5">Mira..</text>
</g>
<g>
<title>mc_p256_select (6,997,053 samples, 0.02%)</title><rect x="1189.7" y="533" width="0.3" height="15.0" fill="rgb(220,71,17)" rx="2" ry="2"/>
<text x="1192.71" y="543.5"/>
</g>
<g>
<title>sha256_do_chunk (2,558,404 samples, 0.01%)</title><rect x="187.2" y="133" width="0.1" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="190.23" y="143.5"/>
</g>
<g>
<title>sysvec_apic_timer_interrupt (2,561,706 samples, 0.01%)</title><rect x="805.9" y="149" width="0.1" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2"/>
<text x="808.87" y="159.5"/>
</g>
<g>
<title>caml_ba_alloc (7,636,247 samples, 0.03%)</title><rect x="180.9" y="229" width="0.3" height="15.0" fill="rgb(230,115,27)" rx="2" ry="2"/>
<text x="183.89" y="239.5"/>
</g>
<g>
<title>__gmpn_sqr_basecase (92,334,799 samples, 0.32%)</title><rect x="65.4" y="533" width="3.8" height="15.0" fill="rgb(229,112,26)" rx="2" ry="2"/>
<text x="68.45" y="543.5"/>
</g>
<g>
<title>caml_create_bytes (18,390,943 samples, 0.06%)</title><rect x="1128.9" y="213" width="0.8" height="15.0" fill="rgb(252,216,51)" rx="2" ry="2"/>
<text x="1131.90" y="223.5"/>
</g>
<g>
<title>point_double (3,198,101 samples, 0.01%)</title><rect x="24.8" y="517" width="0.1" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2"/>
<text x="27.80" y="527.5"/>
</g>
<g>
<title>Mirage_crypto_ec.select_686 (749,112,120 samples, 2.61%)</title><rect x="1103.6" y="245" width="30.8" height="15.0" fill="rgb(235,140,33)" rx="2" ry="2"/>
<text x="1106.58" y="255.5">Mi..</text>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1809 (2,558,404 samples, 0.01%)</title><rect x="187.2" y="197" width="0.1" height="15.0" fill="rgb(249,204,48)" rx="2" ry="2"/>
<text x="190.23" y="207.5"/>
</g>
<g>
<title>_mc_sha256_finalize (30,972,386 samples, 0.11%)</title><rect x="1181.4" y="197" width="1.3" height="15.0" fill="rgb(232,125,30)" rx="2" ry="2"/>
<text x="1184.42" y="207.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3874 (10,790,145 samples, 0.04%)</title><rect x="176.5" y="325" width="0.5" height="15.0" fill="rgb(221,76,18)" rx="2" ry="2"/>
<text x="179.54" y="335.5"/>
</g>
<g>
<title>caml_apply2 (12,622,409 samples, 0.04%)</title><rect x="1101.4" y="245" width="0.5" height="15.0" fill="rgb(205,4,1)" rx="2" ry="2"/>
<text x="1104.42" y="255.5"/>
</g>
<g>
<title>__sysvec_apic_timer_interrupt (2,561,706 samples, 0.01%)</title><rect x="805.9" y="133" width="0.1" height="15.0" fill="rgb(242,173,41)" rx="2" ry="2"/>
<text x="808.87" y="143.5"/>
</g>
<g>
<title>caml_apply2 (3,813,604 samples, 0.01%)</title><rect x="33.1" y="517" width="0.1" height="15.0" fill="rgb(205,4,1)" rx="2" ry="2"/>
<text x="36.08" y="527.5"/>
</g>
<g>
<title>fiat_p256_subborrowx_u64 (281,567,426 samples, 0.98%)</title><rect x="1168.1" y="149" width="11.6" height="15.0" fill="rgb(215,47,11)" rx="2" ry="2"/>
<text x="1171.14" y="159.5"/>
</g>
<g>
<title>mc_sha256_finalize (8,924,929 samples, 0.03%)</title><rect x="186.0" y="197" width="0.4" height="15.0" fill="rgb(246,188,45)" rx="2" ry="2"/>
<text x="189.00" y="207.5"/>
</g>
<g>
<title>inversion (14,029,971 samples, 0.05%)</title><rect x="35.6" y="501" width="0.6" height="15.0" fill="rgb(224,90,21)" rx="2" ry="2"/>
<text x="38.63" y="511.5"/>
</g>
<g>
<title>sha256_do_chunk (16,564,892 samples, 0.06%)</title><rect x="183.4" y="149" width="0.7" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="186.40" y="159.5"/>
</g>
<g>
<title>caml_create_bytes (12,061,854 samples, 0.04%)</title><rect x="632.5" y="213" width="0.5" height="15.0" fill="rgb(252,216,51)" rx="2" ry="2"/>
<text x="635.47" y="223.5"/>
</g>
<g>
<title>fiat_p256_add (38,686,598 samples, 0.13%)</title><rect x="50.8" y="517" width="1.6" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="53.82" y="527.5"/>
</g>
<g>
<title>Mirage_crypto_rng.Hmac_drbg.go_240 (40,734,508 samples, 0.14%)</title><rect x="185.9" y="245" width="1.7" height="15.0" fill="rgb(230,116,27)" rx="2" ry="2"/>
<text x="188.89" y="255.5"/>
</g>
<g>
<title>__libc_start_call_main (27,138,147,338 samples, 94.62%)</title><rect x="72.3" y="501" width="1116.5" height="15.0" fill="rgb(210,26,6)" rx="2" ry="2"/>
<text x="75.26" y="511.5">__libc_start_call_main</text>
</g>
<g>
<title>Mirage_crypto_ec.double_point_710 (30,869,301 samples, 0.11%)</title><rect x="177.5" y="341" width="1.2" height="15.0" fill="rgb(252,220,52)" rx="2" ry="2"/>
<text x="180.48" y="351.5"/>
</g>
<g>
<title>hrtimer_interrupt (4,472,202 samples, 0.02%)</title><rect x="414.9" y="117" width="0.2" height="15.0" fill="rgb(228,109,26)" rx="2" ry="2"/>
<text x="417.92" y="127.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1807 (8,252,353 samples, 0.03%)</title><rect x="186.4" y="181" width="0.3" height="15.0" fill="rgb(212,34,8)" rx="2" ry="2"/>
<text x="189.37" y="191.5"/>
</g>
<g>
<title>caml_alloc_string (47,152,995 samples, 0.16%)</title><rect x="31.1" y="517" width="2.0" height="15.0" fill="rgb(206,8,1)" rx="2" ry="2"/>
<text x="34.14" y="527.5"/>
</g>
<g>
<title>fiat_p256_selectznz (117,696,205 samples, 0.41%)</title><rect x="1114.8" y="181" width="4.8" height="15.0" fill="rgb(214,42,10)" rx="2" ry="2"/>
<text x="1117.76" y="191.5"/>
</g>
<g>
<title>__GI___libc_malloc (2,535,538 samples, 0.01%)</title><rect x="180.9" y="213" width="0.1" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2"/>
<text x="183.91" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3720 (4,476,254 samples, 0.02%)</title><rect x="26.7" y="517" width="0.2" height="15.0" fill="rgb(236,143,34)" rx="2" ry="2"/>
<text x="29.67" y="527.5"/>
</g>
<g>
<title>caml_apply2 (4,465,188 samples, 0.02%)</title><rect x="1134.5" y="261" width="0.2" height="15.0" fill="rgb(205,4,1)" rx="2" ry="2"/>
<text x="1137.51" y="271.5"/>
</g>
<g>
<title>mc_sha256_finalize (19,742,601 samples, 0.07%)</title><rect x="182.6" y="213" width="0.8" height="15.0" fill="rgb(246,188,45)" rx="2" ry="2"/>
<text x="185.56" y="223.5"/>
</g>
<g>
<title>speed.exe (28,681,674,407 samples, 100.00%)</title><rect x="10.0" y="549" width="1180.0" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2"/>
<text x="13.00" y="559.5">speed.exe</text>
</g>
<g>
<title>fiat_np256_mulx_u64 (2,557,929 samples, 0.01%)</title><rect x="181.5" y="213" width="0.1" height="15.0" fill="rgb(237,150,35)" rx="2" ry="2"/>
<text x="184.54" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_pk.Rsa.fun_2060 (6,375,214 samples, 0.02%)</title><rect x="180.1" y="389" width="0.2" height="15.0" fill="rgb(242,174,41)" rx="2" ry="2"/>
<text x="183.08" y="399.5"/>
</g>
<g>
<title>fiat_np256_addcarryx_u64 (3,055,594 samples, 0.01%)</title><rect x="234.9" y="213" width="0.1" height="15.0" fill="rgb(206,4,1)" rx="2" ry="2"/>
<text x="237.85" y="223.5"/>
</g>
<g>
<title>__gmpz_tdiv_r (6,348,316 samples, 0.02%)</title><rect x="179.8" y="261" width="0.2" height="15.0" fill="rgb(205,1,0)" rx="2" ry="2"/>
<text x="182.76" y="271.5"/>
</g>
<g>
<title>Mirage_crypto_ec.sign_octets_1259 (186,904,424 samples, 0.65%)</title><rect x="1180.6" y="293" width="7.7" height="15.0" fill="rgb(217,58,14)" rx="2" ry="2"/>
<text x="1183.59" y="303.5"/>
</g>
<g>
<title>_mc_sha256_finalize (8,924,929 samples, 0.03%)</title><rect x="186.0" y="181" width="0.4" height="15.0" fill="rgb(232,125,30)" rx="2" ry="2"/>
<text x="189.00" y="191.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.finalize_545 (18,472,108 samples, 0.06%)</title><rect x="184.8" y="229" width="0.7" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2"/>
<text x="187.77" y="239.5"/>
</g>
<g>
<title>tick_sched_timer (3,202,270 samples, 0.01%)</title><rect x="414.9" y="85" width="0.2" height="15.0" fill="rgb(254,227,54)" rx="2" ry="2"/>
<text x="417.95" y="95.5"/>
</g>
<g>
<title>fiat_p256_subborrowx_u64 (100,030,935 samples, 0.35%)</title><rect x="253.8" y="181" width="4.1" height="15.0" fill="rgb(215,47,11)" rx="2" ry="2"/>
<text x="256.83" y="191.5"/>
</g>
<g>
<title>mc_sha256_finalize (2,558,404 samples, 0.01%)</title><rect x="187.2" y="181" width="0.1" height="15.0" fill="rgb(246,188,45)" rx="2" ry="2"/>
<text x="190.23" y="191.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1809 (30,972,386 samples, 0.11%)</title><rect x="1181.4" y="229" width="1.3" height="15.0" fill="rgb(249,204,48)" rx="2" ry="2"/>
<text x="1184.42" y="239.5"/>
</g>
<g>
<title>caml_major_collection_slice (4,445,974 samples, 0.02%)</title><rect x="1095.2" y="181" width="0.2" height="15.0" fill="rgb(225,94,22)" rx="2" ry="2"/>
<text x="1098.20" y="191.5"/>
</g>
<g>
<title>point_double (8,220,000 samples, 0.03%)</title><rect x="177.8" y="293" width="0.3" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2"/>
<text x="180.78" y="303.5"/>
</g>
<g>
<title>Stdlib.List.iter_261 (24,495,680,590 samples, 85.41%)</title><rect x="180.7" y="389" width="1007.8" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="183.70" y="399.5">Stdlib.List.iter_261</text>
</g>
<g>
<title>fiat_p256_add (1,662,853,484 samples, 5.80%)</title><rect x="648.0" y="197" width="68.4" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="650.97" y="207.5">fiat_p2..</text>
</g>
<g>
<title>Stdlib.Bytes.make_93 (3,187,856 samples, 0.01%)</title><rect x="1180.2" y="229" width="0.1" height="15.0" fill="rgb(240,162,38)" rx="2" ry="2"/>
<text x="1183.20" y="239.5"/>
</g>
<g>
<title>ror32 (3,830,938 samples, 0.01%)</title><rect x="1185.7" y="149" width="0.2" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="1188.75" y="159.5"/>
</g>
<g>
<title>Eqaf.compare_be_305 (2,558,512 samples, 0.01%)</title><rect x="235.1" y="245" width="0.1" height="15.0" fill="rgb(210,26,6)" rx="2" ry="2"/>
<text x="238.05" y="255.5"/>
</g>
<g>
<title>Stdlib.Bytes.make_93 (376,880,761 samples, 1.31%)</title><rect x="1085.8" y="229" width="15.5" height="15.0" fill="rgb(240,162,38)" rx="2" ry="2"/>
<text x="1088.76" y="239.5"/>
</g>
<g>
<title>Mirage_crypto_ec.from_montgomery_1102 (2,554,371 samples, 0.01%)</title><rect x="1135.1" y="261" width="0.1" height="15.0" fill="rgb(244,182,43)" rx="2" ry="2"/>
<text x="1138.13" y="271.5"/>
</g>
<g>
<title>Mirage_crypto_ec.inv_682 (3,036,716 samples, 0.01%)</title><rect x="178.9" y="325" width="0.1" height="15.0" fill="rgb(244,182,43)" rx="2" ry="2"/>
<text x="181.85" y="335.5"/>
</g>
<g>
<title>fiat_p521_square (8,882,560 samples, 0.03%)</title><rect x="178.4" y="277" width="0.3" height="15.0" fill="rgb(223,84,20)" rx="2" ry="2"/>
<text x="181.38" y="287.5"/>
</g>
<g>
<title>[speed.exe] (22,208,356 samples, 0.08%)</title><rect x="43.8" y="533" width="0.9" height="15.0" fill="rgb(230,116,27)" rx="2" ry="2"/>
<text x="46.80" y="543.5"/>
</g>
<g>
<title>fiat_p256_divstep (6,785,166 samples, 0.02%)</title><rect x="52.4" y="517" width="0.3" height="15.0" fill="rgb(230,117,28)" rx="2" ry="2"/>
<text x="55.41" y="527.5"/>
</g>
<g>
<title>fiat_p256_mul (73,246,105 samples, 0.26%)</title><rect x="52.7" y="517" width="3.0" height="15.0" fill="rgb(227,104,24)" rx="2" ry="2"/>
<text x="55.69" y="527.5"/>
</g>
<g>
<title>caml_apply3 (3,836,132 samples, 0.01%)</title><rect x="33.2" y="517" width="0.2" height="15.0" fill="rgb(249,204,48)" rx="2" ry="2"/>
<text x="36.24" y="527.5"/>
</g>
<g>
<title>fiat_p256_mulx_u64 (1,075,686,645 samples, 3.75%)</title><rect x="997.0" y="181" width="44.3" height="15.0" fill="rgb(248,199,47)" rx="2" ry="2"/>
<text x="1000.03" y="191.5">fiat..</text>
</g>
<g>
<title>fiat_p521_mul (4,436,142 samples, 0.02%)</title><rect x="178.2" y="277" width="0.2" height="15.0" fill="rgb(210,23,5)" rx="2" ry="2"/>
<text x="181.20" y="287.5"/>
</g>
<g>
<title>caml_alloc_string (163,719,423 samples, 0.57%)</title><rect x="1121.3" y="213" width="6.8" height="15.0" fill="rgb(206,8,1)" rx="2" ry="2"/>
<text x="1124.35" y="223.5"/>
</g>
<g>
<title>Cstruct.create_919 (3,829,518 samples, 0.01%)</title><rect x="1186.0" y="213" width="0.1" height="15.0" fill="rgb(236,146,34)" rx="2" ry="2"/>
<text x="1188.98" y="223.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.finalize_545 (10,846,917 samples, 0.04%)</title><rect x="185.9" y="229" width="0.5" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2"/>
<text x="188.92" y="239.5"/>
</g>
<g>
<title>mc_p256_point_double (8,910,613 samples, 0.03%)</title><rect x="38.6" y="517" width="0.4" height="15.0" fill="rgb(210,24,5)" rx="2" ry="2"/>
<text x="41.64" y="527.5"/>
</g>
<g>
<title>_int_free (2,517,614 samples, 0.01%)</title><rect x="1094.9" y="133" width="0.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2"/>
<text x="1097.89" y="143.5"/>
</g>
<g>
<title>__gmpn_sbpi1_div_qr (3,830,540 samples, 0.01%)</title><rect x="180.1" y="229" width="0.2" height="15.0" fill="rgb(244,180,43)" rx="2" ry="2"/>
<text x="183.10" y="239.5"/>
</g>
<g>
<title>Mirage_crypto_ec.x_of_finite_point_mod_n_1252 (1,105,692,995 samples, 3.86%)</title><rect x="1135.1" y="277" width="45.5" height="15.0" fill="rgb(220,70,16)" rx="2" ry="2"/>
<text x="1138.10" y="287.5">Mira..</text>
</g>
<g>
<title>fe_nz (5,732,736 samples, 0.02%)</title><rect x="246.8" y="197" width="0.2" height="15.0" fill="rgb(239,160,38)" rx="2" ry="2"/>
<text x="249.77" y="207.5"/>
</g>
<g>
<title>fiat_p256_subborrowx_u64 (249,396,326 samples, 0.87%)</title><rect x="838.3" y="181" width="10.3" height="15.0" fill="rgb(215,47,11)" rx="2" ry="2"/>
<text x="841.34" y="191.5"/>
</g>
<g>
<title>Cstruct.create_unsafe_790 (4,467,043 samples, 0.02%)</title><rect x="1187.4" y="213" width="0.2" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="1190.39" y="223.5"/>
</g>
<g>
<title>ror32 (5,116,743 samples, 0.02%)</title><rect x="183.9" y="133" width="0.2" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="186.87" y="143.5"/>
</g>
<g>
<title>mc_p256_point_double (10,821,203,286 samples, 37.73%)</title><rect x="638.3" y="229" width="445.2" height="15.0" fill="rgb(210,24,5)" rx="2" ry="2"/>
<text x="641.28" y="239.5">mc_p256_point_double</text>
</g>
<g>
<title>mc_p256_inv (14,029,971 samples, 0.05%)</title><rect x="35.6" y="517" width="0.6" height="15.0" fill="rgb(253,223,53)" rx="2" ry="2"/>
<text x="38.63" y="527.5"/>
</g>
<g>
<title>caml_ba_create (10,805,569 samples, 0.04%)</title><rect x="1187.7" y="165" width="0.5" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="1190.73" y="175.5"/>
</g>
<g>
<title>mc_sha256_finalize (29,244,042 samples, 0.10%)</title><rect x="1186.1" y="197" width="1.2" height="15.0" fill="rgb(246,188,45)" rx="2" ry="2"/>
<text x="1189.14" y="207.5"/>
</g>
<g>
<title>Stdlib.Bigarray.create_379 (3,081,485 samples, 0.01%)</title><rect x="185.5" y="197" width="0.2" height="15.0" fill="rgb(227,103,24)" rx="2" ry="2"/>
<text x="188.53" y="207.5"/>
</g>
<g>
<title>Mirage_crypto_ec.do_sign_1267 (24,291,662,395 samples, 84.69%)</title><rect x="181.2" y="293" width="999.4" height="15.0" fill="rgb(211,31,7)" rx="2" ry="2"/>
<text x="184.20" y="303.5">Mirage_crypto_ec.do_sign_1267</text>
</g>
<g>
<title>_mc_sha256_finalize (15,919,767 samples, 0.06%)</title><rect x="184.9" y="181" width="0.6" height="15.0" fill="rgb(232,125,30)" rx="2" ry="2"/>
<text x="187.88" y="191.5"/>
</g>
<g>
<title>caml_call_gc (2,550,845 samples, 0.01%)</title><rect x="1134.4" y="245" width="0.1" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="1137.40" y="255.5"/>
</g>
<g>
<title>Mirage_crypto_ec.double_842 (6,402,377 samples, 0.02%)</title><rect x="636.0" y="261" width="0.2" height="15.0" fill="rgb(206,7,1)" rx="2" ry="2"/>
<text x="638.98" y="271.5"/>
</g>
<g>
<title>__getrusage (58,737,064 samples, 0.20%)</title><rect x="173.9" y="341" width="2.5" height="15.0" fill="rgb(239,158,37)" rx="2" ry="2"/>
<text x="176.95" y="351.5"/>
</g>
<g>
<title>mc_p256_point_double (3,700,924 samples, 0.01%)</title><rect x="177.6" y="309" width="0.2" height="15.0" fill="rgb(210,24,5)" rx="2" ry="2"/>
<text x="180.63" y="319.5"/>
</g>
<g>
<title>caml_create_bytes (30,172,406 samples, 0.11%)</title><rect x="1096.3" y="213" width="1.2" height="15.0" fill="rgb(252,216,51)" rx="2" ry="2"/>
<text x="1099.29" y="223.5"/>
</g>
<g>
<title>caml_alloc_small_dispatch (10,203,311 samples, 0.04%)</title><rect x="1127.7" y="197" width="0.4" height="15.0" fill="rgb(229,110,26)" rx="2" ry="2"/>
<text x="1130.66" y="207.5"/>
</g>
<g>
<title>Stdlib.Bigarray.create_379 (11,446,678 samples, 0.04%)</title><rect x="1187.7" y="181" width="0.5" height="15.0" fill="rgb(227,103,24)" rx="2" ry="2"/>
<text x="1190.70" y="191.5"/>
</g>
<g>
<title>task_sched_runtime (6,355,818 samples, 0.02%)</title><rect x="174.6" y="213" width="0.3" height="15.0" fill="rgb(236,144,34)" rx="2" ry="2"/>
<text x="177.65" y="223.5"/>
</g>
<g>
<title>fe_cmovznz (124,710,206 samples, 0.43%)</title><rect x="1114.5" y="197" width="5.1" height="15.0" fill="rgb(228,109,26)" rx="2" ry="2"/>
<text x="1117.47" y="207.5"/>
</g>
<g>
<title>__gmpz_stronglucas (21,658,520 samples, 0.08%)</title><rect x="179.2" y="293" width="0.9" height="15.0" fill="rgb(207,10,2)" rx="2" ry="2"/>
<text x="182.16" y="303.5"/>
</g>
<g>
<title>sysvec_apic_timer_interrupt (2,563,290 samples, 0.01%)</title><rect x="472.0" y="149" width="0.1" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2"/>
<text x="475.04" y="159.5"/>
</g>
<g>
<title>__gmpn_sub_n (2,555,496 samples, 0.01%)</title><rect x="69.2" y="533" width="0.2" height="15.0" fill="rgb(212,36,8)" rx="2" ry="2"/>
<text x="72.25" y="543.5"/>
</g>
<g>
<title>mc_np256_to_montgomery (10,843,576 samples, 0.04%)</title><rect x="181.3" y="245" width="0.4" height="15.0" fill="rgb(225,96,23)" rx="2" ry="2"/>
<text x="184.25" y="255.5"/>
</g>
<g>
<title>Mirage_crypto_pk.Dh.s_group_489 (3,252,159 samples, 0.01%)</title><rect x="1188.5" y="389" width="0.2" height="15.0" fill="rgb(227,104,24)" rx="2" ry="2"/>
<text x="1191.54" y="399.5"/>
</g>
<g>
<title>Stdlib.Bigarray.create_379 (2,525,995 samples, 0.01%)</title><rect x="187.1" y="165" width="0.1" height="15.0" fill="rgb(227,103,24)" rx="2" ry="2"/>
<text x="190.13" y="175.5"/>
</g>
<g>
<title>Cstruct.of_data_abstract_inner_2673 (2,528,130 samples, 0.01%)</title><rect x="1180.8" y="261" width="0.1" height="15.0" fill="rgb(232,125,29)" rx="2" ry="2"/>
<text x="1183.83" y="271.5"/>
</g>
<g>
<title>[[stack]] (353,542,235 samples, 1.23%)</title><rect x="10.4" y="533" width="14.5" height="15.0" fill="rgb(236,145,34)" rx="2" ry="2"/>
<text x="13.39" y="543.5"/>
</g>
<g>
<title>asm_sysvec_apic_timer_interrupt (2,561,706 samples, 0.01%)</title><rect x="805.9" y="165" width="0.1" height="15.0" fill="rgb(232,127,30)" rx="2" ry="2"/>
<text x="808.87" y="175.5"/>
</g>
<g>
<title>Mirage_crypto_ec.select_855 (788,497,455 samples, 2.75%)</title><rect x="1102.1" y="261" width="32.4" height="15.0" fill="rgb(248,199,47)" rx="2" ry="2"/>
<text x="1105.07" y="271.5">Mi..</text>
</g>
<g>
<title>__gmpn_tdiv_qr (12,127,789 samples, 0.04%)</title><rect x="179.3" y="245" width="0.5" height="15.0" fill="rgb(252,220,52)" rx="2" ry="2"/>
<text x="182.26" y="255.5"/>
</g>
<g>
<title>__gmpn_fib2m (14,670,893 samples, 0.05%)</title><rect x="179.2" y="261" width="0.6" height="15.0" fill="rgb(221,75,18)" rx="2" ry="2"/>
<text x="182.16" y="271.5"/>
</g>
<g>
<title>fiat_np256_divstep (1,136,523,736 samples, 3.96%)</title><rect x="187.8" y="197" width="46.8" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2"/>
<text x="190.83" y="207.5">fiat..</text>
</g>
<g>
<title>fiat_p256_from_montgomery (3,739,880 samples, 0.01%)</title><rect x="1135.5" y="197" width="0.2" height="15.0" fill="rgb(216,54,13)" rx="2" ry="2"/>
<text x="1138.54" y="207.5"/>
</g>
<g>
<title>point_double (108,649,433 samples, 0.38%)</title><rect x="39.3" y="517" width="4.5" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2"/>
<text x="42.30" y="527.5"/>
</g>
<g>
<title>point_add (9,430,798,850 samples, 32.88%)</title><rect x="239.0" y="213" width="388.0" height="15.0" fill="rgb(252,218,52)" rx="2" ry="2"/>
<text x="242.02" y="223.5">point_add</text>
</g>
<g>
<title>Dune.exe.Speed.count_436 (24,493,161,213 samples, 85.40%)</title><rect x="180.7" y="341" width="1007.7" height="15.0" fill="rgb(223,83,19)" rx="2" ry="2"/>
<text x="183.73" y="351.5">Dune.exe.Speed.count_436</text>
</g>
<g>
<title>__GI___libc_free (4,429,130 samples, 0.02%)</title><rect x="1094.8" y="149" width="0.2" height="15.0" fill="rgb(252,218,52)" rx="2" ry="2"/>
<text x="1097.81" y="159.5"/>
</g>
<g>
<title>fiat_p256_cmovznz_u64 (148,385,470 samples, 0.52%)</title><rect x="681.9" y="181" width="6.1" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="684.90" y="191.5"/>
</g>
<g>
<title>fiat_p256_square (46,111,144 samples, 0.16%)</title><rect x="20.4" y="517" width="1.9" height="15.0" fill="rgb(241,166,39)" rx="2" ry="2"/>
<text x="23.40" y="527.5"/>
</g>
<g>
<title>scheduler_tick (2,562,464 samples, 0.01%)</title><rect x="415.0" y="37" width="0.1" height="15.0" fill="rgb(246,190,45)" rx="2" ry="2"/>
<text x="417.97" y="47.5"/>
</g>
<g>
<title>sha256_do_chunk (14,853,921 samples, 0.05%)</title><rect x="184.1" y="149" width="0.6" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="187.11" y="159.5"/>
</g>
<g>
<title>__memset_avx2_unaligned_erms (49,626,763 samples, 0.17%)</title><rect x="1130.7" y="197" width="2.0" height="15.0" fill="rgb(223,84,20)" rx="2" ry="2"/>
<text x="1133.67" y="207.5"/>
</g>
<g>
<title>mc_p256_point_double (3,807,892 samples, 0.01%)</title><rect x="10.1" y="517" width="0.1" height="15.0" fill="rgb(210,24,5)" rx="2" ry="2"/>
<text x="13.08" y="527.5"/>
</g>
<g>
<title>caml_empty_minor_heap (7,652,668 samples, 0.03%)</title><rect x="1127.7" y="165" width="0.3" height="15.0" fill="rgb(222,80,19)" rx="2" ry="2"/>
<text x="1130.69" y="175.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1737 (32,266,631 samples, 0.11%)</title><rect x="1182.8" y="213" width="1.3" height="15.0" fill="rgb(249,204,48)" rx="2" ry="2"/>
<text x="1185.78" y="223.5"/>
</g>
<g>
<title>fiat_p256_addcarryx_u64 (1,766,848,642 samples, 6.16%)</title><rect x="493.6" y="181" width="72.7" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="496.62" y="191.5">fiat_p25..</text>
</g>
<g>
<title>Dune.exe.Speed.go_236 (2,529,052,833 samples, 8.82%)</title><rect x="72.3" y="373" width="104.1" height="15.0" fill="rgb(225,96,23)" rx="2" ry="2"/>
<text x="75.31" y="383.5">Dune.exe.Spe..</text>
</g>
<g>
<title>mc_sha256_update (30,356,717 samples, 0.11%)</title><rect x="1182.8" y="181" width="1.3" height="15.0" fill="rgb(233,130,31)" rx="2" ry="2"/>
<text x="1185.80" y="191.5"/>
</g>
<g>
<title>mc_p384_point_double (8,220,000 samples, 0.03%)</title><rect x="177.8" y="309" width="0.3" height="15.0" fill="rgb(247,194,46)" rx="2" ry="2"/>
<text x="180.78" y="319.5"/>
</g>
<g>
<title>Mirage_crypto_ec.rev_string_292 (2,537,558 samples, 0.01%)</title><rect x="235.2" y="261" width="0.1" height="15.0" fill="rgb(217,56,13)" rx="2" ry="2"/>
<text x="238.21" y="271.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1807 (15,494,806 samples, 0.05%)</title><rect x="184.1" y="197" width="0.6" height="15.0" fill="rgb(212,34,8)" rx="2" ry="2"/>
<text x="187.08" y="207.5"/>
</g>
<g>
<title>Stdlib.Bigarray.create_379 (4,467,043 samples, 0.02%)</title><rect x="1187.4" y="197" width="0.2" height="15.0" fill="rgb(227,103,24)" rx="2" ry="2"/>
<text x="1190.39" y="207.5"/>
</g>
<g>
<title>memset@plt (8,924,378 samples, 0.03%)</title><rect x="634.3" y="197" width="0.4" height="15.0" fill="rgb(224,88,21)" rx="2" ry="2"/>
<text x="637.29" y="207.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1807 (16,564,892 samples, 0.06%)</title><rect x="183.4" y="197" width="0.7" height="15.0" fill="rgb(212,34,8)" rx="2" ry="2"/>
<text x="186.40" y="207.5"/>
</g>
<g>
<title>caml_alloc_string (21,578,112 samples, 0.08%)</title><rect x="46.0" y="517" width="0.9" height="15.0" fill="rgb(206,8,1)" rx="2" ry="2"/>
<text x="49.02" y="527.5"/>
</g>
<g>
<title>caml_c_call (19,776,271 samples, 0.07%)</title><rect x="1128.1" y="213" width="0.8" height="15.0" fill="rgb(217,56,13)" rx="2" ry="2"/>
<text x="1131.08" y="223.5"/>
</g>
<g>
<title>elf_dynamic_do_Rela (5,162,178 samples, 0.02%)</title><rect x="1188.8" y="437" width="0.2" height="15.0" fill="rgb(207,10,2)" rx="2" ry="2"/>
<text x="1191.79" y="447.5"/>
</g>
<g>
<title>caml_call_gc (3,835,221 samples, 0.01%)</title><rect x="1101.3" y="229" width="0.1" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="1104.26" y="239.5"/>
</g>
<g>
<title>ror32 (6,385,140 samples, 0.02%)</title><rect x="183.1" y="149" width="0.3" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="186.11" y="159.5"/>
</g>
<g>
<title>__gmpn_addmul_2 (54,857,989 samples, 0.19%)</title><rect x="60.4" y="533" width="2.2" height="15.0" fill="rgb(206,4,1)" rx="2" ry="2"/>
<text x="63.37" y="543.5"/>
</g>
<g>
<title>caml_fill_bytes (92,615,502 samples, 0.32%)</title><rect x="1129.7" y="213" width="3.8" height="15.0" fill="rgb(226,97,23)" rx="2" ry="2"/>
<text x="1132.65" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3759 (3,696,465 samples, 0.01%)</title><rect x="234.9" y="261" width="0.1" height="15.0" fill="rgb(208,16,4)" rx="2" ry="2"/>
<text x="237.85" y="271.5"/>
</g>
<g>
<title>_mc_sha256_update (8,252,353 samples, 0.03%)</title><rect x="186.4" y="149" width="0.3" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="189.37" y="159.5"/>
</g>
<g>
<title>caml_alloc_small_dispatch (2,550,845 samples, 0.01%)</title><rect x="1134.4" y="229" width="0.1" height="15.0" fill="rgb(229,110,26)" rx="2" ry="2"/>
<text x="1137.40" y="239.5"/>
</g>
<g>
<title>fiat_np256_addcarryx_u64 (6,367,439 samples, 0.02%)</title><rect x="181.3" y="213" width="0.2" height="15.0" fill="rgb(206,4,1)" rx="2" ry="2"/>
<text x="184.28" y="223.5"/>
</g>
<g>
<title>all (28,681,704,248 samples, 100%)</title><rect x="10.0" y="565" width="1180.0" height="15.0" fill="rgb(213,39,9)" rx="2" ry="2"/>
<text x="13.00" y="575.5"/>
</g>
<g>
<title>fiat_p256_square (5,079,409,167 samples, 17.71%)</title><rect x="848.6" y="197" width="209.0" height="15.0" fill="rgb(241,166,39)" rx="2" ry="2"/>
<text x="851.61" y="207.5">fiat_p256_square</text>
</g>
<g>
<title>mc_p521_point_double (15,219,841 samples, 0.05%)</title><rect x="178.1" y="309" width="0.6" height="15.0" fill="rgb(242,172,41)" rx="2" ry="2"/>
<text x="181.12" y="319.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.finalize_545 (5,723,857 samples, 0.02%)</title><rect x="187.1" y="213" width="0.2" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2"/>
<text x="190.10" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_ec.rev_string_292 (2,550,814 samples, 0.01%)</title><rect x="181.7" y="261" width="0.1" height="15.0" fill="rgb(217,56,13)" rx="2" ry="2"/>
<text x="184.70" y="271.5"/>
</g>
<g>
<title>inversion (1,148,594,487 samples, 4.00%)</title><rect x="187.6" y="229" width="47.2" height="15.0" fill="rgb(224,90,21)" rx="2" ry="2"/>
<text x="190.57" y="239.5">inve..</text>
</g>
<g>
<title>Cstruct.create_unsafe_790 (3,829,518 samples, 0.01%)</title><rect x="1186.0" y="197" width="0.1" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="1188.98" y="207.5"/>
</g>
<g>
<title>Mirage_crypto_ec.add_point_714 (9,685,600,126 samples, 33.77%)</title><rect x="236.6" y="261" width="398.5" height="15.0" fill="rgb(210,25,6)" rx="2" ry="2"/>
<text x="239.59" y="271.5">Mirage_crypto_ec.add_point_714</text>
</g>
<g>
<title>caml_ba_create (4,467,043 samples, 0.02%)</title><rect x="1187.4" y="181" width="0.2" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="1190.39" y="191.5"/>
</g>
<g>
<title>Stdlib.Bigarray.create_379 (4,436,806 samples, 0.02%)</title><rect x="1181.2" y="197" width="0.2" height="15.0" fill="rgb(227,103,24)" rx="2" ry="2"/>
<text x="1184.21" y="207.5"/>
</g>
<g>
<title>tick_sched_timer (3,191,993 samples, 0.01%)</title><rect x="566.1" y="85" width="0.1" height="15.0" fill="rgb(254,227,54)" rx="2" ry="2"/>
<text x="569.10" y="95.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1807 (30,356,717 samples, 0.11%)</title><rect x="1182.8" y="197" width="1.3" height="15.0" fill="rgb(212,34,8)" rx="2" ry="2"/>
<text x="1185.80" y="207.5"/>
</g>
<g>
<title>Cstruct.create_unsafe_790 (2,552,341 samples, 0.01%)</title><rect x="184.8" y="197" width="0.1" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="187.77" y="207.5"/>
</g>
<g>
<title>Stdlib.Bytes.make_93 (162,365,271 samples, 0.57%)</title><rect x="628.0" y="229" width="6.7" height="15.0" fill="rgb(240,162,38)" rx="2" ry="2"/>
<text x="630.97" y="239.5"/>
</g>
<g>
<title>fiat_np256_from_montgomery (2,554,371 samples, 0.01%)</title><rect x="1135.1" y="213" width="0.1" height="15.0" fill="rgb(206,6,1)" rx="2" ry="2"/>
<text x="1138.13" y="223.5"/>
</g>
<g>
<title>fiat_p521_addcarryx_u64 (8,254,158 samples, 0.03%)</title><rect x="178.4" y="261" width="0.3" height="15.0" fill="rgb(248,202,48)" rx="2" ry="2"/>
<text x="181.38" y="271.5"/>
</g>
<g>
<title>mc_np256_mul (3,696,465 samples, 0.01%)</title><rect x="234.9" y="245" width="0.1" height="15.0" fill="rgb(236,145,34)" rx="2" ry="2"/>
<text x="237.85" y="255.5"/>
</g>
<g>
<title>fiat_p256_mul (57,566,083 samples, 0.20%)</title><rect x="18.0" y="517" width="2.4" height="15.0" fill="rgb(227,104,24)" rx="2" ry="2"/>
<text x="21.03" y="527.5"/>
</g>
<g>
<title>__gmpn_copyi (2,543,104 samples, 0.01%)</title><rect x="179.2" y="245" width="0.1" height="15.0" fill="rgb(228,109,26)" rx="2" ry="2"/>
<text x="182.16" y="255.5"/>
</g>
<g>
<title>do_syscall_64 (46,669,117 samples, 0.16%)</title><rect x="174.1" y="309" width="1.9" height="15.0" fill="rgb(209,20,4)" rx="2" ry="2"/>
<text x="177.10" y="319.5"/>
</g>
<g>
<title>Eqaf.compare_be_305 (6,943,608 samples, 0.02%)</title><rect x="182.1" y="245" width="0.3" height="15.0" fill="rgb(210,26,6)" rx="2" ry="2"/>
<text x="185.07" y="255.5"/>
</g>
<g>
<title>point_double (3,700,924 samples, 0.01%)</title><rect x="177.6" y="293" width="0.2" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2"/>
<text x="180.63" y="303.5"/>
</g>
<g>
<title>_mc_sha256_update (19,742,601 samples, 0.07%)</title><rect x="182.6" y="181" width="0.8" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="185.56" y="191.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3720 (9,470,030,502 samples, 33.02%)</title><rect x="237.4" y="245" width="389.6" height="15.0" fill="rgb(236,143,34)" rx="2" ry="2"/>
<text x="240.40" y="255.5">Mirage_crypto_ec.fun_3720</text>
</g>
<g>
<title>Mirage_crypto_ec.fun_3771 (2,554,371 samples, 0.01%)</title><rect x="1135.1" y="245" width="0.1" height="15.0" fill="rgb(247,195,46)" rx="2" ry="2"/>
<text x="1138.13" y="255.5"/>
</g>
<g>
<title>Mirage_crypto_ec.scalar_mult_956 (59,246,794 samples, 0.21%)</title><rect x="176.4" y="357" width="2.5" height="15.0" fill="rgb(229,112,26)" rx="2" ry="2"/>
<text x="179.41" y="367.5"/>
</g>
<g>
<title>__gmpz_millerrabin (21,658,520 samples, 0.08%)</title><rect x="179.2" y="309" width="0.9" height="15.0" fill="rgb(239,159,38)" rx="2" ry="2"/>
<text x="182.16" y="319.5"/>
</g>
<g>
<title>Mirage_crypto_pk.Dsa.priv_342 (23,567,687 samples, 0.08%)</title><rect x="179.1" y="389" width="1.0" height="15.0" fill="rgb(211,31,7)" rx="2" ry="2"/>
<text x="182.11" y="399.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3694 (7,602,052 samples, 0.03%)</title><rect x="1179.9" y="229" width="0.3" height="15.0" fill="rgb(221,76,18)" rx="2" ry="2"/>
<text x="1182.88" y="239.5"/>
</g>
<g>
<title>[unknown] (379,318,757 samples, 1.32%)</title><rect x="44.7" y="533" width="15.6" height="15.0" fill="rgb(210,24,5)" rx="2" ry="2"/>
<text x="47.71" y="543.5"/>
</g>
<g>
<title>Cstruct.concat_1395 (5,016,780 samples, 0.02%)</title><rect x="1181.0" y="245" width="0.2" height="15.0" fill="rgb(207,10,2)" rx="2" ry="2"/>
<text x="1183.98" y="255.5"/>
</g>
<g>
<title>fiat_p256_cmovznz_u64 (113,550,067 samples, 0.40%)</title><rect x="992.4" y="181" width="4.6" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="995.35" y="191.5"/>
</g>
<g>
<title>mc_sha256_update (15,494,806 samples, 0.05%)</title><rect x="184.1" y="181" width="0.6" height="15.0" fill="rgb(233,130,31)" rx="2" ry="2"/>
<text x="187.08" y="191.5"/>
</g>
<g>
<title>fiat_p521_mulx_u64 (2,537,748 samples, 0.01%)</title><rect x="177.3" y="261" width="0.1" height="15.0" fill="rgb(230,117,28)" rx="2" ry="2"/>
<text x="180.32" y="271.5"/>
</g>
<g>
<title>caml_apply4 (21,629,185 samples, 0.08%)</title><rect x="1133.5" y="229" width="0.9" height="15.0" fill="rgb(243,175,41)" rx="2" ry="2"/>
<text x="1136.51" y="239.5"/>
</g>
<g>
<title>main (27,138,147,338 samples, 94.62%)</title><rect x="72.3" y="485" width="1116.5" height="15.0" fill="rgb(243,179,42)" rx="2" ry="2"/>
<text x="75.26" y="495.5">main</text>
</g>
<g>
<title>Mirage_crypto_ec.rev_string_292 (6,396,211 samples, 0.02%)</title><rect x="235.3" y="277" width="0.3" height="15.0" fill="rgb(217,56,13)" rx="2" ry="2"/>
<text x="238.31" y="287.5"/>
</g>
<g>
<title>fiat_np256_to_montgomery (3,174,539 samples, 0.01%)</title><rect x="1180.4" y="213" width="0.2" height="15.0" fill="rgb(206,6,1)" rx="2" ry="2"/>
<text x="1183.43" y="223.5"/>
</g>
<g>
<title>Cstruct.create_unsafe_790 (4,436,806 samples, 0.02%)</title><rect x="1181.2" y="213" width="0.2" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="1184.21" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3763 (1,148,594,487 samples, 4.00%)</title><rect x="187.6" y="261" width="47.2" height="15.0" fill="rgb(240,165,39)" rx="2" ry="2"/>
<text x="190.57" y="271.5">Mira..</text>
</g>
<g>
<title>Mirage_crypto.Hash.hmaci_648 (29,251,396 samples, 0.10%)</title><rect x="186.4" y="229" width="1.2" height="15.0" fill="rgb(214,43,10)" rx="2" ry="2"/>
<text x="189.37" y="239.5"/>
</g>
<g>
<title>__gmpz_stronglucas (5,746,100 samples, 0.02%)</title><rect x="180.1" y="293" width="0.2" height="15.0" fill="rgb(207,10,2)" rx="2" ry="2"/>
<text x="183.10" y="303.5"/>
</g>
<g>
<title>__gmpz_lucas_mod (6,354,270 samples, 0.02%)</title><rect x="180.4" y="277" width="0.3" height="15.0" fill="rgb(248,197,47)" rx="2" ry="2"/>
<text x="183.44" y="287.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3718 (3,700,924 samples, 0.01%)</title><rect x="177.6" y="325" width="0.2" height="15.0" fill="rgb(240,165,39)" rx="2" ry="2"/>
<text x="180.63" y="335.5"/>
</g>
<g>
<title>Mirage_crypto_pk.Rsa.priv_of_primes_502 (7,621,886 samples, 0.03%)</title><rect x="180.4" y="389" width="0.3" height="15.0" fill="rgb(243,175,42)" rx="2" ry="2"/>
<text x="183.39" y="399.5"/>
</g>
<g>
<title>caml_sys_time_unboxed (61,889,921 samples, 0.22%)</title><rect x="173.8" y="357" width="2.6" height="15.0" fill="rgb(212,35,8)" rx="2" ry="2"/>
<text x="176.82" y="367.5"/>
</g>
<g>
<title>caml_ba_alloc (2,538,159 samples, 0.01%)</title><rect x="185.6" y="165" width="0.1" height="15.0" fill="rgb(230,115,27)" rx="2" ry="2"/>
<text x="188.55" y="175.5"/>
</g>
<g>
<title>fiat_np256_value_barrier_u64 (6,395,252 samples, 0.02%)</title><rect x="219.5" y="165" width="0.3" height="15.0" fill="rgb(212,33,8)" rx="2" ry="2"/>
<text x="222.52" y="175.5"/>
</g>
<g>
<title>Mirage_crypto_ec.out_point_704 (9,574,868 samples, 0.03%)</title><rect x="26.9" y="517" width="0.4" height="15.0" fill="rgb(213,38,9)" rx="2" ry="2"/>
<text x="29.91" y="527.5"/>
</g>
<g>
<title>caml_ba_create (2,542,421 samples, 0.01%)</title><rect x="187.4" y="149" width="0.1" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="190.41" y="159.5"/>
</g>
<g>
<title>Mirage_crypto_ec.select_855 (2,465,444 samples, 0.01%)</title><rect x="178.7" y="341" width="0.2" height="15.0" fill="rgb(248,199,47)" rx="2" ry="2"/>
<text x="181.75" y="351.5"/>
</g>
<g>
<title>__gmpz_lucas_mod (6,987,627 samples, 0.02%)</title><rect x="179.8" y="277" width="0.3" height="15.0" fill="rgb(248,197,47)" rx="2" ry="2"/>
<text x="182.76" y="287.5"/>
</g>
<g>
<title>caml_empty_minor_heap (2,434,916 samples, 0.01%)</title><rect x="1101.9" y="197" width="0.1" height="15.0" fill="rgb(222,80,19)" rx="2" ry="2"/>
<text x="1104.94" y="207.5"/>
</g>
<g>
<title>__gmpn_strongfibo (3,830,540 samples, 0.01%)</title><rect x="180.1" y="277" width="0.2" height="15.0" fill="rgb(209,22,5)" rx="2" ry="2"/>
<text x="183.10" y="287.5"/>
</g>
<g>
<title>mc_p256_inv (1,071,489,326 samples, 3.74%)</title><rect x="1135.7" y="213" width="44.1" height="15.0" fill="rgb(253,223,53)" rx="2" ry="2"/>
<text x="1138.72" y="223.5">mc_p..</text>
</g>
<g>
<title>Cstruct.create_unsafe_790 (3,821,141 samples, 0.01%)</title><rect x="185.7" y="197" width="0.2" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="188.71" y="207.5"/>
</g>
<g>
<title>Mirage_crypto.Uncommon.clone_338 (3,180,757 samples, 0.01%)</title><rect x="187.4" y="197" width="0.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2"/>
<text x="190.39" y="207.5"/>
</g>
<g>
<title>_dl_start (6,084,015 samples, 0.02%)</title><rect x="1188.8" y="517" width="0.2" height="15.0" fill="rgb(237,151,36)" rx="2" ry="2"/>
<text x="1191.76" y="527.5"/>
</g>
<g>
<title>asm_sysvec_apic_timer_interrupt (5,113,728 samples, 0.02%)</title><rect x="566.1" y="165" width="0.2" height="15.0" fill="rgb(232,127,30)" rx="2" ry="2"/>
<text x="569.10" y="175.5"/>
</g>
<g>
<title>fiat_p256_cmovznz_u64 (55,898,391 samples, 0.19%)</title><rect x="566.3" y="181" width="2.3" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="569.31" y="191.5"/>
</g>
<g>
<title>Mirage_crypto_ec.add_point_714 (25,912,049 samples, 0.09%)</title><rect x="176.4" y="341" width="1.1" height="15.0" fill="rgb(210,25,6)" rx="2" ry="2"/>
<text x="179.41" y="351.5"/>
</g>
<g>
<title>fiat_p384_addcarryx_u64 (5,012,431 samples, 0.02%)</title><rect x="177.9" y="261" width="0.2" height="15.0" fill="rgb(253,224,53)" rx="2" ry="2"/>
<text x="180.87" y="271.5"/>
</g>
<g>
<title>Stdlib.Bigarray.create_379 (3,109,846 samples, 0.01%)</title><rect x="1181.0" y="213" width="0.1" height="15.0" fill="rgb(227,103,24)" rx="2" ry="2"/>
<text x="1183.98" y="223.5"/>
</g>
<g>
<title>caml_ba_alloc (3,196,331 samples, 0.01%)</title><rect x="1186.0" y="149" width="0.1" height="15.0" fill="rgb(230,115,27)" rx="2" ry="2"/>
<text x="1189.01" y="159.5"/>
</g>
<g>
<title>caml_fill_bytes (16,522,222 samples, 0.06%)</title><rect x="33.6" y="517" width="0.7" height="15.0" fill="rgb(226,97,23)" rx="2" ry="2"/>
<text x="36.58" y="527.5"/>
</g>
<g>
<title>fiat_np256_addcarryx_u64 (3,154,810 samples, 0.01%)</title><rect x="234.6" y="181" width="0.1" height="15.0" fill="rgb(206,4,1)" rx="2" ry="2"/>
<text x="237.59" y="191.5"/>
</g>
<g>
<title>Mirage_crypto_ec.out_point_704 (186,985,191 samples, 0.65%)</title><rect x="627.0" y="245" width="7.7" height="15.0" fill="rgb(213,38,9)" rx="2" ry="2"/>
<text x="630.01" y="255.5"/>
</g>
<g>
<title>fiat_np256_divstep (26,076,512 samples, 0.09%)</title><rect x="12.2" y="517" width="1.0" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2"/>
<text x="15.17" y="527.5"/>
</g>
<g>
<title>caml_ba_alloc (2,542,421 samples, 0.01%)</title><rect x="187.4" y="133" width="0.1" height="15.0" fill="rgb(230,115,27)" rx="2" ry="2"/>
<text x="190.41" y="143.5"/>
</g>
<g>
<title>sha256_do_chunk (8,284,177 samples, 0.03%)</title><rect x="186.0" y="149" width="0.4" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="189.03" y="159.5"/>
</g>
<g>
<title>Mirage_crypto.Uncommon.clone_338 (5,094,606 samples, 0.02%)</title><rect x="185.7" y="213" width="0.2" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2"/>
<text x="188.66" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3716 (306,642,652 samples, 1.07%)</title><rect x="1107.0" y="229" width="12.6" height="15.0" fill="rgb(253,224,53)" rx="2" ry="2"/>
<text x="1109.98" y="239.5"/>
</g>
<g>
<title>fiat_p521_addcarryx_u64 (7,626,018 samples, 0.03%)</title><rect x="177.0" y="261" width="0.3" height="15.0" fill="rgb(248,202,48)" rx="2" ry="2"/>
<text x="180.01" y="271.5"/>
</g>
<g>
<title>__gmpz_stronglucas (6,993,012 samples, 0.02%)</title><rect x="180.4" y="293" width="0.3" height="15.0" fill="rgb(207,10,2)" rx="2" ry="2"/>
<text x="183.42" y="303.5"/>
</g>
<g>
<title>fiat_p256_subborrowx_u64 (197,115,664 samples, 0.69%)</title><rect x="591.9" y="181" width="8.1" height="15.0" fill="rgb(215,47,11)" rx="2" ry="2"/>
<text x="594.89" y="191.5"/>
</g>
<g>
<title>sysvec_apic_timer_interrupt (5,113,728 samples, 0.02%)</title><rect x="566.1" y="149" width="0.2" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2"/>
<text x="569.10" y="159.5"/>
</g>
<g>
<title>sha256_do_chunk (7,003,862 samples, 0.02%)</title><rect x="186.7" y="133" width="0.3" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="189.71" y="143.5"/>
</g>
<g>
<title>caml_ba_create (8,269,203 samples, 0.03%)</title><rect x="180.9" y="245" width="0.3" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="183.86" y="255.5"/>
</g>
<g>
<title>entry_SYSCALL_64_after_hwframe (46,669,117 samples, 0.16%)</title><rect x="174.1" y="325" width="1.9" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2"/>
<text x="177.10" y="335.5"/>
</g>
<g>
<title>mc_np256_inv (1,148,594,487 samples, 4.00%)</title><rect x="187.6" y="245" width="47.2" height="15.0" fill="rgb(243,175,41)" rx="2" ry="2"/>
<text x="190.57" y="255.5">mc_n..</text>
</g>
<g>
<title>fiat_p256_subborrowx_u64 (387,021,142 samples, 1.35%)</title><rect x="611.1" y="181" width="15.9" height="15.0" fill="rgb(215,47,11)" rx="2" ry="2"/>
<text x="614.09" y="191.5"/>
</g>
<g>
<title>fiat_p256_cmovznz_u64 (148,212,791 samples, 0.52%)</title><rect x="415.2" y="181" width="6.1" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="418.17" y="191.5"/>
</g>
<g>
<title>Mirage_crypto_ec.to_octets_828 (3,036,716 samples, 0.01%)</title><rect x="178.9" y="373" width="0.1" height="15.0" fill="rgb(252,216,51)" rx="2" ry="2"/>
<text x="181.85" y="383.5"/>
</g>
<g>
<title>Mirage_crypto_ec.sign_1287 (3,126,080 samples, 0.01%)</title><rect x="1188.3" y="325" width="0.1" height="15.0" fill="rgb(225,94,22)" rx="2" ry="2"/>
<text x="1191.28" y="335.5"/>
</g>
<g>
<title>fiat_p256_mul (7,602,052 samples, 0.03%)</title><rect x="1179.9" y="197" width="0.3" height="15.0" fill="rgb(227,104,24)" rx="2" ry="2"/>
<text x="1182.88" y="207.5"/>
</g>
<g>
<title>hrtimer_interrupt (3,833,024 samples, 0.01%)</title><rect x="566.1" y="117" width="0.2" height="15.0" fill="rgb(228,109,26)" rx="2" ry="2"/>
<text x="569.10" y="127.5"/>
</g>
<g>
<title>caml_gc_dispatch (7,652,668 samples, 0.03%)</title><rect x="1127.7" y="181" width="0.3" height="15.0" fill="rgb(235,139,33)" rx="2" ry="2"/>
<text x="1130.69" y="191.5"/>
</g>
<g>
<title>fe_cmovznz (85,506,559 samples, 0.30%)</title><rect x="243.3" y="197" width="3.5" height="15.0" fill="rgb(228,109,26)" rx="2" ry="2"/>
<text x="246.25" y="207.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1807 (29,138,276 samples, 0.10%)</title><rect x="1184.1" y="197" width="1.2" height="15.0" fill="rgb(212,34,8)" rx="2" ry="2"/>
<text x="1187.10" y="207.5"/>
</g>
<g>
<title>Mirage_crypto_ec.scalar_mult_956 (7,013,117 samples, 0.02%)</title><rect x="44.8" y="517" width="0.3" height="15.0" fill="rgb(229,112,26)" rx="2" ry="2"/>
<text x="47.76" y="527.5"/>
</g>
<g>
<title>sha256_do_chunk (8,252,353 samples, 0.03%)</title><rect x="186.4" y="133" width="0.3" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="189.37" y="143.5"/>
</g>
<g>
<title>caml_apply3 (9,375,249 samples, 0.03%)</title><rect x="1134.7" y="261" width="0.4" height="15.0" fill="rgb(249,204,48)" rx="2" ry="2"/>
<text x="1137.69" y="271.5"/>
</g>
<g>
<title>caml_fill_bytes (41,095,069 samples, 0.14%)</title><rect x="633.0" y="213" width="1.7" height="15.0" fill="rgb(226,97,23)" rx="2" ry="2"/>
<text x="635.96" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_ec.from_be_octets_1078 (14,035,682 samples, 0.05%)</title><rect x="181.3" y="277" width="0.5" height="15.0" fill="rgb(205,2,0)" rx="2" ry="2"/>
<text x="184.25" y="287.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1809 (29,244,042 samples, 0.10%)</title><rect x="1186.1" y="213" width="1.2" height="15.0" fill="rgb(249,204,48)" rx="2" ry="2"/>
<text x="1189.14" y="223.5"/>
</g>
<g>
<title>mc_p256_select (3,177,746 samples, 0.01%)</title><rect x="24.7" y="517" width="0.1" height="15.0" fill="rgb(220,71,17)" rx="2" ry="2"/>
<text x="27.67" y="527.5"/>
</g>
<g>
<title>sha256_do_chunk (30,331,172 samples, 0.11%)</title><rect x="1181.4" y="165" width="1.3" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="1184.45" y="175.5"/>
</g>
<g>
<title>fiat_p256_mulx_u64 (695,474,823 samples, 2.42%)</title><rect x="809.7" y="181" width="28.6" height="15.0" fill="rgb(248,199,47)" rx="2" ry="2"/>
<text x="812.73" y="191.5">fi..</text>
</g>
<g>
<title>fiat_p256_mul (5,650,648,126 samples, 19.70%)</title><rect x="257.9" y="197" width="232.5" height="15.0" fill="rgb(227,104,24)" rx="2" ry="2"/>
<text x="260.94" y="207.5">fiat_p256_mul</text>
</g>
<g>
<title>tick_sched_handle (2,562,464 samples, 0.01%)</title><rect x="415.0" y="69" width="0.1" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2"/>
<text x="417.97" y="79.5"/>
</g>
<g>
<title>Mirage_crypto_ec.to_montgomery_1106 (3,815,474 samples, 0.01%)</title><rect x="1180.4" y="261" width="0.2" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2"/>
<text x="1183.43" y="271.5"/>
</g>
<g>
<title>caml_ba_create (3,109,846 samples, 0.01%)</title><rect x="1181.0" y="197" width="0.1" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="1183.98" y="207.5"/>
</g>
<g>
<title>fiat_p384_mul (6,940,216 samples, 0.02%)</title><rect x="176.5" y="277" width="0.3" height="15.0" fill="rgb(214,44,10)" rx="2" ry="2"/>
<text x="179.54" y="287.5"/>
</g>
<g>
<title>caml_alloc_string (171,098,132 samples, 0.60%)</title><rect x="1088.4" y="213" width="7.0" height="15.0" fill="rgb(206,8,1)" rx="2" ry="2"/>
<text x="1091.37" y="223.5"/>
</g>
<g>
<title>fiat_p256_addcarryx_u64 (159,606,047 samples, 0.56%)</title><rect x="1062.9" y="181" width="6.5" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2"/>
<text x="1065.88" y="191.5"/>
</g>
<g>
<title>memset@plt (10,845,965 samples, 0.04%)</title><rect x="1100.8" y="197" width="0.5" height="15.0" fill="rgb(224,88,21)" rx="2" ry="2"/>
<text x="1103.82" y="207.5"/>
</g>
<g>
<title>caml_ba_alloc (4,436,806 samples, 0.02%)</title><rect x="1181.2" y="165" width="0.2" height="15.0" fill="rgb(230,115,27)" rx="2" ry="2"/>
<text x="1184.21" y="175.5"/>
</g>
<g>
<title>Mirage_crypto_ec.sign_1287 (3,184,538 samples, 0.01%)</title><rect x="179.0" y="389" width="0.1" height="15.0" fill="rgb(225,94,22)" rx="2" ry="2"/>
<text x="181.98" y="399.5"/>
</g>
<g>
<title>__gmpz_probab_prime_p (7,621,886 samples, 0.03%)</title><rect x="180.4" y="325" width="0.3" height="15.0" fill="rgb(225,96,23)" rx="2" ry="2"/>
<text x="183.39" y="335.5"/>
</g>
<g>
<title>Mirage_crypto_rng.Hmac_drbg.reseed_174 (176,115,063 samples, 0.61%)</title><rect x="1181.0" y="261" width="7.2" height="15.0" fill="rgb(241,167,40)" rx="2" ry="2"/>
<text x="1183.96" y="271.5"/>
</g>
<g>
<title>Mirage_crypto_ec.139 (5,635,774 samples, 0.02%)</title><rect x="10.0" y="533" width="0.3" height="15.0" fill="rgb(228,109,26)" rx="2" ry="2"/>
<text x="13.03" y="543.5"/>
</g>
<g>
<title>Cstruct.create_919 (5,690,265 samples, 0.02%)</title><rect x="1181.2" y="229" width="0.2" height="15.0" fill="rgb(236,146,34)" rx="2" ry="2"/>
<text x="1184.19" y="239.5"/>
</g>
<g>
<title>Cstruct.create_unsafe_790 (3,165,453 samples, 0.01%)</title><rect x="187.1" y="181" width="0.1" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="190.10" y="191.5"/>
</g>
<g>
<title>fiat_p256_mulx_u64 (1,236,480,028 samples, 4.31%)</title><rect x="421.3" y="181" width="50.8" height="15.0" fill="rgb(248,199,47)" rx="2" ry="2"/>
<text x="424.27" y="191.5">fiat_..</text>
</g>
<g>
<title>ror32 (6,928,002 samples, 0.02%)</title><rect x="1183.8" y="133" width="0.3" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="1186.77" y="143.5"/>
</g>
<g>
<title>update_process_times (2,562,464 samples, 0.01%)</title><rect x="415.0" y="53" width="0.1" height="15.0" fill="rgb(250,209,50)" rx="2" ry="2"/>
<text x="417.97" y="63.5"/>
</g>
<g>
<title>memset@plt (18,327,775 samples, 0.06%)</title><rect x="1132.7" y="197" width="0.8" height="15.0" fill="rgb(224,88,21)" rx="2" ry="2"/>
<text x="1135.71" y="207.5"/>
</g>
<g>
<title>fiat_p256_cmovznz_u64 (74,934,150 samples, 0.26%)</title><rect x="243.7" y="165" width="3.1" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="246.69" y="175.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1809 (8,924,929 samples, 0.03%)</title><rect x="186.0" y="213" width="0.4" height="15.0" fill="rgb(249,204,48)" rx="2" ry="2"/>
<text x="189.00" y="223.5"/>
</g>
<g>
<title>fiat_p384_addcarryx_u64 (4,861,350 samples, 0.02%)</title><rect x="176.6" y="261" width="0.2" height="15.0" fill="rgb(253,224,53)" rx="2" ry="2"/>
<text x="179.56" y="271.5"/>
</g>
<g>
<title>point_add (50,229,941 samples, 0.18%)</title><rect x="36.6" y="501" width="2.0" height="15.0" fill="rgb(252,218,52)" rx="2" ry="2"/>
<text x="39.58" y="511.5"/>
</g>
<g>
<title>mc_p256_select (276,026,202 samples, 0.96%)</title><rect x="1108.2" y="213" width="11.4" height="15.0" fill="rgb(220,71,17)" rx="2" ry="2"/>
<text x="1111.24" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_ec.bit_at_467 (22,230,480 samples, 0.08%)</title><rect x="635.1" y="261" width="0.9" height="15.0" fill="rgb(238,155,37)" rx="2" ry="2"/>
<text x="638.07" y="271.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3718 (10,821,203,286 samples, 37.73%)</title><rect x="638.3" y="245" width="445.2" height="15.0" fill="rgb(240,165,39)" rx="2" ry="2"/>
<text x="641.28" y="255.5">Mirage_crypto_ec.fun_3718</text>
</g>
<g>
<title>fiat_np256_addcarryx_u64 (394,479,447 samples, 1.38%)</title><rect x="193.7" y="181" width="16.2" height="15.0" fill="rgb(206,4,1)" rx="2" ry="2"/>
<text x="196.69" y="191.5"/>
</g>
<g>
<title>fiat_p256_cmovznz_u64 (7,636,629 samples, 0.03%)</title><rect x="1069.4" y="181" width="0.4" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="1072.44" y="191.5"/>
</g>
<g>
<title>__gmpn_tdiv_qr (5,715,069 samples, 0.02%)</title><rect x="179.8" y="245" width="0.2" height="15.0" fill="rgb(252,220,52)" rx="2" ry="2"/>
<text x="182.79" y="255.5"/>
</g>
<g>
<title>Mirage_crypto_pk.Dh.entry (3,252,159 samples, 0.01%)</title><rect x="1188.5" y="405" width="0.2" height="15.0" fill="rgb(231,122,29)" rx="2" ry="2"/>
<text x="1191.54" y="415.5"/>
</g>
<g>
<title>fiat_p256_sub (57,766,905 samples, 0.20%)</title><rect x="22.3" y="517" width="2.4" height="15.0" fill="rgb(253,223,53)" rx="2" ry="2"/>
<text x="25.29" y="527.5"/>
</g>
<g>
<title>caml_ba_alloc (2,552,660 samples, 0.01%)</title><rect x="185.8" y="149" width="0.1" height="15.0" fill="rgb(230,115,27)" rx="2" ry="2"/>
<text x="188.76" y="159.5"/>
</g>
<g>
<title>fiat_p256_subborrowx_u64 (689,908,622 samples, 2.41%)</title><rect x="688.0" y="181" width="28.4" height="15.0" fill="rgb(215,47,11)" rx="2" ry="2"/>
<text x="691.00" y="191.5">fi..</text>
</g>
<g>
<title>__gmpz_probab_prime_p (21,658,520 samples, 0.08%)</title><rect x="179.2" y="325" width="0.9" height="15.0" fill="rgb(225,96,23)" rx="2" ry="2"/>
<text x="182.16" y="335.5"/>
</g>
<g>
<title>caml_empty_minor_heap (2,550,845 samples, 0.01%)</title><rect x="1134.4" y="197" width="0.1" height="15.0" fill="rgb(222,80,19)" rx="2" ry="2"/>
<text x="1137.40" y="207.5"/>
</g>
<g>
<title>mc_sha256_update (16,564,892 samples, 0.06%)</title><rect x="183.4" y="181" width="0.7" height="15.0" fill="rgb(233,130,31)" rx="2" ry="2"/>
<text x="186.40" y="191.5"/>
</g>
<g>
<title>mc_p256_select (6,375,219 samples, 0.02%)</title><rect x="39.0" y="517" width="0.3" height="15.0" fill="rgb(220,71,17)" rx="2" ry="2"/>
<text x="42.01" y="527.5"/>
</g>
<g>
<title>fiat_p256_cmovznz_u64 (90,664,649 samples, 0.32%)</title><rect x="806.0" y="181" width="3.7" height="15.0" fill="rgb(221,74,17)" rx="2" ry="2"/>
<text x="809.00" y="191.5"/>
</g>
<g>
<title>dl_main (6,084,015 samples, 0.02%)</title><rect x="1188.8" y="469" width="0.2" height="15.0" fill="rgb(236,145,34)" rx="2" ry="2"/>
<text x="1191.76" y="479.5"/>
</g>
<g>
<title>mark_slice (3,172,197 samples, 0.01%)</title><rect x="1095.2" y="165" width="0.2" height="15.0" fill="rgb(230,118,28)" rx="2" ry="2"/>
<text x="1098.23" y="175.5"/>
</g>
<g>
<title>caml_gc_dispatch (2,562,227 samples, 0.01%)</title><rect x="1101.3" y="197" width="0.1" height="15.0" fill="rgb(235,139,33)" rx="2" ry="2"/>
<text x="1104.26" y="207.5"/>
</g>
<g>
<title>Dune.exe.Speed.fun_2371 (24,494,411,698 samples, 85.40%)</title><rect x="180.7" y="357" width="1007.8" height="15.0" fill="rgb(210,23,5)" rx="2" ry="2"/>
<text x="183.73" y="367.5">Dune.exe.Speed.fun_2371</text>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1807 (7,003,862 samples, 0.02%)</title><rect x="186.7" y="181" width="0.3" height="15.0" fill="rgb(212,34,8)" rx="2" ry="2"/>
<text x="189.71" y="191.5"/>
</g>
<g>
<title>fiat_p256_subborrowx_u64 (396,142,632 samples, 1.38%)</title><rect x="1041.3" y="181" width="16.3" height="15.0" fill="rgb(215,47,11)" rx="2" ry="2"/>
<text x="1044.28" y="191.5"/>
</g>
<g>
<title>__gmpn_dcpi1_div_qr (12,127,789 samples, 0.04%)</title><rect x="179.3" y="229" width="0.5" height="15.0" fill="rgb(234,136,32)" rx="2" ry="2"/>
<text x="182.26" y="239.5"/>
</g>
<g>
<title>[anon] (458,504,802 samples, 1.60%)</title><rect x="24.9" y="533" width="18.9" height="15.0" fill="rgb(210,23,5)" rx="2" ry="2"/>
<text x="27.93" y="543.5"/>
</g>
<g>
<title>_mc_sha256_update (16,564,892 samples, 0.06%)</title><rect x="183.4" y="165" width="0.7" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="186.40" y="175.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3714 (1,071,489,326 samples, 3.74%)</title><rect x="1135.7" y="229" width="44.1" height="15.0" fill="rgb(216,54,12)" rx="2" ry="2"/>
<text x="1138.72" y="239.5">Mira..</text>
</g>
<g>
<title>fiat_p256_square (2,458,048 samples, 0.01%)</title><rect x="177.7" y="277" width="0.1" height="15.0" fill="rgb(241,166,39)" rx="2" ry="2"/>
<text x="180.66" y="287.5"/>
</g>
<g>
<title>caml_call_gc (3,075,953 samples, 0.01%)</title><rect x="1101.9" y="245" width="0.2" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2"/>
<text x="1104.94" y="255.5"/>
</g>
<g>
<title>__gmpn_fib2m (3,830,540 samples, 0.01%)</title><rect x="180.1" y="261" width="0.2" height="15.0" fill="rgb(221,75,18)" rx="2" ry="2"/>
<text x="183.10" y="271.5"/>
</g>
<g>
<title>Mirage_crypto.Hash.fun_1809 (15,919,767 samples, 0.06%)</title><rect x="184.9" y="213" width="0.6" height="15.0" fill="rgb(249,204,48)" rx="2" ry="2"/>
<text x="187.88" y="223.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3773 (10,843,576 samples, 0.04%)</title><rect x="181.3" y="261" width="0.4" height="15.0" fill="rgb(234,135,32)" rx="2" ry="2"/>
<text x="184.25" y="271.5"/>
</g>
<g>
<title>caml_empty_minor_heap (5,063,764 samples, 0.02%)</title><rect x="631.9" y="165" width="0.2" height="15.0" fill="rgb(222,80,19)" rx="2" ry="2"/>
<text x="634.93" y="175.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_4028 (12,061,825 samples, 0.04%)</title><rect x="177.0" y="325" width="0.5" height="15.0" fill="rgb(223,83,20)" rx="2" ry="2"/>
<text x="179.98" y="335.5"/>
</g>
<g>
<title>caml_fill_bytes (17,106,951 samples, 0.06%)</title><rect x="50.0" y="517" width="0.7" height="15.0" fill="rgb(226,97,23)" rx="2" ry="2"/>
<text x="53.01" y="527.5"/>
</g>
<g>
<title>elf_machine_rela_relative (3,760,172 samples, 0.01%)</title><rect x="1188.9" y="421" width="0.1" height="15.0" fill="rgb(211,29,7)" rx="2" ry="2"/>
<text x="1191.85" y="431.5"/>
</g>
<g>
<title>asm_sysvec_apic_timer_interrupt (5,110,529 samples, 0.02%)</title><rect x="414.9" y="165" width="0.2" height="15.0" fill="rgb(232,127,30)" rx="2" ry="2"/>
<text x="417.92" y="175.5"/>
</g>
<g>
<title>__gmpz_millerrabin (6,993,012 samples, 0.02%)</title><rect x="180.4" y="309" width="0.3" height="15.0" fill="rgb(239,159,38)" rx="2" ry="2"/>
<text x="183.42" y="319.5"/>
</g>
<g>
<title>Stdlib.Bytes.make_93 (25,538,697 samples, 0.09%)</title><rect x="11.0" y="517" width="1.0" height="15.0" fill="rgb(240,162,38)" rx="2" ry="2"/>
<text x="13.96" y="527.5"/>
</g>
<g>
<title>sha256_do_chunk (29,138,276 samples, 0.10%)</title><rect x="1184.1" y="149" width="1.2" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="1187.10" y="159.5"/>
</g>
<g>
<title>thread_group_cputime (8,271,771 samples, 0.03%)</title><rect x="174.6" y="229" width="0.4" height="15.0" fill="rgb(252,217,52)" rx="2" ry="2"/>
<text x="177.62" y="239.5"/>
</g>
<g>
<title>_start (27,144,231,353 samples, 94.64%)</title><rect x="72.3" y="533" width="1116.7" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="75.26" y="543.5">_start</text>
</g>
<g>
<title>mc_p224_point_double (3,728,536 samples, 0.01%)</title><rect x="177.5" y="309" width="0.1" height="15.0" fill="rgb(242,172,41)" rx="2" ry="2"/>
<text x="180.48" y="319.5"/>
</g>
<g>
<title>__sysvec_apic_timer_interrupt (4,472,202 samples, 0.02%)</title><rect x="414.9" y="133" width="0.2" height="15.0" fill="rgb(242,173,41)" rx="2" ry="2"/>
<text x="417.92" y="143.5"/>
</g>
<g>
<title>Cstruct.create_unsafe_790 (3,193,502 samples, 0.01%)</title><rect x="182.4" y="213" width="0.2" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="185.43" y="223.5"/>
</g>
<g>
<title>_mc_sha256_update (29,138,276 samples, 0.10%)</title><rect x="1184.1" y="165" width="1.2" height="15.0" fill="rgb(219,67,16)" rx="2" ry="2"/>
<text x="1187.10" y="175.5"/>
</g>
<g>
<title>Mirage_crypto_ec.do_sign_1267 (3,126,080 samples, 0.01%)</title><rect x="1188.3" y="309" width="0.1" height="15.0" fill="rgb(211,31,7)" rx="2" ry="2"/>
<text x="1191.28" y="319.5"/>
</g>
<g>
<title>Mirage_crypto_ec.fun_3759 (3,842,318 samples, 0.01%)</title><rect x="1135.2" y="245" width="0.2" height="15.0" fill="rgb(208,16,4)" rx="2" ry="2"/>
<text x="1138.23" y="255.5"/>
</g>
<g>
<title>tick_sched_timer (2,561,706 samples, 0.01%)</title><rect x="805.9" y="85" width="0.1" height="15.0" fill="rgb(254,227,54)" rx="2" ry="2"/>
<text x="808.87" y="95.5"/>
</g>
<g>
<title>mc_sha256_update (8,252,353 samples, 0.03%)</title><rect x="186.4" y="165" width="0.3" height="15.0" fill="rgb(233,130,31)" rx="2" ry="2"/>
<text x="189.37" y="175.5"/>
</g>
<g>
<title>Dune.exe.Speed.entry (27,130,268,667 samples, 94.59%)</title><rect x="72.3" y="405" width="1116.2" height="15.0" fill="rgb(242,174,41)" rx="2" ry="2"/>
<text x="75.31" y="415.5">Dune.exe.Speed.entry</text>
</g>
<g>
<title>__gmpz_tdiv_r (5,087,961 samples, 0.02%)</title><rect x="180.5" y="261" width="0.2" height="15.0" fill="rgb(205,1,0)" rx="2" ry="2"/>
<text x="183.49" y="271.5"/>
</g>
<g>
<title>caml_c_call (22,208,356 samples, 0.08%)</title><rect x="43.8" y="517" width="0.9" height="15.0" fill="rgb(217,56,13)" rx="2" ry="2"/>
<text x="46.80" y="527.5"/>
</g>
<g>
<title>sha256_do_chunk (15,288,439 samples, 0.05%)</title><rect x="184.9" y="149" width="0.6" height="15.0" fill="rgb(248,200,48)" rx="2" ry="2"/>
<text x="187.90" y="159.5"/>
</g>
<g>
<title>asm_sysvec_apic_timer_interrupt (4,483,294 samples, 0.02%)</title><rect x="1189.1" y="533" width="0.1" height="15.0" fill="rgb(232,127,30)" rx="2" ry="2"/>
<text x="1192.06" y="543.5"/>
</g>
<g>
<title>Cstruct.create_unsafe_790 (3,180,757 samples, 0.01%)</title><rect x="187.4" y="181" width="0.1" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2"/>
<text x="190.39" y="191.5"/>
</g>
</g>
</svg>