Describir: Frameworks for Joint Verification of Security Critical Software and Microarchitecture