//
// Source
// ------------------------------------------

import androidx.compose.runtime.*

@Composable
private fun Test(param: String?): String? {
    return Test(
        if (param == null) {
           Test(
                if (param == null) {
                    remember { "" }
                } else {
                    null
                }
           )
        } else {
            null
        },
    )
}

//
// Transformed IR
// ------------------------------------------

@Composable
@FunctionKeyMeta(key = 942225780, startOffset = 92, endOffset = 565)
private fun Test(param: String?, %composer: Composer?, %changed: Int): String? {
  sourceInformationMarkerStart(%composer, <>, "C(Test)N(param)<Test(>:Test.kt")
  if (isTraceInProgress()) {
    traceEventStart(<>, %changed, -1, <>)
  }
  val tmp0 = Test(if (param == null) {
    %composer.startReplaceGroup(<>)
    sourceInformation(%composer, "<Test(>")
    val tmp3_group = <block>{
      Test(if (param == null) {
        %composer.startReplaceGroup(<>)
        sourceInformation(%composer, "<rememb...>")
        val tmp2_group = <block>{
          sourceInformationMarkerStart(%composer, <>, "CC(remember):Test.kt#9igjgp")
          val tmp1_group = %composer.cache(false) {
            ""
          }
          sourceInformationMarkerEnd(%composer)
          tmp1_group
        }
        %composer.endReplaceGroup()
        tmp2_group
      } else {
        %composer.startReplaceGroup(<>)
        %composer.endReplaceGroup()
        null
      }, %composer, 0)
    }
    %composer.endReplaceGroup()
    tmp3_group
  } else {
    %composer.startReplaceGroup(<>)
    %composer.endReplaceGroup()
    null
  }, %composer, 0)
  if (isTraceInProgress()) {
    traceEventEnd()
  }
  sourceInformationMarkerEnd(%composer)
  return tmp0
}
