FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
  FUN name:test0 visibility:public modality:FINAL <T> (x:kotlin.Any, y:<root>.test0.T) returnType:kotlin.Boolean flags:[]
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
    VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]
    VALUE_PARAMETER name:y index:1 type:<root>.test0.T flags:[]
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='FUN name:test0 visibility:public modality:FINAL <T> (x:kotlin.Any, y:<root>.test0.T) returnType:kotlin.Boolean flags:[]'
        WHEN type=kotlin.Boolean origin=ANDAND
          BRANCH
            if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int
              typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Int>; java.io.Serializable]
              GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
            then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
              arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
              arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:<root>.test0.T flags:[]' type=<root>.test0.T origin=null
          BRANCH
            if: CONST Boolean type=kotlin.Boolean value=true
            then: CONST Boolean type=kotlin.Boolean value=false
  FUN name:test1 visibility:public modality:FINAL <T> (x:kotlin.Any, y:<root>.test1.T) returnType:kotlin.Boolean flags:[]
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float]
    VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]
    VALUE_PARAMETER name:y index:1 type:<root>.test1.T flags:[]
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <T> (x:kotlin.Any, y:<root>.test1.T) returnType:kotlin.Boolean flags:[]'
        WHEN type=kotlin.Boolean origin=ANDAND
          BRANCH
            if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
              typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Float>; java.io.Serializable]
              GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
            then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
              arg0: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
                typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Float>; java.io.Serializable]
                GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
              arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:<root>.test1.T flags:[]' type=<root>.test1.T origin=null
          BRANCH
            if: CONST Boolean type=kotlin.Boolean value=true
            then: CONST Boolean type=kotlin.Boolean value=false
  FUN name:test2 visibility:public modality:FINAL <T> (x:kotlin.Any, y:<root>.test2.T) returnType:kotlin.Boolean flags:[]
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Double]
    VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]
    VALUE_PARAMETER name:y index:1 type:<root>.test2.T flags:[]
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <T> (x:kotlin.Any, y:<root>.test2.T) returnType:kotlin.Boolean flags:[]'
        WHEN type=kotlin.Boolean origin=ANDAND
          BRANCH
            if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
              typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Float>; java.io.Serializable]
              GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
            then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
              arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Float) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null
                $this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
                  typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Float>; java.io.Serializable]
                  GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
              arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:<root>.test2.T flags:[]' type=<root>.test2.T origin=null
          BRANCH
            if: CONST Boolean type=kotlin.Boolean value=true
            then: CONST Boolean type=kotlin.Boolean value=false
  FUN name:test3 visibility:public modality:FINAL <T> (x:kotlin.Any, y:<root>.test3.T) returnType:kotlin.Boolean flags:[]
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float]
    VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]
    VALUE_PARAMETER name:y index:1 type:<root>.test3.T flags:[]
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <T> (x:kotlin.Any, y:<root>.test3.T) returnType:kotlin.Boolean flags:[]'
        WHEN type=kotlin.Boolean origin=ANDAND
          BRANCH
            if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int
              typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Int>; java.io.Serializable]
              GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
            then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
              arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:OPEN <> ($this:kotlin.Int) returnType:kotlin.Float flags:[]' type=kotlin.Float origin=null
                $this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int
                  typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Int>; java.io.Serializable]
                  GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
              arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:<root>.test3.T flags:[]' type=<root>.test3.T origin=null
          BRANCH
            if: CONST Boolean type=kotlin.Boolean value=true
            then: CONST Boolean type=kotlin.Boolean value=false
  FUN name:test4 visibility:public modality:FINAL <T> (x:kotlin.Any, y:<root>.test4.T) returnType:kotlin.Boolean flags:[]
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float?]
    VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]
    VALUE_PARAMETER name:y index:1 type:<root>.test4.T flags:[]
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='FUN name:test4 visibility:public modality:FINAL <T> (x:kotlin.Any, y:<root>.test4.T) returnType:kotlin.Boolean flags:[]'
        WHEN type=kotlin.Boolean origin=ANDAND
          BRANCH
            if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int
              typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Int>; java.io.Serializable]
              GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
            then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
              arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:OPEN <> ($this:kotlin.Int) returnType:kotlin.Float flags:[]' type=kotlin.Float origin=null
                $this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int
                  typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Int>; java.io.Serializable]
                  GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
              arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:<root>.test4.T flags:[]' type=<root>.test4.T origin=null
          BRANCH
            if: CONST Boolean type=kotlin.Boolean value=true
            then: CONST Boolean type=kotlin.Boolean value=false
  FUN name:test5 visibility:public modality:FINAL <T, R> (x:kotlin.Any, y:<root>.test5.R) returnType:kotlin.Boolean flags:[]
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float?]
    TYPE_PARAMETER name:R index:1 variance: superTypes:[<root>.test5.T]
    VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]
    VALUE_PARAMETER name:y index:1 type:<root>.test5.R flags:[]
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='FUN name:test5 visibility:public modality:FINAL <T, R> (x:kotlin.Any, y:<root>.test5.R) returnType:kotlin.Boolean flags:[]'
        WHEN type=kotlin.Boolean origin=ANDAND
          BRANCH
            if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int
              typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Int>; java.io.Serializable]
              GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
            then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Float?, arg1:kotlin.Float?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
              arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:OPEN <> ($this:kotlin.Int) returnType:kotlin.Float flags:[]' type=kotlin.Float origin=null
                $this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int
                  typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Int>; java.io.Serializable]
                  GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
              arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:<root>.test5.R flags:[]' type=<root>.test5.R origin=null
          BRANCH
            if: CONST Boolean type=kotlin.Boolean value=true
            then: CONST Boolean type=kotlin.Boolean value=false
  FUN name:test6 visibility:public modality:FINAL <T> (x:kotlin.Any, y:<root>.test6.T) returnType:kotlin.Boolean flags:[]
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number]
    VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]
    VALUE_PARAMETER name:y index:1 type:<root>.test6.T flags:[]
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='FUN name:test6 visibility:public modality:FINAL <T> (x:kotlin.Any, y:<root>.test6.T) returnType:kotlin.Boolean flags:[]'
        WHEN type=kotlin.Boolean origin=ANDAND
          BRANCH
            if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int
              typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Int>; java.io.Serializable]
              GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
            then: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
              arg0: GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
              arg1: GET_VAR 'VALUE_PARAMETER name:y index:1 type:<root>.test6.T flags:[]' type=<root>.test6.T origin=null
          BRANCH
            if: CONST Boolean type=kotlin.Boolean value=true
            then: CONST Boolean type=kotlin.Boolean value=false
  CLASS CLASS name:F modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.F<<root>.F.T> flags:[]
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float]
    CONSTRUCTOR visibility:public <> () returnType:<root>.F<<root>.F.T> flags:[primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
    FUN name:testCapturedType visibility:public modality:FINAL <> ($this:<root>.F<<root>.F.T>, x:<root>.F.T, y:kotlin.Any) returnType:kotlin.Boolean flags:[]
      $this: VALUE_PARAMETER name:<this> type:<root>.F<<root>.F.T> flags:[]
      VALUE_PARAMETER name:x index:0 type:<root>.F.T flags:[]
      VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='FUN name:testCapturedType visibility:public modality:FINAL <> ($this:<root>.F<<root>.F.T>, x:<root>.F.T, y:kotlin.Any) returnType:kotlin.Boolean flags:[]'
          WHEN type=kotlin.Boolean origin=ANDAND
            BRANCH
              if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
                typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Double>; java.io.Serializable]
                GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
              then: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
                arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Float) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null
                  $this: GET_VAR 'VALUE_PARAMETER name:x index:0 type:<root>.F.T flags:[]' type=<root>.F.T origin=null
                arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
                  typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:[] superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Double>; java.io.Serializable]
                  GET_VAR 'VALUE_PARAMETER name:y index:1 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
            BRANCH
              if: CONST Boolean type=kotlin.Boolean value=true
              then: CONST Boolean type=kotlin.Boolean value=false
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
      VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
