<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Calibri" size="2"><span style="font-size:11pt;">
<div>The Julia language implements sqrt(x) with conditional branch taken if x<0.  Alas this prevents vectorization of loops with sqrt.  Often the argument can be proven to be non-negative.  E.g., sqrt(x*x+y*y).  Is there an existing LLVM pass or analysis  that
does floating-point range propagation to eliminate such unnecessary checks?</div>
<div> </div>
<div>Arch D. Robison</div>
<div>Intel Corporation</div>
<div> </div>
<div> </div>
<div> </div>
</span></font>
</body>
</html>