title: What is the computational cost of floating point Multiplication vs Addition?
body: <p>Ignoring all the other issues like memory transfer, etc.</p>
  
  <p>I'm looking for some measure of the "cost", which I guess I would quantify as the expected number of bit flips, for multiplying two random floating point (say 32-bit) numbers, vs the cost for adding.</p>
  
  <p>I guess there may be some important issues (like whether the numbers have the same exponent, etc) that may be worth considering.</p>
  
  <p>Edit: To clarify, I'm interested in the amount of energy required to perform these operations, rather than the time or amount of hardware, which is why I think "expected number of bit flips" is the quantity of interest.  I think this is a well-defined question, and there is certainly some "expected number of bit flips" required by a given algorithm to perform floating point multiplication... And I'm looking for the minimum over all algorithms.</p>
  
  <p><strong>Edit 2</strong>: Thanks all for responding.  The most relevant response I got was from njuffa, who referenced <a href="https://www.futurearchs.org/sites/default/files/horowitz-ComputingEnergyISSCC.pdf" rel="noreferrer">Mark Horowitz's estimates</a> (see page 33).   A <a href="http://ieeexplore.ieee.org/xpls/icp.jsp?arnumber=6757323" rel="noreferrer">more up-to-date paper</a> by Horowitz posts slightly different numbers, that is: </p>
  
  <pre><code>Float32 Mult: 3.7pJ.  
  Float32 Add:  0.9pJ
  Int32 Mult:   3.1pJ
  Int32 Add:    0.1pJ
  </code></pre>