Shares of Bank of America are on sale for a limited time only. Image source: Zoonar/Thinkstock.

Bank of America's (NYSE:BAC) stock is way too cheap right now. I base this not on opinion, but instead on simple math.

Bank of America's shares currently trade for $13.50 per share, which equates to a price to book value ratio of 0.59. Meanwhile, most banks trade for 1.0 times book value or more. If history is any guide, Bank of America will be among them again in the not-too-distant future.

Shares of Wells Fargo (NYSE:WFC), for instance, are currently valued at 1.42 times book. JPMorgan Chase's (NYSE:JPM) multiple is lower, at 0.91 times book, but it's reasonable to assume it too will eclipse the 1.0 threshold.

Bank of America's shares trade for such a substantial discount to book value because its earnings have yet to fully recover from the crisis. Its return on average assets in 2015 was 0.74%.

That's low if you compare it to Bank of America's peers. Wells Fargo earned 1.32% on average assets last year. JPMorgan Chase earned 1.02%. The 1% benchmark tends to be the demarcation point between healthy banks and their ailing brethren.

Bank of America's profitability, measured by return on average assets, is also low if you compare it to the $2.1 trillion bank's own historical returns. In the decade prior to the crisis, it returned an average of 1.4% on its assets each year.

There's no doubt Bank of America made mistakes prior to the crisis that put it in this position -- most specifically giving credit cards to people who couldn't afford them and unwittingly purchasing Countrywide Financial. But there's also no doubt (at least in my mind) that it will eventually return to similar profitability levels.

Banking is cyclical. That's just how the industry works. Bank of America has survived many analogous crises in the past, and it's in the process of righting itself again.

Assuming it eventually returns to its 1.4% return on average assets -- which isn't unreasonable once interest rates normalize and its balance sheet is free of all remaining toxic assets -- Bank of America could realistically earn somewhere in the neighborhood of $2.60 per share. That's roughly twice the $1.31 per share it earned last year.

Given its current share price of $13.50, an EPS of $2.60 would translate into a price-to-earnings ratio of 5.2. Meanwhile, Wells Fargo and JPMorgan Chase's shares trade at 11.8 and 9.4 times their trailing-12-months' earnings, respectively. And the average stock on the S&P 500 is valued at 21 times earnings. That's roughly four times Bank of America's P/E ratio and double the ratios of JPMorgan Chase and Wells Fargo.

That would make Bank of America's stock cheap by almost any measure. Like, embarrassingly so. On top of this, if Bank of America ultimately distributes 40% of its earnings via dividends, which is reasonable to assume, that would equate to an implied yield based on today's price of 7.7%.

Throw in an aggressive buyback campaign – which seems inevitable, as CEO Brian Moynihan has said that reducing the dilution caused in the crisis is one of his main objectives – and you're looking at a very promising long-term investment.

Now, to be clear, Bank of America may come up short in some of these areas. However, the margin of safety that's present at today's price is more than enough to absorb a shortfall in these expectations without sacrificing respectable returns over the long run.