Proof with eauto with val_renamings.
intros; destruct v; unfold Val.maketotal;
inversion Hval_obs; subst; simpl...
match goal with
| [|- context[match ?Expr with _ => _ end]] =>
destruct Expr eqn:?
end...
unfold Coqlib.option_map in Heqo.
destruct (Floats.Float32.to_long f0); inversion Heqo...
Qed.

Lemma val_obs_singleoflong:
forall f v v'
(Hval_obs: val_obs f v v'),
val_obs f (Val.maketotal (Val.singleoflong v))
(Val.maketotal (Val.singleoflong v')).