// RUN: iree-run-mlir -iree-hal-target-backends=interpreter-bytecode %s | IreeFileCheck %s

// CHECK-LABEL: EXEC @collatz
func @collatz() -> tensor<f32> {
  %arg0 = iree.unfoldable_constant dense<178.0> : tensor<f32>
  %0 = xla_hlo.constant dense<1.0> : tensor<f32>
  %1 = xla_hlo.constant dense<3.0> : tensor<f32>
  %2 = xla_hlo.constant dense<2.0> : tensor<f32>
  %3 = xla_hlo.constant dense<0.0> : tensor<f32>
  br ^bb1(%3, %arg0 : tensor<f32>, tensor<f32>)
^bb1(%4: tensor<f32>, %5: tensor<f32>):
  %6 = "xla_hlo.compare"(%5, %0) {comparison_direction = "GT"} : (tensor<f32>, tensor<f32>) -> tensor<i1>
  %7 = extract_element %6[] : tensor<i1>
  cond_br %7, ^bb2(%4, %5 : tensor<f32>, tensor<f32>), ^bb6(%4 : tensor<f32>)
^bb2(%8: tensor<f32>, %9: tensor<f32>):
  %10 = xla_hlo.add %8, %0 : tensor<f32>
  %11 = xla_hlo.remainder %9, %2 : tensor<f32>
  %12 = "xla_hlo.compare"(%11, %3) {comparison_direction = "NE"} : (tensor<f32>, tensor<f32>) -> tensor<i1>
  %13 = "xla_hlo.compare"(%2, %3) {comparison_direction = "LT"} : (tensor<f32>, tensor<f32>) -> tensor<i1>
  %14 = "xla_hlo.compare"(%11, %3) {comparison_direction = "LT"} : (tensor<f32>, tensor<f32>) -> tensor<i1>
  %15 = "xla_hlo.compare"(%13, %14) {comparison_direction = "NE"} : (tensor<i1>, tensor<i1>) -> tensor<i1>
  %16 = xla_hlo.and %12, %15 : tensor<i1>
  %17 = xla_hlo.add %11, %2 : tensor<f32>
  %18 = "xla_hlo.select"(%16, %17, %11) : (tensor<i1>, tensor<f32>, tensor<f32>) -> tensor<f32>
  %19 = "xla_hlo.compare"(%18, %3) {comparison_direction = "GT"} : (tensor<f32>, tensor<f32>) -> tensor<i1>
  %20 = extract_element %19[] : tensor<i1>
  cond_br %20, ^bb3, ^bb4
^bb3: // pred: ^bb2
  %21 = xla_hlo.mul %9, %1 : tensor<f32>
  %22 = xla_hlo.add %21, %0 : tensor<f32>
  br ^bb5(%22 : tensor<f32>)
^bb4: // pred: ^bb2
  %23 = xla_hlo.div %9, %2 : tensor<f32>
  br ^bb5(%23 : tensor<f32>)
^bb5(%24: tensor<f32>): // 2 preds: ^bb3, ^bb4
  br ^bb1(%10, %24 : tensor<f32>, tensor<f32>)
^bb6(%25: tensor<f32>): // pred: ^bb1
  return %25 : tensor<f32>
}
// CHECK: f32=31
