It would be nice if someone could help repair this to get it working. This would be a fun way to get different digits of _PI. So far all my efforts has been useless.
By removing the animations, you probably could get the digits even faster.
I think there is a precision problem. You have to start the bounce at the precise moment of collision, not when one block is part way (no matter how little) into the other block or the wall.
You can't just say when blockSmall.x < wall.x or blockSmall.x + blockSmall.width > blockBig.x start the bounce.
Maybe if you back up the blockSmall.x when it has gone too far into wall or blockBig.x, you would also have to adjust the "bounce" of the blockBig.x from exact point in time of collision.
Append: But what if those two adjustments result in another bounce!