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

import androidx.compose.runtime.Composable

    fun A() {
      print(1)
      print("Hello World")
      if (true) {
        print(4)
      }
      if (true) {
        print(1.0f)
      }
      print(3)
    }

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

fun A() {
  print(LiveLiterals%TestKt.Int%arg-0%call-print%fun-A())
  print(LiveLiterals%TestKt.String%arg-0%call-print-1%fun-A())
  if (LiveLiterals%TestKt.Boolean%cond%if%fun-A()) {
    print(LiveLiterals%TestKt.Int%arg-0%call-print%branch%if%fun-A())
  }
  if (LiveLiterals%TestKt.Boolean%cond%if-1%fun-A()) {
    print(LiveLiterals%TestKt.Float%arg-0%call-print%branch%if-1%fun-A())
  }
  print(LiveLiterals%TestKt.Int%arg-0%call-print-2%fun-A())
}
@LiveLiteralFileInfo(file = "/Test.kt")
internal object LiveLiterals%TestKt {
  val Int%arg-0%call-print%fun-A: Int = 1
  var State%Int%arg-0%call-print%fun-A: State<Int>?
  @LiveLiteralInfo(key = "Int%arg-0%call-print%fun-A", offset = 70)
  fun Int%arg-0%call-print%fun-A(): Int {
    if (!isLiveLiteralsEnabled) {
      return Int%arg-0%call-print%fun-A
    }
    val tmp0 = State%Int%arg-0%call-print%fun-A
    return when {
      tmp0 == null -> {
        val tmp1 = liveLiteral("Int%arg-0%call-print%fun-A", Int%arg-0%call-print%fun-A)
        State%Int%arg-0%call-print%fun-A = tmp1
        tmp1
      }
      else -> {
        tmp0
      }
    }
    .value
  }
  val String%arg-0%call-print-1%fun-A: String = "Hello World"
  var State%String%arg-0%call-print-1%fun-A: State<String>?
  @LiveLiteralInfo(key = "String%arg-0%call-print-1%fun-A", offset = 85)
  fun String%arg-0%call-print-1%fun-A(): String {
    if (!isLiveLiteralsEnabled) {
      return String%arg-0%call-print-1%fun-A
    }
    val tmp0 = State%String%arg-0%call-print-1%fun-A
    return when {
      tmp0 == null -> {
        val tmp1 = liveLiteral("String%arg-0%call-print-1%fun-A", String%arg-0%call-print-1%fun-A)
        State%String%arg-0%call-print-1%fun-A = tmp1
        tmp1
      }
      else -> {
        tmp0
      }
    }
    .value
  }
  val Boolean%cond%if%fun-A: Boolean = true
  var State%Boolean%cond%if%fun-A: State<Boolean>?
  @LiveLiteralInfo(key = "Boolean%cond%if%fun-A", offset = 110)
  fun Boolean%cond%if%fun-A(): Boolean {
    if (!isLiveLiteralsEnabled) {
      return Boolean%cond%if%fun-A
    }
    val tmp0 = State%Boolean%cond%if%fun-A
    return when {
      tmp0 == null -> {
        val tmp1 = liveLiteral("Boolean%cond%if%fun-A", Boolean%cond%if%fun-A)
        State%Boolean%cond%if%fun-A = tmp1
        tmp1
      }
      else -> {
        tmp0
      }
    }
    .value
  }
  val Int%arg-0%call-print%branch%if%fun-A: Int = 4
  var State%Int%arg-0%call-print%branch%if%fun-A: State<Int>?
  @LiveLiteralInfo(key = "Int%arg-0%call-print%branch%if%fun-A", offset = 132)
  fun Int%arg-0%call-print%branch%if%fun-A(): Int {
    if (!isLiveLiteralsEnabled) {
      return Int%arg-0%call-print%branch%if%fun-A
    }
    val tmp0 = State%Int%arg-0%call-print%branch%if%fun-A
    return when {
      tmp0 == null -> {
        val tmp1 = liveLiteral("Int%arg-0%call-print%branch%if%fun-A", Int%arg-0%call-print%branch%if%fun-A)
        State%Int%arg-0%call-print%branch%if%fun-A = tmp1
        tmp1
      }
      else -> {
        tmp0
      }
    }
    .value
  }
  val Boolean%cond%if-1%fun-A: Boolean = true
  var State%Boolean%cond%if-1%fun-A: State<Boolean>?
  @LiveLiteralInfo(key = "Boolean%cond%if-1%fun-A", offset = 153)
  fun Boolean%cond%if-1%fun-A(): Boolean {
    if (!isLiveLiteralsEnabled) {
      return Boolean%cond%if-1%fun-A
    }
    val tmp0 = State%Boolean%cond%if-1%fun-A
    return when {
      tmp0 == null -> {
        val tmp1 = liveLiteral("Boolean%cond%if-1%fun-A", Boolean%cond%if-1%fun-A)
        State%Boolean%cond%if-1%fun-A = tmp1
        tmp1
      }
      else -> {
        tmp0
      }
    }
    .value
  }
  val Float%arg-0%call-print%branch%if-1%fun-A: Float = 1.0f
  var State%Float%arg-0%call-print%branch%if-1%fun-A: State<Float>?
  @LiveLiteralInfo(key = "Float%arg-0%call-print%branch%if-1%fun-A", offset = 175)
  fun Float%arg-0%call-print%branch%if-1%fun-A(): Float {
    if (!isLiveLiteralsEnabled) {
      return Float%arg-0%call-print%branch%if-1%fun-A
    }
    val tmp0 = State%Float%arg-0%call-print%branch%if-1%fun-A
    return when {
      tmp0 == null -> {
        val tmp1 = liveLiteral("Float%arg-0%call-print%branch%if-1%fun-A", Float%arg-0%call-print%branch%if-1%fun-A)
        State%Float%arg-0%call-print%branch%if-1%fun-A = tmp1
        tmp1
      }
      else -> {
        tmp0
      }
    }
    .value
  }
  val Int%arg-0%call-print-2%fun-A: Int = 3
  var State%Int%arg-0%call-print-2%fun-A: State<Int>?
  @LiveLiteralInfo(key = "Int%arg-0%call-print-2%fun-A", offset = 201)
  fun Int%arg-0%call-print-2%fun-A(): Int {
    if (!isLiveLiteralsEnabled) {
      return Int%arg-0%call-print-2%fun-A
    }
    val tmp0 = State%Int%arg-0%call-print-2%fun-A
    return when {
      tmp0 == null -> {
        val tmp1 = liveLiteral("Int%arg-0%call-print-2%fun-A", Int%arg-0%call-print-2%fun-A)
        State%Int%arg-0%call-print-2%fun-A = tmp1
        tmp1
      }
      else -> {
        tmp0
      }
    }
    .value
  }
}
