I don't know if you can call this a bug, but it seems buggy to me. Let's take a look at the data that is actually being plotted, which you can extract using a `Reap` and `Sow` combination (thanks to @user21 for showing me this trick) Reap[LogLogPlot[Sow[{λ, Bλ[TEarth, λ]}]; Bλ[TEarth, λ], {λ, λL, λH}, Frame -> True]][[2, 1, ;; 20]] // TableForm [![enter image description here][1]][1] That would **seem** to be the big glaring problem, right there, that point of `{x,f[x]} = {-18.4207, 1.83338*10^-17}`. But I'm not actually convinced, I think that is a red herring, because you get the same x value if you replace `Bλ[TEarth, λ]` with `λ^2`. About the only thing we do learn from that table is that *Mathematica* doesn't seem to have a problem with **really** small numbers. This is apparently one of those cases where you need to use `Evaluate` in the argument to `Plot`, GraphicsRow[{ LogLogPlot[ Bλ[TEarth, λ], {λ, λL, λH}, Frame -> True], LogLogPlot[ Evaluate@ Bλ[ TEarth, λ], {λ, λL, λH}, Frame -> True] }, ImageSize -> 700] [![enter image description here][2]][2] This is a simple workaround that you can use all the time without drawback. **Edit** Here is my original answer below, which I'm leaving in only because it shows off the version 10 function [`PlanckRadiationLaw`](http://reference.wolfram.com/language/ref/PlanckRadiationLaw.html), which is a little slow for sure. @J.M. made the point of using nanometers instead of meters, and my first thought was to use atomic units instead of SI units, but you still run into the same problem when taking a `LogLog` plot. The answer is to adjust your x-axis range, no reason to go all the way down to 10 nanometers, 100 nanometers is as low as [most every](http://images.google.com/search?tbm=isch&q=sun+blackbody+curve) plot goes. Your code is just fine, but I thought I'd show off a version 10 function here, LogLogPlot[{ QuantityMagnitude[ PlanckRadiationLaw[Quantity[5778, "Kelvins"], Quantity[x, "Nanometers"]]], QuantityMagnitude[ PlanckRadiationLaw[Quantity[255, "Kelvins"], Quantity[x, "Nanometers"]]]} , {x, 10, 10^6}, AxesLabel -> {Quantity[None, "Nanometers"], Quantity[None, "Watts"/("Hertz"*"Meters"^2*"Steradians")]}] [![enter image description here][3]][3] shows the same problem, even with proper units. But if you adjust the lowest wavelength to 100 nm, then you get this: [![enter image description here][4]][4] [1]: https://i.sstatic.net/1QJ4v.png [2]: https://i.sstatic.net/C6ETY.png [3]: https://i.sstatic.net/770zK.png [4]: https://i.sstatic.net/LGFyx.png