It's a bit odd, but it's true. When multi addresses are generated in a wallet, no need too many, two or three addresses is enough, and then send a bit gas to each one. Then if you make a transaction and if the from address has more than double of your transfer value, the tx will be made successfully. Else, it will return Failed execution. My example is like this:

For example, when value is 150 or 140, it will choose the 5th or the 7th address. They have balance of 150, and 150 and 140 is more than 150/2, then execution failed.