volatile int n; void test2 ( SV *sv ) { double d1 = n ? SvNV( sv ) : SvIV( sv ); double d2 = n ? SvNV( sv ) : SvUV( sv ); return; }