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 tmp_0: Any? = y when { EQEQ(arg0 = tmp_0, arg1 = null) -> null else -> tmp_0 /*as Float */.toDouble() } }) else -> false } } fun testDI(x: Double?, y: Any?): Boolean { return when { y is Int? -> ieee754equals(arg0 = x, arg1 = { // BLOCK val tmp_1: Any? = y when { EQEQ(arg0 = tmp_1, arg1 = null) -> null else -> tmp_1 /*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 tmp_2: Any? = x when { EQEQ(arg0 = tmp_2, arg1 = null) -> null else -> tmp_2 /*as Int */.toDouble() } }, arg1 = y /*as Double? */) else -> false } }