This is a smoke test of dex conversion, which checks to see that
an edge case of instruction format 35c works, where a reference
is made to register 15 as a category-2 value, meaning that
the instruction has to be rewritten to use a different format.

This test compares emitted code against a known-good (via eyeballing)
version, so it is possible for this test to spuriously fail if other
aspects of conversion end up altering the output in innocuous ways.
