// FILE: /ifChain.kt
// FUN: minBiRoot
BB 0
CONTENT
      1 FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]
      2 WHEN type=kotlin.Unit origin=IF
      3 GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null
      4 CONST Double type=kotlin.Double value=0.0
OUTGOING -> BB 1, 6
    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
BB 1
INCOMING <- BB 0
    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
CONTENT
      1 WHEN type=kotlin.Unit origin=IF
      2 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null
      3 CONST Double type=kotlin.Double value=0.0
OUTGOING -> BB 2, 3
    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
BB 2
INCOMING <- BB 1
    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
CONTENT
      1 CONST Double type=kotlin.Double value=1.0
      2 RETURN type=kotlin.Nothing from='FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]'
OUTGOING -> NONE
    Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]
BB 3
INCOMING <- BB 1
    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
CONTENT
      1 GET_VAR 'VALUE_PARAMETER name:c index:2 type:kotlin.Double flags:[]' type=kotlin.Double origin=null
      2 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=UMINUS
      3 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null
      4 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=DIV
      5 VAR name:bc type:kotlin.Double flags:[val]
      6 WHEN type=kotlin.Unit origin=IF
      7 GET_VAR 'VAR name:bc type:kotlin.Double flags:[val]' type=kotlin.Double origin=null
      8 CONST Double type=kotlin.Double value=0.0
OUTGOING -> BB 4, 5
    CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT
BB 4
INCOMING <- BB 3
    CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT
CONTENT
      1 CONST Double type=kotlin.Double value=2.0
      2 RETURN type=kotlin.Nothing from='FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]'
OUTGOING -> NONE
    Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]
BB 5
INCOMING <- BB 3
    CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT
CONTENT
      1 GET_VAR 'VAR name:bc type:kotlin.Double flags:[val]' type=kotlin.Double origin=null
      2 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=UMINUS
      3 RETURN type=kotlin.Nothing from='FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]'
OUTGOING -> NONE
    Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]
BB 6
INCOMING <- BB 0
    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
CONTENT
      1 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null
      2 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null
      3 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MUL
      4 CONST Int type=kotlin.Int value=4
      5 GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null
      6 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MUL
      7 GET_VAR 'VALUE_PARAMETER name:c index:2 type:kotlin.Double flags:[]' type=kotlin.Double origin=null
      8 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MUL
      9 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MINUS
     10 VAR name:d type:kotlin.Double flags:[val]
     11 WHEN type=kotlin.Unit origin=IF
     12 GET_VAR 'VAR name:d type:kotlin.Double flags:[val]' type=kotlin.Double origin=null
     13 CONST Double type=kotlin.Double value=0.0
OUTGOING -> BB 7, 8
    CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT
BB 7
INCOMING <- BB 6
    CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT
CONTENT
      1 CONST Double type=kotlin.Double value=3.0
      2 RETURN type=kotlin.Nothing from='FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]'
OUTGOING -> NONE
    Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]
BB 8
INCOMING <- BB 6
    CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT
CONTENT
      1 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null
      2 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=UMINUS
      3 GET_VAR 'VAR name:d type:kotlin.Double flags:[val]' type=kotlin.Double origin=null
      4 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=PLUS
      5 CONST Int type=kotlin.Int value=2
      6 GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null
      7 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MUL
      8 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=DIV
      9 VAR name:y1 type:kotlin.Double flags:[val]
     10 GET_VAR 'VALUE_PARAMETER name:b index:1 type:kotlin.Double flags:[]' type=kotlin.Double origin=null
     11 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=UMINUS
     12 GET_VAR 'VAR name:d type:kotlin.Double flags:[val]' type=kotlin.Double origin=null
     13 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:minus visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MINUS
     14 CONST Int type=kotlin.Int value=2
     15 GET_VAR 'VALUE_PARAMETER name:a index:0 type:kotlin.Double flags:[]' type=kotlin.Double origin=null
     16 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:times visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=MUL
     17 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Double, other:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=DIV
     18 VAR name:y2 type:kotlin.Double flags:[val]
     19 WHEN type=kotlin.Double origin=IF
     20 GET_VAR 'VAR name:y1 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null
     21 GET_VAR 'VAR name:y2 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null
OUTGOING -> BB 9, 10
    CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT
BB 9
INCOMING <- BB 8
    CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT
CONTENT
OUTGOING -> BB 11
    CONST Boolean type=kotlin.Boolean value=true
BB 10
INCOMING <- BB 8
    CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT
CONTENT
      1 GET_VAR 'VAR name:y1 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null
OUTGOING -> BB 12
    When exit: WHEN type=kotlin.Double origin=IF
BB 11
INCOMING <- BB 9
    CONST Boolean type=kotlin.Boolean value=true
CONTENT
      1 GET_VAR 'VAR name:y2 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null
OUTGOING -> BB 12
    When exit: WHEN type=kotlin.Double origin=IF
BB 12
INCOMING <- BB 10, 11
    When exit: WHEN type=kotlin.Double origin=IF
CONTENT
      1 VAR name:y3 type:kotlin.Double flags:[val]
      2 WHEN type=kotlin.Double origin=IF
      3 GET_VAR 'VAR name:y3 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null
      4 CONST Double type=kotlin.Double value=0.0
OUTGOING -> BB 13, 14
    CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT
BB 13
INCOMING <- BB 12
    CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT
CONTENT
OUTGOING -> BB 15
    CONST Boolean type=kotlin.Boolean value=true
BB 14
INCOMING <- BB 12
    CALL 'FUN IR_BUILTINS_STUB name:less visibility:public modality:FINAL <> (arg0:kotlin.Double, arg1:kotlin.Double) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=LT
CONTENT
      1 CONST Double type=kotlin.Double value=4.0
OUTGOING -> BB 16
    When exit: WHEN type=kotlin.Double origin=IF
BB 15
INCOMING <- BB 13
    CONST Boolean type=kotlin.Boolean value=true
CONTENT
      1 GET_VAR 'VAR name:y3 type:kotlin.Double flags:[val]' type=kotlin.Double origin=null
      2 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> ($this:kotlin.Double) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=UMINUS
OUTGOING -> BB 16
    When exit: WHEN type=kotlin.Double origin=IF
BB 16
INCOMING <- BB 14, 15
    When exit: WHEN type=kotlin.Double origin=IF
CONTENT
      1 RETURN type=kotlin.Nothing from='FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]'
OUTGOING -> NONE
    Function exit: FUN name:minBiRoot visibility:public modality:FINAL <> (a:kotlin.Double, b:kotlin.Double, c:kotlin.Double) returnType:kotlin.Double flags:[]

// END FUN: minBiRoot

// END FILE: /ifChain.kt

