Describir: Toward Reliable Programming for Unreliable Hardware.