Sustaining moore's law in embedded computing through probabilistic and approximate design: retrospects and prospects