fun testDD(x: Double?, y: Double?): Boolean { return ieee754equals(arg0 = x, arg1 = y) } fun testDF(x: Double?, y: Any?): Boolean { return when { y is Float? -> ieee754equals(arg0 = x, arg1 = { // BLOCK val tmp0_safe_receiver: Any? = y when { EQEQ(arg0 = tmp0_safe_receiver, arg1 = null) -> null else -> tmp0_safe_receiver /*as Float */.toDouble() } }) else -> false } } fun testDI(x: Double?, y: Any?): Boolean { return when { y is Int? -> ieee754equals(arg0 = x, arg1 = { // BLOCK val tmp0_safe_receiver: Any? = y when { EQEQ(arg0 = tmp0_safe_receiver, arg1 = null) -> null else -> tmp0_safe_receiver /*as Int */.toDouble() } }) else -> false } } fun testDI2(x: Any?, y: Any?): Boolean { return when { when { x is Int? -> y is Double else -> false } -> ieee754equals(arg0 = { // BLOCK val tmp0_safe_receiver: Any? = x when { EQEQ(arg0 = tmp0_safe_receiver, arg1 = null) -> null else -> tmp0_safe_receiver /*as Int */.toDouble() } }, arg1 = y /*as Double? */) else -> false } }