Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- R version 3.5.1 (2018-07-02) -- "Feather Spray"
- Copyright (C) 2018 The R Foundation for Statistical Computing
- Platform: x86_64-apple-darwin17.4.0 (64-bit)
- R es un software libre y viene sin GARANTIA ALGUNA.
- Usted puede redistribuirlo bajo ciertas circunstancias.
- Escriba 'license()' o 'licence()' para detalles de distribucion.
- R es un proyecto colaborativo con muchos contribuyentes.
- Escriba 'contributors()' para obtener más información y
- 'citation()' para saber cómo citar R o paquetes de R en publicaciones.
- Escriba 'demo()' para demostraciones, 'help()' para el sistema on-line de ayuda,
- o 'help.start()' para abrir el sistema de ayuda HTML con su navegador.
- Escriba 'q()' para salir de R.
- > test <- function() {
- + seed <- 74755
- +
- + nextRandom <- function() {
- + seed <<- bitwAnd((seed * 1309) + 13849, 65535)
- + return (seed)
- + }
- +
- + buildTreeDepth <- function(depth, random) {
- + if (depth == 1) {
- + return (c(nextRandom() %% 10 + 1))
- + } else {
- + array <- vector("list", length = 4)
- + for (i in 1:4) {
- + array[[i]] <- buildTreeDepth(depth - 1, random)
- + }
- + return (array)
- + }
- + }
- +
- + buildTreeDepth(2, nextRandom())
- + }
- >
- > f <- rir.compile(function() test())
- >
- > f()
- [[1]]
- [1] 7
- [[2]]
- [1] 2
- [[3]]
- [1] 5
- [[4]]
- [1] 2
- > pir.compile(test, debugFlags=pir.debugFlags(PrintOptimizationPasses=TRUE, ShowWarnings=TRUE))
- ╞═════════════════════════════╡ Compiling test ╞═════════════════════════════╡
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ bitwAnd[0x7f92445706c0] │
- Warning: Guard ignored: .Internal
- │ bitwAnd[0x7f92445706c0] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ test>nextRandom@53[0x7f9244559020] │
- Warning: Guard ignored: {
- Warning: Guard ignored: <<-
- Warning: Guard ignored: +
- Warning: Guard ignored: (
- Warning: Guard ignored: *
- Warning: Guard ignored: return
- │ test>nextRandom@53[0x7f9244559020] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ vector[0x7f92445590f0] │
- Warning: Guard ignored: .Internal
- │ vector[0x7f92445590f0] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ nextRandom[0x7f9244606500] │
- Warning: Guard ignored: {
- Warning: Guard ignored: <<-
- Warning: Guard ignored: +
- Warning: Guard ignored: (
- Warning: Guard ignored: *
- Warning: Guard ignored: return
- │ nextRandom[0x7f9244606500] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ buildTreeDepth[0x7f92446010b0] │
- Warning: Guard ignored: {
- Warning: Guard ignored: if
- Warning: Guard ignored: ==
- Warning: Guard ignored: {
- Warning: Guard ignored: <-
- Warning: Guard ignored: for
- Warning: Guard ignored: :
- Warning: Guard ignored: {
- Warning: Guard ignored: <-
- Warning: Guard ignored: -
- Warning: Guard ignored: return
- Warning: Guard ignored: {
- Warning: Guard ignored: return
- Warning: Guard ignored: +
- Warning: Guard ignored: %%
- │ buildTreeDepth[0x7f92446010b0] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ test>buildTreeDepth@91[0x7f92445596d0] │
- Warning: Guard ignored: {
- Warning: Guard ignored: if
- Warning: Guard ignored: ==
- Warning: Guard ignored: {
- Warning: Guard ignored: <-
- Warning: Guard ignored: for
- Warning: Guard ignored: :
- Warning: Guard ignored: {
- Warning: Guard ignored: <-
- Warning: Guard ignored: -
- Warning: Guard ignored: return
- Warning: Guard ignored: {
- Warning: Guard ignored: return
- Warning: Guard ignored: +
- Warning: Guard ignored: %%
- │ test>buildTreeDepth@91[0x7f92445596d0] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ test[0x7f9244567f20] │
- Warning: Guard ignored: {
- Warning: Guard ignored: <-
- Warning: Guard ignored: <-
- Warning: Guard ignored: <-
- │ test[0x7f9244567f20] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ nextRandom[0x7f9244606500] │
- ├────── Inline Promises: == 4
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %0.6 = Identical %0.1, %0.5
- cp %0.7 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.6, %0.7
- fs %1.1 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %1.2 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %1.1, e0.0
- val^ %1.3 = SetShared %1.2
- val %1.4 = Force %1.3, e0.0
- void StVarSuper seed, %1.4, e0.0
- val^? %1.6 = LdVar seed, e0.0
- val %1.7 = Force %1.6, e0.0
- void Return %1.7
- BB2
- fs %2.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %2.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- cp %1.2 = Checkpoint -> BB3 (by default) | BB4 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Add %1.0, %1.1, e0.0
- void Return %3.0
- BB4
- fs %4.0 = FrameState 0x7f92445874c0+74: [%1.0, %1.1], env=e0.0
- void Deopt %4.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Scope resolution: == 11
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %0.6 = Identical %0.1, %0.5
- cp %0.7 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.6, %0.7
- fs %1.1 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %1.2 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %1.1, e0.0
- val^ %1.3 = SetShared %1.2
- val %1.4 = Force %1.3, e0.0
- void StVarSuper seed, %1.4, e0.0
- val^? %1.6 = LdVar seed, e0.0
- val %1.7 = Force %1.6, e0.0
- void Return %1.7
- BB2
- fs %2.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %2.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- cp %1.2 = Checkpoint -> BB3 (by default) | BB4 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Add %1.0, %1.1, e0.0
- void Return %3.0
- BB4
- fs %4.0 = FrameState 0x7f92445874c0+74: [%1.0, %1.1], env=e0.0
- void Deopt %4.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Constant folding: == 18
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %0.6 = Identical %0.1, %0.5
- cp %0.7 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.6, %0.7
- fs %1.1 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %1.2 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %1.1, e0.0
- val^ %1.3 = SetShared %1.2
- val %1.4 = Force %1.3, e0.0
- void StVarSuper seed, %1.4, e0.0
- val^? %1.6 = LdVar seed, e0.0
- val %1.7 = Force %1.6, e0.0
- void Return %1.7
- BB2
- fs %2.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %2.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- cp %1.2 = Checkpoint -> BB3 (by default) | BB4 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Add %1.0, %1.1, e0.0
- void Return %3.0
- BB4
- fs %4.0 = FrameState 0x7f92445874c0+74: [%1.0, %1.1], env=e0.0
- void Deopt %4.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Cleanup redundant operations: == 25
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %0.6 = Identical %0.1, %0.5
- cp %0.7 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.6, %0.7
- fs %2.1 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %2.2 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %2.1, e0.0
- val^ %2.3 = SetShared %2.2
- val %2.4 = Force %2.3, e0.0
- void StVarSuper seed, %2.4, e0.0
- val^? %2.6 = LdVar seed, e0.0
- val %2.7 = Force %2.6, e0.0
- void Return %2.7
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Delay instructions: == 32
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %2.3 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %2.2, e0.0
- val^ %2.4 = SetShared %2.3
- val %2.5 = Force %2.4, e0.0
- void StVarSuper seed, %2.5, e0.0
- val^? %2.7 = LdVar seed, e0.0
- val %2.8 = Force %2.7, e0.0
- void Return %2.8
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Elide environments not needed: == 39
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %2.3 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %2.2, e0.0
- val^ %2.4 = SetShared %2.3
- val %2.5 = Force %2.4, e0.0
- void StVarSuper seed, %2.5, e0.0
- val^? %2.7 = LdVar seed, e0.0
- val %2.8 = Force %2.7, e0.0
- void Return %2.8
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Move environment creation as far as possible: == 46
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %2.3 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %2.2, e0.0
- val^ %2.4 = SetShared %2.3
- val %2.5 = Force %2.4, e0.0
- void StVarSuper seed, %2.5, e0.0
- val^? %2.7 = LdVar seed, e0.0
- val %2.8 = Force %2.7, e0.0
- void Return %2.8
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Cleanup redundant operations: == 53
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %2.3 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %2.2, e0.0
- val^ %2.4 = SetShared %2.3
- val %2.5 = Force %2.4, e0.0
- void StVarSuper seed, %2.5, e0.0
- val^? %2.7 = LdVar seed, e0.0
- val %2.8 = Force %2.7, e0.0
- void Return %2.8
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Inline closures: == 60
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val^? %4.0 = CastType %0.2
- val^? %4.1 = CastType %0.4
- env e4.2 = MkEnv a=%4.0, b=%4.1, parent=<environment: namespace:base>
- val %4.3 = Force %4.0, e4.2
- val^? %4.4 = LdVar b, e4.2
- val %4.5 = Force %4.4, e4.2
- val^ %4.6 = CallBuiltin bitwiseAnd(%4.3, %4.5) e4.2
- val %4.7 = Force %4.6, e4.2
- goto BB3
- BB3
- val^ %3.0 = SetShared %4.7
- val %3.1 = Force %3.0, e0.0
- void StVarSuper seed, %3.1, e0.0
- val^? %3.3 = LdVar seed, e0.0
- val %3.4 = Force %3.3, e0.0
- void Return %3.4
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Inline Promises: == 67
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val^? %4.0 = CastType %0.2
- env e4.1 = MkEnv a=%4.0, b=%0.3, parent=<environment: namespace:base>
- val %4.2 = Force! %4.0, e4.1
- val^? %4.3 = LdVar b, e4.1
- val %4.4 = Force %4.3, e4.1
- val^ %4.5 = CallBuiltin bitwiseAnd(%4.2, %4.4) e4.1
- val %4.6 = Force %4.5, e4.1
- goto BB3
- BB3
- val^ %3.0 = SetShared %4.6
- val %3.1 = Force %3.0, e0.0
- void StVarSuper seed, %3.1, e0.0
- val^? %3.3 = LdVar seed, e0.0
- val %3.4 = Force %3.3, e0.0
- void Return %3.4
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Scope resolution: == 74
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val^? %4.0 = CastType %0.2
- env e4.1 = MkEnv a=%4.0, b=%0.3, parent=<environment: namespace:base>
- val %4.2 = Force! %4.0, e4.1
- val^ %4.3 = CallBuiltin bitwiseAnd(%4.2, %0.3) e4.1
- val %4.4 = Force %4.3, e4.1
- goto BB3
- BB3
- val^ %3.0 = SetShared %4.4
- val %3.1 = Force %3.0, e0.0
- void StVarSuper seed, %3.1, e0.0
- val^? %3.3 = LdVar seed, e0.0
- val %3.4 = Force %3.3, e0.0
- void Return %3.4
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Constant folding: == 81
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val^? %4.0 = CastType %0.2
- env e4.1 = MkEnv a=%4.0, b=%0.3, parent=<environment: namespace:base>
- val %4.2 = Force! %4.0, e4.1
- val^ %4.3 = CallBuiltin bitwiseAnd(%4.2, %0.3) e4.1
- val %4.4 = Force %4.3, e4.1
- goto BB3
- BB3
- val^ %3.0 = SetShared %4.4
- val %3.1 = Force %3.0, e0.0
- void StVarSuper seed, %3.1, e0.0
- val^? %3.3 = LdVar seed, e0.0
- val %3.4 = Force %3.3, e0.0
- void Return %3.4
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Cleanup redundant operations: == 88
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cls' %0.4 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.4
- void Assume %2.0, %0.5
- val^? %2.2 = CastType %0.2
- env e2.3 = MkEnv a=%2.2, b=%0.3, parent=<environment: namespace:base>
- val %2.4 = Force! %2.2, e2.3
- val^ %2.5 = CallBuiltin bitwiseAnd(%2.4, %0.3) e2.3
- val %2.6 = Force %2.5, e2.3
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = SetShared %2.6
- void StVarSuper seed, %2.6, e0.0
- val^? %3.2 = LdVar seed, e0.0
- val %3.3 = Force %3.2, e0.0
- void Return %3.3
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Delay instructions: == 95
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = SetShared %2.7
- void StVarSuper seed, %2.7, e0.0
- val^? %3.2 = LdVar seed, e0.0
- val %3.3 = Force %3.2, e0.0
- void Return %3.3
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Elide environments not needed: == 102
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = SetShared %2.7
- void StVarSuper seed, %2.7, e0.0
- val^? %3.2 = LdVar seed, e0.0
- val %3.3 = Force %3.2, e0.0
- void Return %3.3
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Move environment creation as far as possible: == 109
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = SetShared %2.7
- void StVarSuper seed, %2.7, e0.0
- val^? %3.2 = LdVar seed, e0.0
- val %3.3 = Force %3.2, e0.0
- void Return %3.3
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Cleanup redundant operations: == 116
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Inline closures: == 123
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Inline Promises: == 130
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Scope resolution: == 137
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Constant folding: == 144
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Cleanup redundant operations: == 151
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Delay instructions: == 158
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Elide environments not needed: == 165
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Move environment creation as far as possible: == 172
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Cleanup redundant operations: == 179
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Inline closures: == 186
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Inline Promises: == 193
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Scope resolution: == 200
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Constant folding: == 207
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Cleanup redundant operations: == 214
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Delay instructions: == 221
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Elide environments not needed: == 228
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Move environment creation as far as possible: == 235
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Cleanup redundant operations: == 242
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Inline closures: == 249
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Speculate on values to elide environments: == 256
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Cleanup unused checkpoints: == 263
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB2
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- goto BB4
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- ├────── Inline Promises: == 270
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB2
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- goto BB4
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- ├────── Scope resolution: == 277
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB2
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- goto BB4
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- ├────── Constant folding: == 284
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB2
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- goto BB4
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 291
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 298
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 305
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 312
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 319
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 326
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 333
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 340
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 347
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 354
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 361
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 368
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 375
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 382
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 389
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 396
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 403
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 410
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 417
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 424
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 431
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 438
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 445
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 452
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 459
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 466
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 473
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 480
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 487
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 494
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 501
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 508
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 515
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Speculate on values to elide environments: == 522
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup unused checkpoints: == 529
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup framestates unused by checkpoints: == 536
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 543
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 550
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 557
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 564
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 571
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 578
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 585
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 592
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 599
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 606
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 613
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 620
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 627
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 634
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 641
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 648
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 655
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 662
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 669
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 676
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 683
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 690
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 697
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 704
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 711
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 718
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 725
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 732
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 739
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 746
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 753
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 760
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 767
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 774
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 781
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 788
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Speculate on values to elide environments: == 795
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup unused checkpoints: == 802
- nextRandom[0x7f9244606500]
- BB0
- env e0.0 = MkEnv parent=<environment: 0x7f9246b48c88>
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- │ nextRandom[0x7f9244606500] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ buildTreeDepth[0x7f92446010b0] │
- ├────── Inline Promises: == 0
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv depth=%0.1, random=%0.0, parent=<environment: 0x7f9246b48c88>
- val^? %0.3 = LdVar depth, e0.2
- val %0.4 = Force %0.3, e0.2
- real$' %0.5 = LdConst [1] 1
- cp %0.6 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- lgl %1.0 = Eq %0.4, %0.5, e0.2
- lgl %1.1 = AsLogical %1.0
- t %1.2 = AsTest %1.1
- void Branch %1.2 -> BB3 (if true) | BB4 (if false)
- BB2
- fs %2.0 = FrameState 0x7f924457f3d0+58: [%0.4, %0.5], env=e0.2
- void Deopt %2.0
- BB3
- cls %3.0 = LdFun c, e0.2
- prom %3.1 = MkArg missing, Prom(4), e0.2
- fs %3.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %3.3 = Call %3.0(%3.1) %3.2, e0.2
- goto BB18
- BB4
- cls %4.0 = LdFun vector, e0.2
- str$' %4.1 = LdConst [1] "list"
- prom %4.2 = MkArg %4.1, Prom(0), e0.2
- real$' %4.3 = LdConst [1] 4
- prom %4.4 = MkArg %4.3, Prom(1), e0.2
- cls' %4.5 = LdConst function (mode = "logical", length = ...
- t %4.6 = Identical %4.0, %4.5
- cp %4.7 = Checkpoint -> BB5 (by default) | BB6 (if coming from expect)
- BB18
- val^ %18.0 = Phi %12.2:BB12, %3.3:BB3
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- void Assume %4.6, %4.7
- fs %5.1 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.2 = StaticCall vector[0x7f92445590f0](%4.2, %4.4) %5.1, e0.2
- val^ %5.3 = SetShared %5.2
- val %5.4 = Force %5.3, e0.2
- void StVar array, %5.4, e0.2
- real$' %5.6 = LdConst [1] 1
- real$' %5.7 = LdConst [1] 4
- cp %5.8 = Checkpoint -> BB7 (by default) | BB8 (if coming from expect)
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+113: [%4.0], env=e0.2
- void Deopt %6.0
- BB7
- val %7.0 = Colon %5.6, %5.7, e0.2
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB9
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+192: [%5.6, %5.7], env=e0.2
- void Deopt %8.0
- BB9
- int$' %9.0 = Phi %7.3:BB7, %9.2:BB16
- int$' %9.1 = Inc %9.0
- int$' %9.2 = EnsureNamed %9.1
- cp %9.3 = Checkpoint -> BB10 (by default) | BB11 (if coming from expect)
- BB10
- lgl %10.0 = Lt %7.2, %9.2, e0.2
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB12 (if true) | BB13 (if false)
- BB11
- fs %11.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %9.2, %7.2, %9.2], env=e0.2
- void Deopt %11.0
- BB12
- nil' %12.0 = LdConst NULL
- val^? %12.1 = LdVar array, e0.2
- val %12.2 = Force %12.1, e0.2
- goto BB18
- BB13
- cp %13.0 = Checkpoint -> BB14 (by default) | BB15 (if coming from expect)
- BB14
- val$ %14.0 = Extract2_1D %7.1, %9.2, e0.2
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cls' %14.5 = LdConst function (depth, random) { if (d...
- t %14.6 = Identical %14.2, %14.5
- cp %14.7 = Checkpoint -> BB16 (by default) | BB17 (if coming from expect)
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %9.2, %7.1, %9.2], env=e0.2
- void Deopt %15.0
- BB16
- void Assume %14.6, %14.7
- fs %16.1 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %9.2], env=e0.2
- val^ %16.2 = StaticCall buildTreeDepth[0x7f92446010b0](%14.3, %14.4) %16.1, e0.2
- val^ %16.3 = EnsureNamed %16.2
- val^? %16.4 = LdVar array, e0.2
- val %16.5 = Force %16.4, e0.2
- val^? %16.6 = LdVar i, e0.2
- val %16.7 = Force %16.6, e0.2
- val %16.8 = Force %16.3, e0.2
- val %16.9 = Subassign2_1D %16.8, %16.5, %16.7, e0.2
- void StVar array, %16.9, e0.2
- goto BB9
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %9.2, %14.2], env=e0.2
- void Deopt %17.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- BB2
- fs %2.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.3, %0.4
- fs %1.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %1.2 = StaticCall nextRandom[0x7f9244606500]() %1.1, e0.0
- real$' %1.3 = LdConst [1] 10
- cp %1.4 = Checkpoint -> BB3 (by default) | BB4 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Force %1.2, e0.0
- val %3.1 = Mod %3.0, %1.3, e0.0
- real$' %3.2 = LdConst [1] 1
- cp %3.3 = Checkpoint -> BB5 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f9244580470+71: [%1.2, %1.3], env=e0.0
- void Deopt %4.0
- BB5
- val %5.0 = Add %3.1, %3.2, e0.0
- void Return %5.0
- BB6
- fs %6.0 = FrameState 0x7f9244580470+86: [%3.1, %3.2], env=e0.0
- void Deopt %6.0
- ├────── Scope resolution: == 7
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv depth=%0.1, random=%0.0, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force %0.1, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- lgl %1.0 = Eq %0.3, %0.4, e0.2
- lgl %1.1 = AsLogical %1.0
- t %1.2 = AsTest %1.1
- void Branch %1.2 -> BB3 (if true) | BB4 (if false)
- BB2
- fs %2.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %2.0
- BB3
- cls %3.0 = LdFun c, e0.2
- prom %3.1 = MkArg missing, Prom(4), e0.2
- fs %3.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %3.3 = Call %3.0(%3.1) %3.2, e0.2
- goto BB18
- BB4
- cls %4.0 = LdFun vector, e0.2
- str$' %4.1 = LdConst [1] "list"
- prom %4.2 = MkArg %4.1, Prom(0), e0.2
- real$' %4.3 = LdConst [1] 4
- prom %4.4 = MkArg %4.3, Prom(1), e0.2
- cls' %4.5 = LdConst function (mode = "logical", length = ...
- t %4.6 = Identical %4.0, %4.5
- cp %4.7 = Checkpoint -> BB5 (by default) | BB6 (if coming from expect)
- BB18
- val^ %18.0 = Phi %9.0:BB12, %3.3:BB3
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- void Assume %4.6, %4.7
- fs %5.1 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.2 = StaticCall vector[0x7f92445590f0](%4.2, %4.4) %5.1, e0.2
- val^ %5.3 = SetShared %5.2
- val %5.4 = Force %5.3, e0.2
- void StVar array, %5.4, e0.2
- real$' %5.6 = LdConst [1] 1
- real$' %5.7 = LdConst [1] 4
- cp %5.8 = Checkpoint -> BB7 (by default) | BB8 (if coming from expect)
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+113: [%4.0], env=e0.2
- void Deopt %6.0
- BB7
- val %7.0 = Colon %5.6, %5.7, e0.2
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB9
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+192: [%5.6, %5.7], env=e0.2
- void Deopt %8.0
- BB9
- val %9.0 = Phi %5.4:BB5, %16.9:BB16
- int$' %9.1 = Phi %7.3:BB7, %9.3:BB16
- int$' %9.2 = Inc %9.1
- int$' %9.3 = EnsureNamed %9.2
- cp %9.4 = Checkpoint -> BB10 (by default) | BB11 (if coming from expect)
- BB10
- lgl %10.0 = Lt %7.2, %9.3, e0.2
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB12 (if true) | BB13 (if false)
- BB11
- fs %11.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %9.3, %7.2, %9.3], env=e0.2
- void Deopt %11.0
- BB12
- nil' %12.0 = LdConst NULL
- goto BB18
- BB13
- cp %13.0 = Checkpoint -> BB14 (by default) | BB15 (if coming from expect)
- BB14
- val$ %14.0 = Extract2_1D %7.1, %9.3, e0.2
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cls' %14.5 = LdConst function (depth, random) { if (d...
- t %14.6 = Identical %14.2, %14.5
- cp %14.7 = Checkpoint -> BB16 (by default) | BB17 (if coming from expect)
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %9.3, %7.1, %9.3], env=e0.2
- void Deopt %15.0
- BB16
- void Assume %14.6, %14.7
- fs %16.1 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %9.3], env=e0.2
- val^ %16.2 = StaticCall buildTreeDepth[0x7f92446010b0](%14.3, %14.4) %16.1, e0.2
- val^ %16.3 = EnsureNamed %16.2
- val^? %16.4 = LdVar array, e0.2
- val %16.5 = Force %16.4, e0.2
- val^? %16.6 = LdVar i, e0.2
- val %16.7 = Force %16.6, e0.2
- val %16.8 = Force %16.3, e0.2
- val %16.9 = Subassign2_1D %16.8, %16.5, %16.7, e0.2
- void StVar array, %16.9, e0.2
- goto BB9
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %9.3, %14.2], env=e0.2
- void Deopt %17.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- BB2
- fs %2.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.3, %0.4
- fs %1.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %1.2 = StaticCall nextRandom[0x7f9244606500]() %1.1, e0.0
- real$' %1.3 = LdConst [1] 10
- cp %1.4 = Checkpoint -> BB3 (by default) | BB4 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Force %1.2, e0.0
- val %3.1 = Mod %3.0, %1.3, e0.0
- real$' %3.2 = LdConst [1] 1
- cp %3.3 = Checkpoint -> BB5 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f9244580470+71: [%1.2, %1.3], env=e0.0
- void Deopt %4.0
- BB5
- val %5.0 = Add %3.1, %3.2, e0.0
- void Return %5.0
- BB6
- fs %6.0 = FrameState 0x7f9244580470+86: [%3.1, %3.2], env=e0.0
- void Deopt %6.0
- ├────── Constant folding: == 14
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv depth=%0.1, random=%0.0, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force %0.1, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- lgl %1.0 = Eq %0.3, %0.4, e0.2
- lgl %1.1 = AsLogical %1.0
- t %1.2 = AsTest %1.1
- void Branch %1.2 -> BB3 (if true) | BB4 (if false)
- BB2
- fs %2.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %2.0
- BB3
- cls %3.0 = LdFun c, e0.2
- prom %3.1 = MkArg missing, Prom(4), e0.2
- fs %3.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %3.3 = Call %3.0(%3.1) %3.2, e0.2
- goto BB18
- BB4
- cls %4.0 = LdFun vector, e0.2
- str$' %4.1 = LdConst [1] "list"
- prom %4.2 = MkArg %4.1, Prom(0), e0.2
- real$' %4.3 = LdConst [1] 4
- prom %4.4 = MkArg %4.3, Prom(1), e0.2
- cls' %4.5 = LdConst function (mode = "logical", length = ...
- t %4.6 = Identical %4.0, %4.5
- cp %4.7 = Checkpoint -> BB5 (by default) | BB6 (if coming from expect)
- BB18
- val^ %18.0 = Phi %9.0:BB12, %3.3:BB3
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- void Assume %4.6, %4.7
- fs %5.1 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.2 = StaticCall vector[0x7f92445590f0](%4.2, %4.4) %5.1, e0.2
- val^ %5.3 = SetShared %5.2
- val %5.4 = Force %5.3, e0.2
- void StVar array, %5.4, e0.2
- real$' %5.6 = LdConst [1] 1
- real$' %5.7 = LdConst [1] 4
- cp %5.8 = Checkpoint -> BB7 (by default) | BB8 (if coming from expect)
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+113: [%4.0], env=e0.2
- void Deopt %6.0
- BB7
- val %7.0 = Colon %5.6, %5.7, e0.2
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB9
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+192: [%5.6, %5.7], env=e0.2
- void Deopt %8.0
- BB9
- val %9.0 = Phi %5.4:BB5, %16.9:BB16
- int$' %9.1 = Phi %7.3:BB7, %9.3:BB16
- int$' %9.2 = Inc %9.1
- int$' %9.3 = EnsureNamed %9.2
- cp %9.4 = Checkpoint -> BB10 (by default) | BB11 (if coming from expect)
- BB10
- lgl %10.0 = Lt %7.2, %9.3, e0.2
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB12 (if true) | BB13 (if false)
- BB11
- fs %11.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %9.3, %7.2, %9.3], env=e0.2
- void Deopt %11.0
- BB12
- nil' %12.0 = LdConst NULL
- goto BB18
- BB13
- cp %13.0 = Checkpoint -> BB14 (by default) | BB15 (if coming from expect)
- BB14
- val$ %14.0 = Extract2_1D %7.1, %9.3, e0.2
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cls' %14.5 = LdConst function (depth, random) { if (d...
- t %14.6 = Identical %14.2, %14.5
- cp %14.7 = Checkpoint -> BB16 (by default) | BB17 (if coming from expect)
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %9.3, %7.1, %9.3], env=e0.2
- void Deopt %15.0
- BB16
- void Assume %14.6, %14.7
- fs %16.1 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %9.3], env=e0.2
- val^ %16.2 = StaticCall buildTreeDepth[0x7f92446010b0](%14.3, %14.4) %16.1, e0.2
- val^ %16.3 = EnsureNamed %16.2
- val^? %16.4 = LdVar array, e0.2
- val %16.5 = Force %16.4, e0.2
- val^? %16.6 = LdVar i, e0.2
- val %16.7 = Force %16.6, e0.2
- val %16.8 = Force %16.3, e0.2
- val %16.9 = Subassign2_1D %16.8, %16.5, %16.7, e0.2
- void StVar array, %16.9, e0.2
- goto BB9
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %9.3, %14.2], env=e0.2
- void Deopt %17.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- BB2
- fs %2.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.3, %0.4
- fs %1.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %1.2 = StaticCall nextRandom[0x7f9244606500]() %1.1, e0.0
- real$' %1.3 = LdConst [1] 10
- cp %1.4 = Checkpoint -> BB3 (by default) | BB4 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Force %1.2, e0.0
- val %3.1 = Mod %3.0, %1.3, e0.0
- real$' %3.2 = LdConst [1] 1
- cp %3.3 = Checkpoint -> BB5 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f9244580470+71: [%1.2, %1.3], env=e0.0
- void Deopt %4.0
- BB5
- val %5.0 = Add %3.1, %3.2, e0.0
- void Return %5.0
- BB6
- fs %6.0 = FrameState 0x7f9244580470+86: [%3.1, %3.2], env=e0.0
- void Deopt %6.0
- ├────── Cleanup redundant operations: == 21
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv depth=%0.1, random=%0.0, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force %0.1, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- t %3.6 = Identical %3.0, %3.5
- cp %3.7 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- void Assume %3.6, %3.7
- fs %5.1 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.2 = StaticCall vector[0x7f92445590f0](%3.2, %3.4) %5.1, e0.2
- val^ %5.3 = SetShared %5.2
- val %5.4 = Force %5.3, e0.2
- void StVar array, %5.4, e0.2
- real$' %5.6 = LdConst [1] 1
- real$' %5.7 = LdConst [1] 4
- cp %5.8 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val %7.0 = Colon %5.6, %5.7, e0.2
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.6, %5.7], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.4:BB5, %15.9:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl %10.0 = Lt %7.2, %8.3, e0.2
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- t %13.6 = Identical %13.2, %13.5
- cp %13.7 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- void Assume %13.6, %13.7
- fs %15.1 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.2 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.1, e0.2
- val^ %15.3 = EnsureNamed %15.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val %15.8 = Force %15.3, e0.2
- val %15.9 = Subassign2_1D %15.8, %15.5, %15.7, e0.2
- void StVar array, %15.9, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Delay instructions: == 28
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.3 = StaticCall vector[0x7f92445590f0](%3.2, %3.4) %5.2, e0.2
- val^ %5.4 = SetShared %5.3
- val %5.5 = Force %5.4, e0.2
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val %7.0 = Colon %5.7, %5.8, e0.2
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.10:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl %10.0 = Lt %7.2, %8.3, e0.2
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.3 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.2, e0.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val^ %15.8 = EnsureNamed %15.3
- val %15.9 = Force %15.8, e0.2
- val %15.10 = Subassign2_1D %15.9, %15.5, %15.7, e0.2
- void StVar array, %15.10, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Elide environments not needed: == 35
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.3 = StaticCall vector[0x7f92445590f0](%3.2, %3.4) %5.2, e0.2
- val^ %5.4 = SetShared %5.3
- val %5.5 = Force %5.4, e0.2
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.10:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.3 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.2, e0.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val^ %15.8 = EnsureNamed %15.3
- val %15.9 = Force %15.8, e0.2
- val %15.10 = Subassign2_1D %15.9, %15.5, %15.7, e0.2
- void StVar array, %15.10, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Move environment creation as far as possible: == 42
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.3 = StaticCall vector[0x7f92445590f0](%3.2, %3.4) %5.2, e0.2
- val^ %5.4 = SetShared %5.3
- val %5.5 = Force %5.4, e0.2
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.10:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.3 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.2, e0.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val^ %15.8 = EnsureNamed %15.3
- val %15.9 = Force %15.8, e0.2
- val %15.10 = Subassign2_1D %15.9, %15.5, %15.7, e0.2
- void StVar array, %15.10, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Cleanup redundant operations: == 49
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.3 = StaticCall vector[0x7f92445590f0](%3.2, %3.4) %5.2, e0.2
- val^ %5.4 = SetShared %5.3
- val %5.5 = Force %5.4, e0.2
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.10:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.3 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.2, e0.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val^ %15.8 = EnsureNamed %15.3
- val %15.9 = Force %15.8, e0.2
- val %15.10 = Subassign2_1D %15.9, %15.5, %15.7, e0.2
- void StVar array, %15.10, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Inline closures: == 56
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- goto BB20
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB20
- val^? %20.0 = CastType %3.2
- val^? %20.1 = CastType %3.4
- env e20.2 = MkEnv mode=%20.0, length=%20.1, parent=<environment: namespace:base>
- val %20.3 = Force %20.0, e20.2
- val^? %20.4 = LdVar length, e20.2
- val %20.5 = Force %20.4, e20.2
- val %20.6 = CallSafeBuiltin vector(%20.3, %20.5)
- goto BB19
- BB19
- val^ %19.0 = SetShared %20.6
- val %19.1 = Force %19.0, e0.2
- void StVar array, %19.1, e0.2
- real$' %19.3 = LdConst [1] 1
- real$' %19.4 = LdConst [1] 4
- cp %19.5 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB7
- val' %7.0 = Colon %19.3, %19.4, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%19.3, %19.4], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %19.1:BB19, %21.6:BB21
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB21
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- goto BB22
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB22
- val^? %22.0 = CastType %13.3
- val^? %22.1 = CastType %13.4
- env e22.2 = MkEnv depth=%22.0, random=%22.1, parent=<environment: 0x7f9246b48c88>
- val %22.3 = Force %22.0, e22.2
- real$' %22.4 = LdConst [1] 1
- cp %22.5 = Checkpoint -> BB23 (by default) | BB28 (if coming from expect)
- BB23
- lgl %23.0 = Eq %22.3, %22.4, e22.2
- lgl %23.1 = AsLogical %23.0
- t %23.2 = AsTest %23.1
- void Branch %23.2 -> BB26 (if true) | BB24 (if false)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+58: [%22.3, %22.4], env=e22.2, next=%28.0
- void Deopt %28.1
- BB26
- cls %26.0 = LdFun c, e22.2
- prom %26.1 = MkArg missing, Prom(5), e22.2
- fs %26.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %26.3 = FrameState 0x7f924457f3d0+410: [], env=e22.2, next=%26.2
- val^ %26.4 = Call %26.0(%26.1) %26.3, e22.2
- goto BB27
- BB24
- cls %24.0 = LdFun vector, e22.2
- str$' %24.1 = LdConst [1] "list"
- prom %24.2 = MkArg %24.1, Prom(6), e22.2
- real$' %24.3 = LdConst [1] 4
- prom %24.4 = MkArg %24.3, Prom(7), e22.2
- cls' %24.5 = LdConst function (mode = "logical", length = ...
- cp %24.6 = Checkpoint -> BB29 (by default) | BB25 (if coming from expect)
- BB27
- val^ %27.0 = Phi %33.0:BB37, %26.4:BB26
- val %27.1 = Force %27.0, e22.2
- goto BB21
- BB29
- t %29.0 = Identical %24.0, %24.5
- void Assume %29.0, %24.6
- fs %29.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.3 = FrameState 0x7f924457f3d0+138: [], env=e22.2, next=%29.2
- goto BB30
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+113: [%24.0], env=e22.2, next=%25.0
- void Deopt %25.1
- BB21
- val^? %21.0 = LdVar array, e0.2
- val %21.1 = Force %21.0, e0.2
- val^? %21.2 = LdVar i, e0.2
- val %21.3 = Force %21.2, e0.2
- val^ %21.4 = EnsureNamed %27.1
- val %21.5 = Force %21.4, e0.2
- val %21.6 = Subassign2_1D %21.5, %21.1, %21.3, e0.2
- void StVar array, %21.6, e0.2
- goto BB8
- BB30
- val^? %30.0 = CastType %24.2
- val^? %30.1 = CastType %24.4
- env e30.2 = MkEnv mode=%30.0, length=%30.1, parent=<environment: namespace:base>
- val %30.3 = Force %30.0, e30.2
- val^? %30.4 = LdVar length, e30.2
- val %30.5 = Force %30.4, e30.2
- val %30.6 = CallSafeBuiltin vector(%30.3, %30.5)
- goto BB31
- BB31
- val^ %31.0 = SetShared %30.6
- val %31.1 = Force %31.0, e22.2
- void StVar array, %31.1, e22.2
- real$' %31.3 = LdConst [1] 1
- real$' %31.4 = LdConst [1] 4
- cp %31.5 = Checkpoint -> BB32 (by default) | BB35 (if coming from expect)
- BB32
- val' %32.0 = Colon %31.3, %31.4, elided
- val' %32.1 = SetShared %32.0
- int$' %32.2 = ForSeqSize %32.1
- int$' %32.3 = LdConst [1] 0
- goto BB33
- BB35
- fs %35.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %35.1 = FrameState 0x7f924457f3d0+192: [%31.3, %31.4], env=e22.2, next=%35.0
- void Deopt %35.1
- BB33
- val %33.0 = Phi %31.1:BB31, %42.7:BB42
- int$' %33.1 = Phi %32.3:BB32, %33.3:BB42
- int$' %33.2 = Inc %33.1
- int$' %33.3 = EnsureNamed %33.2
- cp %33.4 = Checkpoint -> BB34 (by default) | BB36 (if coming from expect)
- BB34
- lgl' %34.0 = Lt %32.2, %33.3, elided
- t %34.1 = AsTest %34.0
- void Branch %34.1 -> BB37 (if true) | BB38 (if false)
- BB36
- fs %36.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %36.1 = FrameState 0x7f924457f3d0+203: [%32.1, %32.2, %33.3, %32.2, %33.3], env=e22.2, next=%36.0
- void Deopt %36.1
- BB37
- goto BB27
- BB38
- cp %38.0 = Checkpoint -> BB39 (by default) | BB40 (if coming from expect)
- BB39
- val$ %39.0 = Extract2_1D %32.1, %33.3, e22.2
- void StVar i, %39.0, e22.2
- cls %39.2 = LdFun buildTreeDepth, e22.2
- prom %39.3 = MkArg missing, Prom(8), e22.2
- prom %39.4 = MkArg missing, Prom(9), e22.2
- cls' %39.5 = LdConst function (depth, random) { if (d...
- cp %39.6 = Checkpoint -> BB41 (by default) | BB43 (if coming from expect)
- BB40
- fs %40.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %40.1 = FrameState 0x7f924457f3d0+219: [%32.1, %32.2, %33.3, %32.1, %33.3], env=e22.2, next=%40.0
- void Deopt %40.1
- BB41
- t %41.0 = Identical %39.2, %39.5
- void Assume %41.0, %39.6
- fs %41.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %41.3 = FrameState 0x7f924457f3d0+290: [%32.1, %32.2, %33.3], env=e22.2, next=%41.2
- goto BB42
- BB43
- fs %43.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %43.1 = FrameState 0x7f924457f3d0+273: [%32.1, %32.2, %33.3, %39.2], env=e22.2, next=%43.0
- void Deopt %43.1
- BB42
- val^ %42.0 = StaticCall buildTreeDepth[0x7f92446010b0](%39.3, %39.4) %41.3, e22.2
- val^? %42.1 = LdVar array, e22.2
- val %42.2 = Force %42.1, e22.2
- val^? %42.3 = LdVar i, e22.2
- val %42.4 = Force %42.3, e22.2
- val^ %42.5 = EnsureNamed %42.0
- val %42.6 = Force %42.5, e22.2
- val %42.7 = Subassign2_1D %42.6, %42.2, %42.4, e22.2
- void StVar array, %42.7, e22.2
- goto BB33
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.3, %0.4
- fs %1.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %1.2 = StaticCall nextRandom[0x7f9244606500]() %1.1, e0.0
- real$' %1.3 = LdConst [1] 10
- cp %1.4 = Checkpoint -> BB3 (by default) | BB6 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Force %1.2, e0.0
- val %3.1 = Mod %3.0, %1.3, e0.0
- real$' %3.2 = LdConst [1] 1
- cp %3.3 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB6
- fs %6.0 = FrameState 0x7f9244580470+71: [%1.2, %1.3], env=e0.0
- void Deopt %6.0
- BB5
- val %5.0 = Add %3.1, %3.2, e0.0
- void Return %5.0
- BB4
- fs %4.0 = FrameState 0x7f9244580470+86: [%3.1, %3.2], env=e0.0
- void Deopt %4.0
- Prom 6:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 7:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- BB2
- fs %2.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline Promises: == 63
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- goto BB20
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB20
- env e20.0 = MkEnv mode=%3.1, length=%3.3, parent=<environment: namespace:base>
- val %20.1 = Force %3.1, e20.0
- val^? %20.2 = LdVar length, e20.0
- val %20.3 = Force %20.2, e20.0
- val %20.4 = CallSafeBuiltin vector(%20.1, %20.3)
- goto BB19
- BB19
- val^ %19.0 = SetShared %20.4
- val %19.1 = Force %19.0, e0.2
- void StVar array, %19.1, e0.2
- real$' %19.3 = LdConst [1] 1
- real$' %19.4 = LdConst [1] 4
- cp %19.5 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB7
- val' %7.0 = Colon %19.3, %19.4, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%19.3, %19.4], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %19.1:BB19, %21.6:BB21
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB21
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- goto BB22
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB22
- val^? %22.0 = CastType %13.3
- val^? %22.1 = CastType %13.4
- env e22.2 = MkEnv depth=%22.0, random=%22.1, parent=<environment: 0x7f9246b48c88>
- val %22.3 = Force %22.0, e22.2
- real$' %22.4 = LdConst [1] 1
- cp %22.5 = Checkpoint -> BB23 (by default) | BB28 (if coming from expect)
- BB23
- lgl %23.0 = Eq %22.3, %22.4, e22.2
- lgl %23.1 = AsLogical %23.0
- t %23.2 = AsTest %23.1
- void Branch %23.2 -> BB26 (if true) | BB24 (if false)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+58: [%22.3, %22.4], env=e22.2, next=%28.0
- void Deopt %28.1
- BB26
- cls %26.0 = LdFun c, e22.2
- prom %26.1 = MkArg missing, Prom(5), e22.2
- fs %26.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %26.3 = FrameState 0x7f924457f3d0+410: [], env=e22.2, next=%26.2
- val^ %26.4 = Call %26.0(%26.1) %26.3, e22.2
- goto BB27
- BB24
- cls %24.0 = LdFun vector, e22.2
- str$' %24.1 = LdConst [1] "list"
- prom %24.2 = MkArg %24.1, Prom(6), e22.2
- real$' %24.3 = LdConst [1] 4
- prom %24.4 = MkArg %24.3, Prom(7), e22.2
- cls' %24.5 = LdConst function (mode = "logical", length = ...
- cp %24.6 = Checkpoint -> BB29 (by default) | BB25 (if coming from expect)
- BB27
- val^ %27.0 = Phi %33.0:BB37, %26.4:BB26
- val %27.1 = Force %27.0, e22.2
- goto BB21
- BB29
- t %29.0 = Identical %24.0, %24.5
- void Assume %29.0, %24.6
- fs %29.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.3 = FrameState 0x7f924457f3d0+138: [], env=e22.2, next=%29.2
- goto BB30
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+113: [%24.0], env=e22.2, next=%25.0
- void Deopt %25.1
- BB21
- val^? %21.0 = LdVar array, e0.2
- val %21.1 = Force %21.0, e0.2
- val^? %21.2 = LdVar i, e0.2
- val %21.3 = Force %21.2, e0.2
- val^ %21.4 = EnsureNamed %27.1
- val %21.5 = Force %21.4, e0.2
- val %21.6 = Subassign2_1D %21.5, %21.1, %21.3, e0.2
- void StVar array, %21.6, e0.2
- goto BB8
- BB30
- env e30.0 = MkEnv mode=%24.1, length=%24.3, parent=<environment: namespace:base>
- val %30.1 = Force %24.1, e30.0
- val^? %30.2 = LdVar length, e30.0
- val %30.3 = Force %30.2, e30.0
- val %30.4 = CallSafeBuiltin vector(%30.1, %30.3)
- goto BB31
- BB31
- val^ %31.0 = SetShared %30.4
- val %31.1 = Force %31.0, e22.2
- void StVar array, %31.1, e22.2
- real$' %31.3 = LdConst [1] 1
- real$' %31.4 = LdConst [1] 4
- cp %31.5 = Checkpoint -> BB32 (by default) | BB35 (if coming from expect)
- BB32
- val' %32.0 = Colon %31.3, %31.4, elided
- val' %32.1 = SetShared %32.0
- int$' %32.2 = ForSeqSize %32.1
- int$' %32.3 = LdConst [1] 0
- goto BB33
- BB35
- fs %35.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %35.1 = FrameState 0x7f924457f3d0+192: [%31.3, %31.4], env=e22.2, next=%35.0
- void Deopt %35.1
- BB33
- val %33.0 = Phi %31.1:BB31, %42.7:BB42
- int$' %33.1 = Phi %32.3:BB32, %33.3:BB42
- int$' %33.2 = Inc %33.1
- int$' %33.3 = EnsureNamed %33.2
- cp %33.4 = Checkpoint -> BB34 (by default) | BB36 (if coming from expect)
- BB34
- lgl' %34.0 = Lt %32.2, %33.3, elided
- t %34.1 = AsTest %34.0
- void Branch %34.1 -> BB37 (if true) | BB38 (if false)
- BB36
- fs %36.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %36.1 = FrameState 0x7f924457f3d0+203: [%32.1, %32.2, %33.3, %32.2, %33.3], env=e22.2, next=%36.0
- void Deopt %36.1
- BB37
- goto BB27
- BB38
- cp %38.0 = Checkpoint -> BB39 (by default) | BB40 (if coming from expect)
- BB39
- val$ %39.0 = Extract2_1D %32.1, %33.3, e22.2
- void StVar i, %39.0, e22.2
- cls %39.2 = LdFun buildTreeDepth, e22.2
- prom %39.3 = MkArg missing, Prom(8), e22.2
- prom %39.4 = MkArg missing, Prom(9), e22.2
- cls' %39.5 = LdConst function (depth, random) { if (d...
- cp %39.6 = Checkpoint -> BB41 (by default) | BB43 (if coming from expect)
- BB40
- fs %40.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %40.1 = FrameState 0x7f924457f3d0+219: [%32.1, %32.2, %33.3, %32.1, %33.3], env=e22.2, next=%40.0
- void Deopt %40.1
- BB41
- t %41.0 = Identical %39.2, %39.5
- void Assume %41.0, %39.6
- fs %41.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %41.3 = FrameState 0x7f924457f3d0+290: [%32.1, %32.2, %33.3], env=e22.2, next=%41.2
- goto BB42
- BB43
- fs %43.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %43.1 = FrameState 0x7f924457f3d0+273: [%32.1, %32.2, %33.3, %39.2], env=e22.2, next=%43.0
- void Deopt %43.1
- BB42
- val^ %42.0 = StaticCall buildTreeDepth[0x7f92446010b0](%39.3, %39.4) %41.3, e22.2
- val^? %42.1 = LdVar array, e22.2
- val %42.2 = Force %42.1, e22.2
- val^? %42.3 = LdVar i, e22.2
- val %42.4 = Force %42.3, e22.2
- val^ %42.5 = EnsureNamed %42.0
- val %42.6 = Force %42.5, e22.2
- val %42.7 = Subassign2_1D %42.6, %42.2, %42.4, e22.2
- void StVar array, %42.7, e22.2
- goto BB33
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.3, %0.4
- fs %1.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %1.2 = StaticCall nextRandom[0x7f9244606500]() %1.1, e0.0
- real$' %1.3 = LdConst [1] 10
- cp %1.4 = Checkpoint -> BB3 (by default) | BB6 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Force %1.2, e0.0
- val %3.1 = Mod %3.0, %1.3, e0.0
- real$' %3.2 = LdConst [1] 1
- cp %3.3 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB6
- fs %6.0 = FrameState 0x7f9244580470+71: [%1.2, %1.3], env=e0.0
- void Deopt %6.0
- BB5
- val %5.0 = Add %3.1, %3.2, e0.0
- void Return %5.0
- BB4
- fs %4.0 = FrameState 0x7f9244580470+86: [%3.1, %3.2], env=e0.0
- void Deopt %4.0
- Prom 6:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 7:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- BB2
- fs %2.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Scope resolution: == 70
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- goto BB20
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB20
- env e20.0 = MkEnv mode=%3.1, length=%3.3, parent=<environment: namespace:base>
- val %20.1 = CallSafeBuiltin vector(%3.1, %3.3)
- goto BB19
- BB19
- val^ %19.0 = SetShared %20.1
- val %19.1 = Force %19.0, e0.2
- void StVar array, %19.1, e0.2
- real$' %19.3 = LdConst [1] 1
- real$' %19.4 = LdConst [1] 4
- cp %19.5 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB7
- val' %7.0 = Colon %19.3, %19.4, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%19.3, %19.4], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %19.1:BB19, %21.6:BB21
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB21
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- goto BB22
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB22
- val^? %22.0 = CastType %13.3
- val^? %22.1 = CastType %13.4
- env e22.2 = MkEnv depth=%22.0, random=%22.1, parent=<environment: 0x7f9246b48c88>
- val %22.3 = Force %22.0, e22.2
- real$' %22.4 = LdConst [1] 1
- cp %22.5 = Checkpoint -> BB23 (by default) | BB28 (if coming from expect)
- BB23
- lgl %23.0 = Eq %22.3, %22.4, e22.2
- lgl %23.1 = AsLogical %23.0
- t %23.2 = AsTest %23.1
- void Branch %23.2 -> BB26 (if true) | BB24 (if false)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+58: [%22.3, %22.4], env=e22.2, next=%28.0
- void Deopt %28.1
- BB26
- cls %26.0 = LdFun c, e22.2
- prom %26.1 = MkArg missing, Prom(5), e22.2
- fs %26.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %26.3 = FrameState 0x7f924457f3d0+410: [], env=e22.2, next=%26.2
- val^ %26.4 = Call %26.0(%26.1) %26.3, e22.2
- goto BB27
- BB24
- cls %24.0 = LdFun vector, e22.2
- str$' %24.1 = LdConst [1] "list"
- prom %24.2 = MkArg %24.1, Prom(6), e22.2
- real$' %24.3 = LdConst [1] 4
- prom %24.4 = MkArg %24.3, Prom(7), e22.2
- cls' %24.5 = LdConst function (mode = "logical", length = ...
- cp %24.6 = Checkpoint -> BB29 (by default) | BB25 (if coming from expect)
- BB27
- val^ %27.0 = Phi %33.0:BB37, %26.4:BB26
- val %27.1 = Force %27.0, e22.2
- goto BB21
- BB29
- t %29.0 = Identical %24.0, %24.5
- void Assume %29.0, %24.6
- fs %29.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.3 = FrameState 0x7f924457f3d0+138: [], env=e22.2, next=%29.2
- goto BB30
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+113: [%24.0], env=e22.2, next=%25.0
- void Deopt %25.1
- BB21
- val^? %21.0 = LdVar array, e0.2
- val %21.1 = Force %21.0, e0.2
- val^? %21.2 = LdVar i, e0.2
- val %21.3 = Force %21.2, e0.2
- val^ %21.4 = EnsureNamed %27.1
- val %21.5 = Force %21.4, e0.2
- val %21.6 = Subassign2_1D %21.5, %21.1, %21.3, e0.2
- void StVar array, %21.6, e0.2
- goto BB8
- BB30
- env e30.0 = MkEnv mode=%24.1, length=%24.3, parent=<environment: namespace:base>
- real$' %30.1 = Force %24.3, e30.0
- val %30.2 = CallSafeBuiltin vector(%24.1, %30.1)
- goto BB31
- BB31
- val^ %31.0 = SetShared %30.2
- val %31.1 = Force %31.0, e22.2
- void StVar array, %31.1, e22.2
- real$' %31.3 = LdConst [1] 1
- real$' %31.4 = LdConst [1] 4
- cp %31.5 = Checkpoint -> BB32 (by default) | BB35 (if coming from expect)
- BB32
- val' %32.0 = Colon %31.3, %31.4, elided
- val' %32.1 = SetShared %32.0
- int$' %32.2 = ForSeqSize %32.1
- int$' %32.3 = LdConst [1] 0
- goto BB33
- BB35
- fs %35.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %35.1 = FrameState 0x7f924457f3d0+192: [%31.3, %31.4], env=e22.2, next=%35.0
- void Deopt %35.1
- BB33
- val %33.0 = Phi %31.1:BB31, %42.7:BB42
- int$' %33.1 = Phi %32.3:BB32, %33.3:BB42
- int$' %33.2 = Inc %33.1
- int$' %33.3 = EnsureNamed %33.2
- cp %33.4 = Checkpoint -> BB34 (by default) | BB36 (if coming from expect)
- BB34
- lgl' %34.0 = Lt %32.2, %33.3, elided
- t %34.1 = AsTest %34.0
- void Branch %34.1 -> BB37 (if true) | BB38 (if false)
- BB36
- fs %36.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %36.1 = FrameState 0x7f924457f3d0+203: [%32.1, %32.2, %33.3, %32.2, %33.3], env=e22.2, next=%36.0
- void Deopt %36.1
- BB37
- goto BB27
- BB38
- cp %38.0 = Checkpoint -> BB39 (by default) | BB40 (if coming from expect)
- BB39
- val$ %39.0 = Extract2_1D %32.1, %33.3, e22.2
- void StVar i, %39.0, e22.2
- cls %39.2 = LdFun buildTreeDepth, e22.2
- prom %39.3 = MkArg missing, Prom(8), e22.2
- prom %39.4 = MkArg missing, Prom(9), e22.2
- cls' %39.5 = LdConst function (depth, random) { if (d...
- cp %39.6 = Checkpoint -> BB41 (by default) | BB43 (if coming from expect)
- BB40
- fs %40.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %40.1 = FrameState 0x7f924457f3d0+219: [%32.1, %32.2, %33.3, %32.1, %33.3], env=e22.2, next=%40.0
- void Deopt %40.1
- BB41
- t %41.0 = Identical %39.2, %39.5
- void Assume %41.0, %39.6
- fs %41.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %41.3 = FrameState 0x7f924457f3d0+290: [%32.1, %32.2, %33.3], env=e22.2, next=%41.2
- goto BB42
- BB43
- fs %43.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %43.1 = FrameState 0x7f924457f3d0+273: [%32.1, %32.2, %33.3, %39.2], env=e22.2, next=%43.0
- void Deopt %43.1
- BB42
- val^ %42.0 = StaticCall buildTreeDepth[0x7f92446010b0](%39.3, %39.4) %41.3, e22.2
- val^? %42.1 = LdVar array, e22.2
- val %42.2 = Force %42.1, e22.2
- val^? %42.3 = LdVar i, e22.2
- val %42.4 = Force %42.3, e22.2
- val^ %42.5 = EnsureNamed %42.0
- val %42.6 = Force %42.5, e22.2
- val %42.7 = Subassign2_1D %42.6, %42.2, %42.4, e22.2
- void StVar array, %42.7, e22.2
- goto BB33
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.3, %0.4
- fs %1.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %1.2 = StaticCall nextRandom[0x7f9244606500]() %1.1, e0.0
- real$' %1.3 = LdConst [1] 10
- cp %1.4 = Checkpoint -> BB3 (by default) | BB6 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Force %1.2, e0.0
- val %3.1 = Mod %3.0, %1.3, e0.0
- real$' %3.2 = LdConst [1] 1
- cp %3.3 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB6
- fs %6.0 = FrameState 0x7f9244580470+71: [%1.2, %1.3], env=e0.0
- void Deopt %6.0
- BB5
- val %5.0 = Add %3.1, %3.2, e0.0
- void Return %5.0
- BB4
- fs %4.0 = FrameState 0x7f9244580470+86: [%3.1, %3.2], env=e0.0
- void Deopt %4.0
- Prom 6:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 7:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- BB2
- fs %2.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Constant folding: == 77
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- goto BB20
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB20
- env e20.0 = MkEnv mode=%3.1, length=%3.3, parent=<environment: namespace:base>
- val %20.1 = CallSafeBuiltin vector(%3.1, %3.3)
- goto BB19
- BB19
- val^ %19.0 = SetShared %20.1
- val %19.1 = Force %19.0, e0.2
- void StVar array, %19.1, e0.2
- real$' %19.3 = LdConst [1] 1
- real$' %19.4 = LdConst [1] 4
- cp %19.5 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB7
- val' %7.0 = Colon %19.3, %19.4, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%19.3, %19.4], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %19.1:BB19, %21.6:BB21
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB21
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- goto BB22
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB22
- val^? %22.0 = CastType %13.3
- val^? %22.1 = CastType %13.4
- env e22.2 = MkEnv depth=%22.0, random=%22.1, parent=<environment: 0x7f9246b48c88>
- val %22.3 = Force %22.0, e22.2
- real$' %22.4 = LdConst [1] 1
- cp %22.5 = Checkpoint -> BB23 (by default) | BB28 (if coming from expect)
- BB23
- lgl %23.0 = Eq %22.3, %22.4, e22.2
- lgl %23.1 = AsLogical %23.0
- t %23.2 = AsTest %23.1
- void Branch %23.2 -> BB26 (if true) | BB24 (if false)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+58: [%22.3, %22.4], env=e22.2, next=%28.0
- void Deopt %28.1
- BB26
- cls %26.0 = LdFun c, e22.2
- prom %26.1 = MkArg missing, Prom(5), e22.2
- fs %26.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %26.3 = FrameState 0x7f924457f3d0+410: [], env=e22.2, next=%26.2
- val^ %26.4 = Call %26.0(%26.1) %26.3, e22.2
- goto BB27
- BB24
- cls %24.0 = LdFun vector, e22.2
- str$' %24.1 = LdConst [1] "list"
- prom %24.2 = MkArg %24.1, Prom(6), e22.2
- real$' %24.3 = LdConst [1] 4
- prom %24.4 = MkArg %24.3, Prom(7), e22.2
- cls' %24.5 = LdConst function (mode = "logical", length = ...
- cp %24.6 = Checkpoint -> BB29 (by default) | BB25 (if coming from expect)
- BB27
- val^ %27.0 = Phi %33.0:BB37, %26.4:BB26
- val %27.1 = Force %27.0, e22.2
- goto BB21
- BB29
- t %29.0 = Identical %24.0, %24.5
- void Assume %29.0, %24.6
- fs %29.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.3 = FrameState 0x7f924457f3d0+138: [], env=e22.2, next=%29.2
- goto BB30
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+113: [%24.0], env=e22.2, next=%25.0
- void Deopt %25.1
- BB21
- val^? %21.0 = LdVar array, e0.2
- val %21.1 = Force %21.0, e0.2
- val^? %21.2 = LdVar i, e0.2
- val %21.3 = Force %21.2, e0.2
- val^ %21.4 = EnsureNamed %27.1
- val %21.5 = Force %21.4, e0.2
- val %21.6 = Subassign2_1D %21.5, %21.1, %21.3, e0.2
- void StVar array, %21.6, e0.2
- goto BB8
- BB30
- env e30.0 = MkEnv mode=%24.1, length=%24.3, parent=<environment: namespace:base>
- real$' %30.1 = Force %24.3, e30.0
- val %30.2 = CallSafeBuiltin vector(%24.1, %30.1)
- goto BB31
- BB31
- val^ %31.0 = SetShared %30.2
- val %31.1 = Force %31.0, e22.2
- void StVar array, %31.1, e22.2
- real$' %31.3 = LdConst [1] 1
- real$' %31.4 = LdConst [1] 4
- cp %31.5 = Checkpoint -> BB32 (by default) | BB35 (if coming from expect)
- BB32
- val' %32.0 = Colon %31.3, %31.4, elided
- val' %32.1 = SetShared %32.0
- int$' %32.2 = ForSeqSize %32.1
- int$' %32.3 = LdConst [1] 0
- goto BB33
- BB35
- fs %35.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %35.1 = FrameState 0x7f924457f3d0+192: [%31.3, %31.4], env=e22.2, next=%35.0
- void Deopt %35.1
- BB33
- val %33.0 = Phi %31.1:BB31, %42.7:BB42
- int$' %33.1 = Phi %32.3:BB32, %33.3:BB42
- int$' %33.2 = Inc %33.1
- int$' %33.3 = EnsureNamed %33.2
- cp %33.4 = Checkpoint -> BB34 (by default) | BB36 (if coming from expect)
- BB34
- lgl' %34.0 = Lt %32.2, %33.3, elided
- t %34.1 = AsTest %34.0
- void Branch %34.1 -> BB37 (if true) | BB38 (if false)
- BB36
- fs %36.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %36.1 = FrameState 0x7f924457f3d0+203: [%32.1, %32.2, %33.3, %32.2, %33.3], env=e22.2, next=%36.0
- void Deopt %36.1
- BB37
- goto BB27
- BB38
- cp %38.0 = Checkpoint -> BB39 (by default) | BB40 (if coming from expect)
- BB39
- val$ %39.0 = Extract2_1D %32.1, %33.3, e22.2
- void StVar i, %39.0, e22.2
- cls %39.2 = LdFun buildTreeDepth, e22.2
- prom %39.3 = MkArg missing, Prom(8), e22.2
- prom %39.4 = MkArg missing, Prom(9), e22.2
- cls' %39.5 = LdConst function (depth, random) { if (d...
- cp %39.6 = Checkpoint -> BB41 (by default) | BB43 (if coming from expect)
- BB40
- fs %40.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %40.1 = FrameState 0x7f924457f3d0+219: [%32.1, %32.2, %33.3, %32.1, %33.3], env=e22.2, next=%40.0
- void Deopt %40.1
- BB41
- t %41.0 = Identical %39.2, %39.5
- void Assume %41.0, %39.6
- fs %41.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %41.3 = FrameState 0x7f924457f3d0+290: [%32.1, %32.2, %33.3], env=e22.2, next=%41.2
- goto BB42
- BB43
- fs %43.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %43.1 = FrameState 0x7f924457f3d0+273: [%32.1, %32.2, %33.3, %39.2], env=e22.2, next=%43.0
- void Deopt %43.1
- BB42
- val^ %42.0 = StaticCall buildTreeDepth[0x7f92446010b0](%39.3, %39.4) %41.3, e22.2
- val^? %42.1 = LdVar array, e22.2
- val %42.2 = Force %42.1, e22.2
- val^? %42.3 = LdVar i, e22.2
- val %42.4 = Force %42.3, e22.2
- val^ %42.5 = EnsureNamed %42.0
- val %42.6 = Force %42.5, e22.2
- val %42.7 = Subassign2_1D %42.6, %42.2, %42.4, e22.2
- void StVar array, %42.7, e22.2
- goto BB33
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.3, %0.4
- fs %1.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %1.2 = StaticCall nextRandom[0x7f9244606500]() %1.1, e0.0
- real$' %1.3 = LdConst [1] 10
- cp %1.4 = Checkpoint -> BB3 (by default) | BB6 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Force %1.2, e0.0
- val %3.1 = Mod %3.0, %1.3, e0.0
- real$' %3.2 = LdConst [1] 1
- cp %3.3 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB6
- fs %6.0 = FrameState 0x7f9244580470+71: [%1.2, %1.3], env=e0.0
- void Deopt %6.0
- BB5
- val %5.0 = Add %3.1, %3.2, e0.0
- void Return %5.0
- BB4
- fs %4.0 = FrameState 0x7f9244580470+86: [%3.1, %3.2], env=e0.0
- void Deopt %4.0
- Prom 6:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 7:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- BB2
- fs %2.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 84
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB39 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB39
- cls %39.0 = LdFun c, e0.2
- prom %39.1 = MkArg missing, Prom(4), e0.2
- fs %39.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %39.3 = Call %39.0(%39.1) %39.2, e0.2
- goto BB40
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- real$' %3.2 = LdConst [1] 4
- cls' %3.3 = LdConst function (mode = "logical", length = ...
- cp %3.4 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB40
- val^ %40.0 = Phi %9.0:BB38, %39.3:BB39
- val %40.1 = Force %40.0, e0.2
- void Return %40.1
- BB5
- t %5.0 = Identical %3.0, %3.3
- void Assume %5.0, %3.4
- val %5.2 = CallSafeBuiltin vector(%3.1, %3.2)
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = SetShared %5.2
- void StVar array, %5.2, e0.2
- real$' %6.2 = LdConst [1] 1
- real$' %6.3 = LdConst [1] 4
- cp %6.4 = Checkpoint -> BB8 (by default) | BB7 (if coming from expect)
- BB8
- val' %8.0 = Colon %6.2, %6.3, elided
- val' %8.1 = SetShared %8.0
- int$' %8.2 = ForSeqSize %8.1
- int$' %8.3 = LdConst [1] 0
- goto BB9
- BB7
- fs %7.0 = FrameState 0x7f924457f3d0+192: [%6.2, %6.3], env=e0.2
- void Deopt %7.0
- BB9
- val %9.0 = Phi %5.2:BB6, %42.5:BB42
- int$' %9.1 = Phi %8.3:BB8, %9.3:BB42
- int$' %9.2 = Inc %9.1
- int$' %9.3 = EnsureNamed %9.2
- cp %9.4 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- lgl' %11.0 = Lt %8.2, %9.3, elided
- t %11.1 = AsTest %11.0
- void Branch %11.1 -> BB38 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+203: [%8.1, %8.2, %9.3, %8.2, %9.3], env=e0.2
- void Deopt %10.0
- BB38
- goto BB40
- BB12
- cp %12.0 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB14
- val$ %14.0 = Extract2_1D %8.1, %9.3, e0.2
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cls' %14.5 = LdConst function (depth, random) { if (d...
- cp %14.6 = Checkpoint -> BB16 (by default) | BB15 (if coming from expect)
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+219: [%8.1, %8.2, %9.3, %8.1, %9.3], env=e0.2
- void Deopt %13.0
- BB16
- t %16.0 = Identical %14.2, %14.5
- void Assume %16.0, %14.6
- goto BB17
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+273: [%8.1, %8.2, %9.3, %14.2], env=e0.2
- void Deopt %15.0
- BB17
- val^? %17.0 = CastType %14.3
- val^? %17.1 = CastType %14.4
- env e17.2 = MkEnv depth=%17.0, random=%17.1, parent=<environment: 0x7f9246b48c88>
- val %17.3 = Force %17.0, e17.2
- real$' %17.4 = LdConst [1] 1
- cp %17.5 = Checkpoint -> BB19 (by default) | BB18 (if coming from expect)
- BB19
- lgl %19.0 = Eq %17.3, %17.4, e17.2
- lgl %19.1 = AsLogical %19.0
- t %19.2 = AsTest %19.1
- void Branch %19.2 -> BB37 (if true) | BB20 (if false)
- BB18
- fs %18.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %18.1 = FrameState 0x7f924457f3d0+58: [%17.3, %17.4], env=e17.2, next=%18.0
- void Deopt %18.1
- BB37
- cls %37.0 = LdFun c, e17.2
- prom %37.1 = MkArg missing, Prom(5), e17.2
- fs %37.2 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %37.3 = FrameState 0x7f924457f3d0+410: [], env=e17.2, next=%37.2
- val^ %37.4 = Call %37.0(%37.1) %37.3, e17.2
- goto BB41
- BB20
- cls %20.0 = LdFun vector, e17.2
- str$' %20.1 = LdConst [1] "list"
- real$' %20.2 = LdConst [1] 4
- cls' %20.3 = LdConst function (mode = "logical", length = ...
- cp %20.4 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB41
- val^ %41.0 = Phi %27.0:BB36, %37.4:BB37
- val %41.1 = Force %41.0, e17.2
- goto BB42
- BB22
- t %22.0 = Identical %20.0, %20.3
- void Assume %22.0, %20.4
- fs %22.2 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- goto BB23
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+113: [%20.0], env=e17.2, next=%21.0
- void Deopt %21.1
- BB42
- val^? %42.0 = LdVar array, e0.2
- val %42.1 = Force %42.0, e0.2
- val^? %42.2 = LdVar i, e0.2
- val %42.3 = Force %42.2, e0.2
- val %42.4 = EnsureNamed %41.1
- val %42.5 = Subassign2_1D %42.4, %42.1, %42.3, e0.2
- void StVar array, %42.5, e0.2
- goto BB9
- BB23
- env e23.0 = MkEnv mode=%20.1, length=%20.2, parent=<environment: namespace:base>
- val %23.1 = CallSafeBuiltin vector(%20.1, %20.2)
- goto BB24
- BB24
- val %24.0 = SetShared %23.1
- void StVar array, %23.1, e17.2
- real$' %24.2 = LdConst [1] 1
- real$' %24.3 = LdConst [1] 4
- cp %24.4 = Checkpoint -> BB26 (by default) | BB25 (if coming from expect)
- BB26
- val' %26.0 = Colon %24.2, %24.3, elided
- val' %26.1 = SetShared %26.0
- int$' %26.2 = ForSeqSize %26.1
- int$' %26.3 = LdConst [1] 0
- goto BB27
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+192: [%24.2, %24.3], env=e17.2, next=%25.0
- void Deopt %25.1
- BB27
- val %27.0 = Phi %23.1:BB24, %35.7:BB35
- int$' %27.1 = Phi %26.3:BB26, %27.3:BB35
- int$' %27.2 = Inc %27.1
- int$' %27.3 = EnsureNamed %27.2
- cp %27.4 = Checkpoint -> BB29 (by default) | BB28 (if coming from expect)
- BB29
- lgl' %29.0 = Lt %26.2, %27.3, elided
- t %29.1 = AsTest %29.0
- void Branch %29.1 -> BB36 (if true) | BB30 (if false)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+203: [%26.1, %26.2, %27.3, %26.2, %27.3], env=e17.2, next=%28.0
- void Deopt %28.1
- BB36
- goto BB41
- BB30
- cp %30.0 = Checkpoint -> BB32 (by default) | BB31 (if coming from expect)
- BB32
- val$ %32.0 = Extract2_1D %26.1, %27.3, e17.2
- void StVar i, %32.0, e17.2
- cls %32.2 = LdFun buildTreeDepth, e17.2
- prom %32.3 = MkArg missing, Prom(8), e17.2
- prom %32.4 = MkArg missing, Prom(9), e17.2
- cls' %32.5 = LdConst function (depth, random) { if (d...
- cp %32.6 = Checkpoint -> BB34 (by default) | BB33 (if coming from expect)
- BB31
- fs %31.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %31.1 = FrameState 0x7f924457f3d0+219: [%26.1, %26.2, %27.3, %26.1, %27.3], env=e17.2, next=%31.0
- void Deopt %31.1
- BB34
- t %34.0 = Identical %32.2, %32.5
- void Assume %34.0, %32.6
- fs %34.2 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %34.3 = FrameState 0x7f924457f3d0+290: [%26.1, %26.2, %27.3], env=e17.2, next=%34.2
- goto BB35
- BB33
- fs %33.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %33.1 = FrameState 0x7f924457f3d0+273: [%26.1, %26.2, %27.3, %32.2], env=e17.2, next=%33.0
- void Deopt %33.1
- BB35
- val^ %35.0 = StaticCall buildTreeDepth[0x7f92446010b0](%32.3, %32.4) %34.3, e17.2
- val^? %35.1 = LdVar array, e17.2
- val %35.2 = Force %35.1, e17.2
- val^? %35.3 = LdVar i, e17.2
- val %35.4 = Force %35.3, e17.2
- val^ %35.5 = EnsureNamed %35.0
- val %35.6 = Force %35.5, e17.2
- val %35.7 = Subassign2_1D %35.6, %35.2, %35.4, e17.2
- void StVar array, %35.7, e17.2
- goto BB27
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Delay instructions: == 91
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB39 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB39
- cls %39.0 = LdFun c, e0.2
- prom %39.1 = MkArg missing, Prom(4), e0.2
- fs %39.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %39.3 = Call %39.0(%39.1) %39.2, e0.2
- goto BB40
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB40
- val^ %40.0 = Phi %9.0:BB38, %39.3:BB39
- val %40.1 = Force %40.0, e0.2
- void Return %40.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = SetShared %5.5
- void StVar array, %5.5, e0.2
- real$' %6.2 = LdConst [1] 1
- real$' %6.3 = LdConst [1] 4
- cp %6.4 = Checkpoint -> BB8 (by default) | BB7 (if coming from expect)
- BB8
- val' %8.0 = Colon %6.2, %6.3, elided
- val' %8.1 = SetShared %8.0
- int$' %8.2 = ForSeqSize %8.1
- int$' %8.3 = LdConst [1] 0
- goto BB9
- BB7
- fs %7.0 = FrameState 0x7f924457f3d0+192: [%6.2, %6.3], env=e0.2
- void Deopt %7.0
- BB9
- val %9.0 = Phi %5.5:BB6, %42.5:BB42
- int$' %9.1 = Phi %8.3:BB8, %9.3:BB42
- int$' %9.2 = Inc %9.1
- int$' %9.3 = EnsureNamed %9.2
- cp %9.4 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- lgl' %11.0 = Lt %8.2, %9.3, elided
- t %11.1 = AsTest %11.0
- void Branch %11.1 -> BB38 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+203: [%8.1, %8.2, %9.3, %8.2, %9.3], env=e0.2
- void Deopt %10.0
- BB38
- goto BB40
- BB12
- cp %12.0 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB14
- val$ %14.0 = Extract2_1D %8.1, %9.3, e0.2
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cp %14.5 = Checkpoint -> BB16 (by default) | BB15 (if coming from expect)
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+219: [%8.1, %8.2, %9.3, %8.1, %9.3], env=e0.2
- void Deopt %13.0
- BB16
- cls' %16.0 = LdConst function (depth, random) { if (d...
- t %16.1 = Identical %14.2, %16.0
- void Assume %16.1, %14.5
- goto BB17
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+273: [%8.1, %8.2, %9.3, %14.2], env=e0.2
- void Deopt %15.0
- BB17
- val^? %17.0 = CastType %14.3
- val^? %17.1 = CastType %14.4
- env e17.2 = MkEnv depth=%17.0, random=%17.1, parent=<environment: 0x7f9246b48c88>
- val %17.3 = Force %17.0, e17.2
- real$' %17.4 = LdConst [1] 1
- cp %17.5 = Checkpoint -> BB19 (by default) | BB18 (if coming from expect)
- BB19
- lgl %19.0 = Eq %17.3, %17.4, e17.2
- lgl %19.1 = AsLogical %19.0
- t %19.2 = AsTest %19.1
- void Branch %19.2 -> BB37 (if true) | BB20 (if false)
- BB18
- fs %18.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %18.1 = FrameState 0x7f924457f3d0+58: [%17.3, %17.4], env=e17.2, next=%18.0
- void Deopt %18.1
- BB37
- cls %37.0 = LdFun c, e17.2
- prom %37.1 = MkArg missing, Prom(5), e17.2
- fs %37.2 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %37.3 = FrameState 0x7f924457f3d0+410: [], env=e17.2, next=%37.2
- val^ %37.4 = Call %37.0(%37.1) %37.3, e17.2
- goto BB41
- BB20
- cls %20.0 = LdFun vector, e17.2
- str$' %20.1 = LdConst [1] "list"
- real$' %20.2 = LdConst [1] 4
- cp %20.3 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB41
- val^ %41.0 = Phi %27.0:BB36, %37.4:BB37
- val %41.1 = Force %41.0, e17.2
- goto BB42
- BB22
- cls' %22.0 = LdConst function (mode = "logical", length = ...
- t %22.1 = Identical %20.0, %22.0
- void Assume %22.1, %20.3
- fs %22.3 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- goto BB23
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+113: [%20.0], env=e17.2, next=%21.0
- void Deopt %21.1
- BB42
- val^? %42.0 = LdVar array, e0.2
- val %42.1 = Force %42.0, e0.2
- val^? %42.2 = LdVar i, e0.2
- val %42.3 = Force %42.2, e0.2
- val %42.4 = EnsureNamed %41.1
- val %42.5 = Subassign2_1D %42.4, %42.1, %42.3, e0.2
- void StVar array, %42.5, e0.2
- goto BB9
- BB23
- env e23.0 = MkEnv mode=%20.1, length=%20.2, parent=<environment: namespace:base>
- val %23.1 = CallSafeBuiltin vector(%20.1, %20.2)
- goto BB24
- BB24
- val %24.0 = SetShared %23.1
- void StVar array, %23.1, e17.2
- real$' %24.2 = LdConst [1] 1
- real$' %24.3 = LdConst [1] 4
- cp %24.4 = Checkpoint -> BB26 (by default) | BB25 (if coming from expect)
- BB26
- val' %26.0 = Colon %24.2, %24.3, elided
- val' %26.1 = SetShared %26.0
- int$' %26.2 = ForSeqSize %26.1
- int$' %26.3 = LdConst [1] 0
- goto BB27
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+192: [%24.2, %24.3], env=e17.2, next=%25.0
- void Deopt %25.1
- BB27
- val %27.0 = Phi %23.1:BB24, %35.7:BB35
- int$' %27.1 = Phi %26.3:BB26, %27.3:BB35
- int$' %27.2 = Inc %27.1
- int$' %27.3 = EnsureNamed %27.2
- cp %27.4 = Checkpoint -> BB29 (by default) | BB28 (if coming from expect)
- BB29
- lgl' %29.0 = Lt %26.2, %27.3, elided
- t %29.1 = AsTest %29.0
- void Branch %29.1 -> BB36 (if true) | BB30 (if false)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+203: [%26.1, %26.2, %27.3, %26.2, %27.3], env=e17.2, next=%28.0
- void Deopt %28.1
- BB36
- goto BB41
- BB30
- cp %30.0 = Checkpoint -> BB32 (by default) | BB31 (if coming from expect)
- BB32
- val$ %32.0 = Extract2_1D %26.1, %27.3, e17.2
- void StVar i, %32.0, e17.2
- cls %32.2 = LdFun buildTreeDepth, e17.2
- prom %32.3 = MkArg missing, Prom(8), e17.2
- prom %32.4 = MkArg missing, Prom(9), e17.2
- cp %32.5 = Checkpoint -> BB34 (by default) | BB33 (if coming from expect)
- BB31
- fs %31.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %31.1 = FrameState 0x7f924457f3d0+219: [%26.1, %26.2, %27.3, %26.1, %27.3], env=e17.2, next=%31.0
- void Deopt %31.1
- BB34
- cls' %34.0 = LdConst function (depth, random) { if (d...
- t %34.1 = Identical %32.2, %34.0
- void Assume %34.1, %32.5
- fs %34.3 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %34.4 = FrameState 0x7f924457f3d0+290: [%26.1, %26.2, %27.3], env=e17.2, next=%34.3
- goto BB35
- BB33
- fs %33.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %33.1 = FrameState 0x7f924457f3d0+273: [%26.1, %26.2, %27.3, %32.2], env=e17.2, next=%33.0
- void Deopt %33.1
- BB35
- val^ %35.0 = StaticCall buildTreeDepth[0x7f92446010b0](%32.3, %32.4) %34.4, e17.2
- val^? %35.1 = LdVar array, e17.2
- val %35.2 = Force %35.1, e17.2
- val^? %35.3 = LdVar i, e17.2
- val %35.4 = Force %35.3, e17.2
- val^ %35.5 = EnsureNamed %35.0
- val %35.6 = Force %35.5, e17.2
- val %35.7 = Subassign2_1D %35.6, %35.2, %35.4, e17.2
- void StVar array, %35.7, e17.2
- goto BB27
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Elide environments not needed: == 98
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB39 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB39
- cls %39.0 = LdFun c, e0.2
- prom %39.1 = MkArg missing, Prom(4), e0.2
- fs %39.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %39.3 = Call %39.0(%39.1) %39.2, e0.2
- goto BB40
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB40
- val^ %40.0 = Phi %9.0:BB38, %39.3:BB39
- val %40.1 = Force %40.0, e0.2
- void Return %40.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = SetShared %5.5
- void StVar array, %5.5, e0.2
- real$' %6.2 = LdConst [1] 1
- real$' %6.3 = LdConst [1] 4
- cp %6.4 = Checkpoint -> BB8 (by default) | BB7 (if coming from expect)
- BB8
- val' %8.0 = Colon %6.2, %6.3, elided
- val' %8.1 = SetShared %8.0
- int$' %8.2 = ForSeqSize %8.1
- int$' %8.3 = LdConst [1] 0
- goto BB9
- BB7
- fs %7.0 = FrameState 0x7f924457f3d0+192: [%6.2, %6.3], env=e0.2
- void Deopt %7.0
- BB9
- val %9.0 = Phi %5.5:BB6, %42.5:BB42
- int$' %9.1 = Phi %8.3:BB8, %9.3:BB42
- int$' %9.2 = Inc %9.1
- int$' %9.3 = EnsureNamed %9.2
- cp %9.4 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- lgl' %11.0 = Lt %8.2, %9.3, elided
- t %11.1 = AsTest %11.0
- void Branch %11.1 -> BB38 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+203: [%8.1, %8.2, %9.3, %8.2, %9.3], env=e0.2
- void Deopt %10.0
- BB38
- goto BB40
- BB12
- cp %12.0 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB14
- val$' %14.0 = Extract2_1D %8.1, %9.3, elided
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cp %14.5 = Checkpoint -> BB16 (by default) | BB15 (if coming from expect)
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+219: [%8.1, %8.2, %9.3, %8.1, %9.3], env=e0.2
- void Deopt %13.0
- BB16
- cls' %16.0 = LdConst function (depth, random) { if (d...
- t %16.1 = Identical %14.2, %16.0
- void Assume %16.1, %14.5
- goto BB17
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+273: [%8.1, %8.2, %9.3, %14.2], env=e0.2
- void Deopt %15.0
- BB17
- val^? %17.0 = CastType %14.3
- val^? %17.1 = CastType %14.4
- env e17.2 = MkEnv depth=%17.0, random=%17.1, parent=<environment: 0x7f9246b48c88>
- val %17.3 = Force %17.0, e17.2
- real$' %17.4 = LdConst [1] 1
- cp %17.5 = Checkpoint -> BB19 (by default) | BB18 (if coming from expect)
- BB19
- lgl %19.0 = Eq %17.3, %17.4, e17.2
- lgl %19.1 = AsLogical %19.0
- t %19.2 = AsTest %19.1
- void Branch %19.2 -> BB37 (if true) | BB20 (if false)
- BB18
- fs %18.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %18.1 = FrameState 0x7f924457f3d0+58: [%17.3, %17.4], env=e17.2, next=%18.0
- void Deopt %18.1
- BB37
- cls %37.0 = LdFun c, e17.2
- prom %37.1 = MkArg missing, Prom(5), e17.2
- fs %37.2 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %37.3 = FrameState 0x7f924457f3d0+410: [], env=e17.2, next=%37.2
- val^ %37.4 = Call %37.0(%37.1) %37.3, e17.2
- goto BB41
- BB20
- cls %20.0 = LdFun vector, e17.2
- str$' %20.1 = LdConst [1] "list"
- real$' %20.2 = LdConst [1] 4
- cp %20.3 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB41
- val^ %41.0 = Phi %27.0:BB36, %37.4:BB37
- val %41.1 = Force %41.0, e17.2
- goto BB42
- BB22
- cls' %22.0 = LdConst function (mode = "logical", length = ...
- t %22.1 = Identical %20.0, %22.0
- void Assume %22.1, %20.3
- fs %22.3 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- goto BB23
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+113: [%20.0], env=e17.2, next=%21.0
- void Deopt %21.1
- BB42
- val^? %42.0 = LdVar array, e0.2
- val %42.1 = Force %42.0, e0.2
- val^? %42.2 = LdVar i, e0.2
- val %42.3 = Force %42.2, e0.2
- val %42.4 = EnsureNamed %41.1
- val %42.5 = Subassign2_1D %42.4, %42.1, %42.3, e0.2
- void StVar array, %42.5, e0.2
- goto BB9
- BB23
- val %23.0 = CallSafeBuiltin vector(%20.1, %20.2)
- goto BB24
- BB24
- val %24.0 = SetShared %23.0
- void StVar array, %23.0, e17.2
- real$' %24.2 = LdConst [1] 1
- real$' %24.3 = LdConst [1] 4
- cp %24.4 = Checkpoint -> BB26 (by default) | BB25 (if coming from expect)
- BB26
- val' %26.0 = Colon %24.2, %24.3, elided
- val' %26.1 = SetShared %26.0
- int$' %26.2 = ForSeqSize %26.1
- int$' %26.3 = LdConst [1] 0
- goto BB27
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+192: [%24.2, %24.3], env=e17.2, next=%25.0
- void Deopt %25.1
- BB27
- val %27.0 = Phi %23.0:BB24, %35.7:BB35
- int$' %27.1 = Phi %26.3:BB26, %27.3:BB35
- int$' %27.2 = Inc %27.1
- int$' %27.3 = EnsureNamed %27.2
- cp %27.4 = Checkpoint -> BB29 (by default) | BB28 (if coming from expect)
- BB29
- lgl' %29.0 = Lt %26.2, %27.3, elided
- t %29.1 = AsTest %29.0
- void Branch %29.1 -> BB36 (if true) | BB30 (if false)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+203: [%26.1, %26.2, %27.3, %26.2, %27.3], env=e17.2, next=%28.0
- void Deopt %28.1
- BB36
- goto BB41
- BB30
- cp %30.0 = Checkpoint -> BB32 (by default) | BB31 (if coming from expect)
- BB32
- val$' %32.0 = Extract2_1D %26.1, %27.3, elided
- void StVar i, %32.0, e17.2
- cls %32.2 = LdFun buildTreeDepth, e17.2
- prom %32.3 = MkArg missing, Prom(8), e17.2
- prom %32.4 = MkArg missing, Prom(9), e17.2
- cp %32.5 = Checkpoint -> BB34 (by default) | BB33 (if coming from expect)
- BB31
- fs %31.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %31.1 = FrameState 0x7f924457f3d0+219: [%26.1, %26.2, %27.3, %26.1, %27.3], env=e17.2, next=%31.0
- void Deopt %31.1
- BB34
- cls' %34.0 = LdConst function (depth, random) { if (d...
- t %34.1 = Identical %32.2, %34.0
- void Assume %34.1, %32.5
- fs %34.3 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %34.4 = FrameState 0x7f924457f3d0+290: [%26.1, %26.2, %27.3], env=e17.2, next=%34.3
- goto BB35
- BB33
- fs %33.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %33.1 = FrameState 0x7f924457f3d0+273: [%26.1, %26.2, %27.3, %32.2], env=e17.2, next=%33.0
- void Deopt %33.1
- BB35
- val^ %35.0 = StaticCall buildTreeDepth[0x7f92446010b0](%32.3, %32.4) %34.4, e17.2
- val^? %35.1 = LdVar array, e17.2
- val %35.2 = Force %35.1, e17.2
- val^? %35.3 = LdVar i, e17.2
- val %35.4 = Force %35.3, e17.2
- val^ %35.5 = EnsureNamed %35.0
- val %35.6 = Force %35.5, e17.2
- val %35.7 = Subassign2_1D %35.6, %35.2, %35.4, e17.2
- void StVar array, %35.7, e17.2
- goto BB27
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Move environment creation as far as possible: == 105
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB39 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB39
- cls %39.0 = LdFun c, e0.2
- prom %39.1 = MkArg missing, Prom(4), e0.2
- fs %39.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %39.3 = Call %39.0(%39.1) %39.2, e0.2
- goto BB40
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB40
- val^ %40.0 = Phi %9.0:BB38, %39.3:BB39
- val %40.1 = Force %40.0, e0.2
- void Return %40.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = SetShared %5.5
- void StVar array, %5.5, e0.2
- real$' %6.2 = LdConst [1] 1
- real$' %6.3 = LdConst [1] 4
- cp %6.4 = Checkpoint -> BB8 (by default) | BB7 (if coming from expect)
- BB8
- val' %8.0 = Colon %6.2, %6.3, elided
- val' %8.1 = SetShared %8.0
- int$' %8.2 = ForSeqSize %8.1
- int$' %8.3 = LdConst [1] 0
- goto BB9
- BB7
- fs %7.0 = FrameState 0x7f924457f3d0+192: [%6.2, %6.3], env=e0.2
- void Deopt %7.0
- BB9
- val %9.0 = Phi %5.5:BB6, %42.5:BB42
- int$' %9.1 = Phi %8.3:BB8, %9.3:BB42
- int$' %9.2 = Inc %9.1
- int$' %9.3 = EnsureNamed %9.2
- cp %9.4 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- lgl' %11.0 = Lt %8.2, %9.3, elided
- t %11.1 = AsTest %11.0
- void Branch %11.1 -> BB38 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+203: [%8.1, %8.2, %9.3, %8.2, %9.3], env=e0.2
- void Deopt %10.0
- BB38
- goto BB40
- BB12
- cp %12.0 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB14
- val$' %14.0 = Extract2_1D %8.1, %9.3, elided
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cp %14.5 = Checkpoint -> BB16 (by default) | BB15 (if coming from expect)
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+219: [%8.1, %8.2, %9.3, %8.1, %9.3], env=e0.2
- void Deopt %13.0
- BB16
- cls' %16.0 = LdConst function (depth, random) { if (d...
- t %16.1 = Identical %14.2, %16.0
- void Assume %16.1, %14.5
- goto BB17
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+273: [%8.1, %8.2, %9.3, %14.2], env=e0.2
- void Deopt %15.0
- BB17
- val^? %17.0 = CastType %14.3
- val^? %17.1 = CastType %14.4
- env e17.2 = MkEnv depth=%17.0, random=%17.1, parent=<environment: 0x7f9246b48c88>
- val %17.3 = Force %17.0, e17.2
- real$' %17.4 = LdConst [1] 1
- cp %17.5 = Checkpoint -> BB19 (by default) | BB18 (if coming from expect)
- BB19
- lgl %19.0 = Eq %17.3, %17.4, e17.2
- lgl %19.1 = AsLogical %19.0
- t %19.2 = AsTest %19.1
- void Branch %19.2 -> BB37 (if true) | BB20 (if false)
- BB18
- fs %18.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %18.1 = FrameState 0x7f924457f3d0+58: [%17.3, %17.4], env=e17.2, next=%18.0
- void Deopt %18.1
- BB37
- cls %37.0 = LdFun c, e17.2
- prom %37.1 = MkArg missing, Prom(5), e17.2
- fs %37.2 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %37.3 = FrameState 0x7f924457f3d0+410: [], env=e17.2, next=%37.2
- val^ %37.4 = Call %37.0(%37.1) %37.3, e17.2
- goto BB41
- BB20
- cls %20.0 = LdFun vector, e17.2
- str$' %20.1 = LdConst [1] "list"
- real$' %20.2 = LdConst [1] 4
- cp %20.3 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB41
- val^ %41.0 = Phi %27.0:BB36, %37.4:BB37
- val %41.1 = Force %41.0, e17.2
- goto BB42
- BB22
- cls' %22.0 = LdConst function (mode = "logical", length = ...
- t %22.1 = Identical %20.0, %22.0
- void Assume %22.1, %20.3
- fs %22.3 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- goto BB23
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+113: [%20.0], env=e17.2, next=%21.0
- void Deopt %21.1
- BB42
- val^? %42.0 = LdVar array, e0.2
- val %42.1 = Force %42.0, e0.2
- val^? %42.2 = LdVar i, e0.2
- val %42.3 = Force %42.2, e0.2
- val %42.4 = EnsureNamed %41.1
- val %42.5 = Subassign2_1D %42.4, %42.1, %42.3, e0.2
- void StVar array, %42.5, e0.2
- goto BB9
- BB23
- val %23.0 = CallSafeBuiltin vector(%20.1, %20.2)
- goto BB24
- BB24
- val %24.0 = SetShared %23.0
- void StVar array, %23.0, e17.2
- real$' %24.2 = LdConst [1] 1
- real$' %24.3 = LdConst [1] 4
- cp %24.4 = Checkpoint -> BB26 (by default) | BB25 (if coming from expect)
- BB26
- val' %26.0 = Colon %24.2, %24.3, elided
- val' %26.1 = SetShared %26.0
- int$' %26.2 = ForSeqSize %26.1
- int$' %26.3 = LdConst [1] 0
- goto BB27
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+192: [%24.2, %24.3], env=e17.2, next=%25.0
- void Deopt %25.1
- BB27
- val %27.0 = Phi %23.0:BB24, %35.7:BB35
- int$' %27.1 = Phi %26.3:BB26, %27.3:BB35
- int$' %27.2 = Inc %27.1
- int$' %27.3 = EnsureNamed %27.2
- cp %27.4 = Checkpoint -> BB29 (by default) | BB28 (if coming from expect)
- BB29
- lgl' %29.0 = Lt %26.2, %27.3, elided
- t %29.1 = AsTest %29.0
- void Branch %29.1 -> BB36 (if true) | BB30 (if false)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+203: [%26.1, %26.2, %27.3, %26.2, %27.3], env=e17.2, next=%28.0
- void Deopt %28.1
- BB36
- goto BB41
- BB30
- cp %30.0 = Checkpoint -> BB32 (by default) | BB31 (if coming from expect)
- BB32
- val$' %32.0 = Extract2_1D %26.1, %27.3, elided
- void StVar i, %32.0, e17.2
- cls %32.2 = LdFun buildTreeDepth, e17.2
- prom %32.3 = MkArg missing, Prom(8), e17.2
- prom %32.4 = MkArg missing, Prom(9), e17.2
- cp %32.5 = Checkpoint -> BB34 (by default) | BB33 (if coming from expect)
- BB31
- fs %31.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %31.1 = FrameState 0x7f924457f3d0+219: [%26.1, %26.2, %27.3, %26.1, %27.3], env=e17.2, next=%31.0
- void Deopt %31.1
- BB34
- cls' %34.0 = LdConst function (depth, random) { if (d...
- t %34.1 = Identical %32.2, %34.0
- void Assume %34.1, %32.5
- fs %34.3 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %34.4 = FrameState 0x7f924457f3d0+290: [%26.1, %26.2, %27.3], env=e17.2, next=%34.3
- goto BB35
- BB33
- fs %33.0 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- fs %33.1 = FrameState 0x7f924457f3d0+273: [%26.1, %26.2, %27.3, %32.2], env=e17.2, next=%33.0
- void Deopt %33.1
- BB35
- val^ %35.0 = StaticCall buildTreeDepth[0x7f92446010b0](%32.3, %32.4) %34.4, e17.2
- val^? %35.1 = LdVar array, e17.2
- val %35.2 = Force %35.1, e17.2
- val^? %35.3 = LdVar i, e17.2
- val %35.4 = Force %35.3, e17.2
- val^ %35.5 = EnsureNamed %35.0
- val %35.6 = Force %35.5, e17.2
- val %35.7 = Subassign2_1D %35.6, %35.2, %35.4, e17.2
- void StVar array, %35.7, e17.2
- goto BB27
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 112
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB38 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB38
- cls %38.0 = LdFun c, e0.2
- prom %38.1 = MkArg missing, Prom(4), e0.2
- fs %38.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %38.3 = Call %38.0(%38.1) %38.2, e0.2
- goto BB39
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB39
- val^ %39.0 = Phi %8.0:BB37, %38.3:BB38
- val %39.1 = Force %39.0, e0.2
- void Return %39.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %41.5:BB41
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB41
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB37 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB37
- goto BB39
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- goto BB16
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB16
- val^? %16.0 = CastType %13.3
- val^? %16.1 = CastType %13.4
- env e16.2 = MkEnv depth=%16.0, random=%16.1, parent=<environment: 0x7f9246b48c88>
- val %16.3 = Force %16.0, e16.2
- real$' %16.4 = LdConst [1] 1
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- lgl %18.0 = Eq %16.3, %16.4, e16.2
- lgl %18.1 = AsLogical %18.0
- t %18.2 = AsTest %18.1
- void Branch %18.2 -> BB36 (if true) | BB19 (if false)
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+58: [%16.3, %16.4], env=e16.2, next=%17.0
- void Deopt %17.1
- BB36
- cls %36.0 = LdFun c, e16.2
- prom %36.1 = MkArg missing, Prom(5), e16.2
- fs %36.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %36.3 = FrameState 0x7f924457f3d0+410: [], env=e16.2, next=%36.2
- val^ %36.4 = Call %36.0(%36.1) %36.3, e16.2
- goto BB40
- BB19
- cls %19.0 = LdFun vector, e16.2
- str$' %19.1 = LdConst [1] "list"
- real$' %19.2 = LdConst [1] 4
- cp %19.3 = Checkpoint -> BB21 (by default) | BB20 (if coming from expect)
- BB40
- val^ %40.0 = Phi %26.0:BB35, %36.4:BB36
- val %40.1 = Force %40.0, e16.2
- goto BB41
- BB21
- cls' %21.0 = LdConst function (mode = "logical", length = ...
- t %21.1 = Identical %19.0, %21.0
- void Assume %21.1, %19.3
- goto BB22
- BB20
- fs %20.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %20.1 = FrameState 0x7f924457f3d0+113: [%19.0], env=e16.2, next=%20.0
- void Deopt %20.1
- BB41
- val^? %41.0 = LdVar array, e0.2
- val %41.1 = Force %41.0, e0.2
- val^? %41.2 = LdVar i, e0.2
- val %41.3 = Force %41.2, e0.2
- val %41.4 = EnsureNamed %40.1
- val %41.5 = Subassign2_1D %41.4, %41.1, %41.3, e0.2
- void StVar array, %41.5, e0.2
- goto BB8
- BB22
- val %22.0 = CallSafeBuiltin vector(%19.1, %19.2)
- goto BB23
- BB23
- void StVar array, %22.0, e16.2
- real$' %23.1 = LdConst [1] 1
- real$' %23.2 = LdConst [1] 4
- cp %23.3 = Checkpoint -> BB25 (by default) | BB24 (if coming from expect)
- BB25
- val' %25.0 = Colon %23.1, %23.2, elided
- val' %25.1 = SetShared %25.0
- int$' %25.2 = ForSeqSize %25.1
- int$' %25.3 = LdConst [1] 0
- goto BB26
- BB24
- fs %24.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %24.1 = FrameState 0x7f924457f3d0+192: [%23.1, %23.2], env=e16.2, next=%24.0
- void Deopt %24.1
- BB26
- val %26.0 = Phi %22.0:BB23, %34.7:BB34
- int$' %26.1 = Phi %25.3:BB25, %26.3:BB34
- int$' %26.2 = Inc %26.1
- int$' %26.3 = EnsureNamed %26.2
- cp %26.4 = Checkpoint -> BB28 (by default) | BB27 (if coming from expect)
- BB28
- lgl' %28.0 = Lt %25.2, %26.3, elided
- t %28.1 = AsTest %28.0
- void Branch %28.1 -> BB35 (if true) | BB29 (if false)
- BB27
- fs %27.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %27.1 = FrameState 0x7f924457f3d0+203: [%25.1, %25.2, %26.3, %25.2, %26.3], env=e16.2, next=%27.0
- void Deopt %27.1
- BB35
- goto BB40
- BB29
- cp %29.0 = Checkpoint -> BB31 (by default) | BB30 (if coming from expect)
- BB31
- val$' %31.0 = Extract2_1D %25.1, %26.3, elided
- void StVar i, %31.0, e16.2
- cls %31.2 = LdFun buildTreeDepth, e16.2
- prom %31.3 = MkArg missing, Prom(8), e16.2
- prom %31.4 = MkArg missing, Prom(9), e16.2
- cp %31.5 = Checkpoint -> BB33 (by default) | BB32 (if coming from expect)
- BB30
- fs %30.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.1 = FrameState 0x7f924457f3d0+219: [%25.1, %25.2, %26.3, %25.1, %26.3], env=e16.2, next=%30.0
- void Deopt %30.1
- BB33
- cls' %33.0 = LdConst function (depth, random) { if (d...
- t %33.1 = Identical %31.2, %33.0
- void Assume %33.1, %31.5
- fs %33.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %33.4 = FrameState 0x7f924457f3d0+290: [%25.1, %25.2, %26.3], env=e16.2, next=%33.3
- goto BB34
- BB32
- fs %32.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.1 = FrameState 0x7f924457f3d0+273: [%25.1, %25.2, %26.3, %31.2], env=e16.2, next=%32.0
- void Deopt %32.1
- BB34
- val^ %34.0 = StaticCall buildTreeDepth[0x7f92446010b0](%31.3, %31.4) %33.4, e16.2
- val^? %34.1 = LdVar array, e16.2
- val %34.2 = Force %34.1, e16.2
- val^? %34.3 = LdVar i, e16.2
- val %34.4 = Force %34.3, e16.2
- val^ %34.5 = EnsureNamed %34.0
- val %34.6 = Force %34.5, e16.2
- val %34.7 = Subassign2_1D %34.6, %34.2, %34.4, e16.2
- void StVar array, %34.7, e16.2
- goto BB26
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline closures: == 119
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB38 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB38
- cls %38.0 = LdFun c, e0.2
- prom %38.1 = MkArg missing, Prom(4), e0.2
- fs %38.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %38.3 = Call %38.0(%38.1) %38.2, e0.2
- goto BB39
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB39
- val^ %39.0 = Phi %8.0:BB37, %38.3:BB38
- val %39.1 = Force %39.0, e0.2
- void Return %39.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %41.5:BB41
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB41
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB37 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB37
- goto BB39
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- goto BB16
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB16
- val^? %16.0 = CastType %13.3
- val^? %16.1 = CastType %13.4
- env e16.2 = MkEnv depth=%16.0, random=%16.1, parent=<environment: 0x7f9246b48c88>
- val %16.3 = Force %16.0, e16.2
- real$' %16.4 = LdConst [1] 1
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- lgl %18.0 = Eq %16.3, %16.4, e16.2
- lgl %18.1 = AsLogical %18.0
- t %18.2 = AsTest %18.1
- void Branch %18.2 -> BB36 (if true) | BB19 (if false)
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+58: [%16.3, %16.4], env=e16.2, next=%17.0
- void Deopt %17.1
- BB36
- cls %36.0 = LdFun c, e16.2
- prom %36.1 = MkArg missing, Prom(5), e16.2
- fs %36.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %36.3 = FrameState 0x7f924457f3d0+410: [], env=e16.2, next=%36.2
- val^ %36.4 = Call %36.0(%36.1) %36.3, e16.2
- goto BB40
- BB19
- cls %19.0 = LdFun vector, e16.2
- str$' %19.1 = LdConst [1] "list"
- real$' %19.2 = LdConst [1] 4
- cp %19.3 = Checkpoint -> BB21 (by default) | BB20 (if coming from expect)
- BB40
- val^ %40.0 = Phi %26.0:BB35, %36.4:BB36
- val %40.1 = Force %40.0, e16.2
- goto BB41
- BB21
- cls' %21.0 = LdConst function (mode = "logical", length = ...
- t %21.1 = Identical %19.0, %21.0
- void Assume %21.1, %19.3
- goto BB22
- BB20
- fs %20.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %20.1 = FrameState 0x7f924457f3d0+113: [%19.0], env=e16.2, next=%20.0
- void Deopt %20.1
- BB41
- val^? %41.0 = LdVar array, e0.2
- val %41.1 = Force %41.0, e0.2
- val^? %41.2 = LdVar i, e0.2
- val %41.3 = Force %41.2, e0.2
- val %41.4 = EnsureNamed %40.1
- val %41.5 = Subassign2_1D %41.4, %41.1, %41.3, e0.2
- void StVar array, %41.5, e0.2
- goto BB8
- BB22
- val %22.0 = CallSafeBuiltin vector(%19.1, %19.2)
- goto BB23
- BB23
- void StVar array, %22.0, e16.2
- real$' %23.1 = LdConst [1] 1
- real$' %23.2 = LdConst [1] 4
- cp %23.3 = Checkpoint -> BB25 (by default) | BB24 (if coming from expect)
- BB25
- val' %25.0 = Colon %23.1, %23.2, elided
- val' %25.1 = SetShared %25.0
- int$' %25.2 = ForSeqSize %25.1
- int$' %25.3 = LdConst [1] 0
- goto BB26
- BB24
- fs %24.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %24.1 = FrameState 0x7f924457f3d0+192: [%23.1, %23.2], env=e16.2, next=%24.0
- void Deopt %24.1
- BB26
- val %26.0 = Phi %22.0:BB23, %34.7:BB34
- int$' %26.1 = Phi %25.3:BB25, %26.3:BB34
- int$' %26.2 = Inc %26.1
- int$' %26.3 = EnsureNamed %26.2
- cp %26.4 = Checkpoint -> BB28 (by default) | BB27 (if coming from expect)
- BB28
- lgl' %28.0 = Lt %25.2, %26.3, elided
- t %28.1 = AsTest %28.0
- void Branch %28.1 -> BB35 (if true) | BB29 (if false)
- BB27
- fs %27.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %27.1 = FrameState 0x7f924457f3d0+203: [%25.1, %25.2, %26.3, %25.2, %26.3], env=e16.2, next=%27.0
- void Deopt %27.1
- BB35
- goto BB40
- BB29
- cp %29.0 = Checkpoint -> BB31 (by default) | BB30 (if coming from expect)
- BB31
- val$' %31.0 = Extract2_1D %25.1, %26.3, elided
- void StVar i, %31.0, e16.2
- cls %31.2 = LdFun buildTreeDepth, e16.2
- prom %31.3 = MkArg missing, Prom(8), e16.2
- prom %31.4 = MkArg missing, Prom(9), e16.2
- cp %31.5 = Checkpoint -> BB33 (by default) | BB32 (if coming from expect)
- BB30
- fs %30.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.1 = FrameState 0x7f924457f3d0+219: [%25.1, %25.2, %26.3, %25.1, %26.3], env=e16.2, next=%30.0
- void Deopt %30.1
- BB33
- cls' %33.0 = LdConst function (depth, random) { if (d...
- t %33.1 = Identical %31.2, %33.0
- void Assume %33.1, %31.5
- fs %33.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %33.4 = FrameState 0x7f924457f3d0+290: [%25.1, %25.2, %26.3], env=e16.2, next=%33.3
- goto BB34
- BB32
- fs %32.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.1 = FrameState 0x7f924457f3d0+273: [%25.1, %25.2, %26.3, %31.2], env=e16.2, next=%32.0
- void Deopt %32.1
- BB34
- val^ %34.0 = StaticCall buildTreeDepth[0x7f92446010b0](%31.3, %31.4) %33.4, e16.2
- val^? %34.1 = LdVar array, e16.2
- val %34.2 = Force %34.1, e16.2
- val^? %34.3 = LdVar i, e16.2
- val %34.4 = Force %34.3, e16.2
- val^ %34.5 = EnsureNamed %34.0
- val %34.6 = Force %34.5, e16.2
- val %34.7 = Subassign2_1D %34.6, %34.2, %34.4, e16.2
- void StVar array, %34.7, e16.2
- goto BB26
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline Promises: == 126
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB38 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB38
- cls %38.0 = LdFun c, e0.2
- prom %38.1 = MkArg missing, Prom(4), e0.2
- fs %38.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %38.3 = Call %38.0(%38.1) %38.2, e0.2
- goto BB39
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB39
- val^ %39.0 = Phi %8.0:BB37, %38.3:BB38
- val %39.1 = Force %39.0, e0.2
- void Return %39.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %41.5:BB41
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB41
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB37 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB37
- goto BB39
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- goto BB16
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB16
- val^? %16.0 = CastType %13.3
- val^? %16.1 = CastType %13.4
- env e16.2 = MkEnv depth=%16.0, random=%16.1, parent=<environment: 0x7f9246b48c88>
- val %16.3 = Force %16.0, e16.2
- real$' %16.4 = LdConst [1] 1
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- lgl %18.0 = Eq %16.3, %16.4, e16.2
- lgl %18.1 = AsLogical %18.0
- t %18.2 = AsTest %18.1
- void Branch %18.2 -> BB36 (if true) | BB19 (if false)
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+58: [%16.3, %16.4], env=e16.2, next=%17.0
- void Deopt %17.1
- BB36
- cls %36.0 = LdFun c, e16.2
- prom %36.1 = MkArg missing, Prom(5), e16.2
- fs %36.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %36.3 = FrameState 0x7f924457f3d0+410: [], env=e16.2, next=%36.2
- val^ %36.4 = Call %36.0(%36.1) %36.3, e16.2
- goto BB40
- BB19
- cls %19.0 = LdFun vector, e16.2
- str$' %19.1 = LdConst [1] "list"
- real$' %19.2 = LdConst [1] 4
- cp %19.3 = Checkpoint -> BB21 (by default) | BB20 (if coming from expect)
- BB40
- val^ %40.0 = Phi %26.0:BB35, %36.4:BB36
- val %40.1 = Force %40.0, e16.2
- goto BB41
- BB21
- cls' %21.0 = LdConst function (mode = "logical", length = ...
- t %21.1 = Identical %19.0, %21.0
- void Assume %21.1, %19.3
- goto BB22
- BB20
- fs %20.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %20.1 = FrameState 0x7f924457f3d0+113: [%19.0], env=e16.2, next=%20.0
- void Deopt %20.1
- BB41
- val^? %41.0 = LdVar array, e0.2
- val %41.1 = Force %41.0, e0.2
- val^? %41.2 = LdVar i, e0.2
- val %41.3 = Force %41.2, e0.2
- val %41.4 = EnsureNamed %40.1
- val %41.5 = Subassign2_1D %41.4, %41.1, %41.3, e0.2
- void StVar array, %41.5, e0.2
- goto BB8
- BB22
- val %22.0 = CallSafeBuiltin vector(%19.1, %19.2)
- goto BB23
- BB23
- void StVar array, %22.0, e16.2
- real$' %23.1 = LdConst [1] 1
- real$' %23.2 = LdConst [1] 4
- cp %23.3 = Checkpoint -> BB25 (by default) | BB24 (if coming from expect)
- BB25
- val' %25.0 = Colon %23.1, %23.2, elided
- val' %25.1 = SetShared %25.0
- int$' %25.2 = ForSeqSize %25.1
- int$' %25.3 = LdConst [1] 0
- goto BB26
- BB24
- fs %24.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %24.1 = FrameState 0x7f924457f3d0+192: [%23.1, %23.2], env=e16.2, next=%24.0
- void Deopt %24.1
- BB26
- val %26.0 = Phi %22.0:BB23, %34.7:BB34
- int$' %26.1 = Phi %25.3:BB25, %26.3:BB34
- int$' %26.2 = Inc %26.1
- int$' %26.3 = EnsureNamed %26.2
- cp %26.4 = Checkpoint -> BB28 (by default) | BB27 (if coming from expect)
- BB28
- lgl' %28.0 = Lt %25.2, %26.3, elided
- t %28.1 = AsTest %28.0
- void Branch %28.1 -> BB35 (if true) | BB29 (if false)
- BB27
- fs %27.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %27.1 = FrameState 0x7f924457f3d0+203: [%25.1, %25.2, %26.3, %25.2, %26.3], env=e16.2, next=%27.0
- void Deopt %27.1
- BB35
- goto BB40
- BB29
- cp %29.0 = Checkpoint -> BB31 (by default) | BB30 (if coming from expect)
- BB31
- val$' %31.0 = Extract2_1D %25.1, %26.3, elided
- void StVar i, %31.0, e16.2
- cls %31.2 = LdFun buildTreeDepth, e16.2
- prom %31.3 = MkArg missing, Prom(8), e16.2
- prom %31.4 = MkArg missing, Prom(9), e16.2
- cp %31.5 = Checkpoint -> BB33 (by default) | BB32 (if coming from expect)
- BB30
- fs %30.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.1 = FrameState 0x7f924457f3d0+219: [%25.1, %25.2, %26.3, %25.1, %26.3], env=e16.2, next=%30.0
- void Deopt %30.1
- BB33
- cls' %33.0 = LdConst function (depth, random) { if (d...
- t %33.1 = Identical %31.2, %33.0
- void Assume %33.1, %31.5
- fs %33.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %33.4 = FrameState 0x7f924457f3d0+290: [%25.1, %25.2, %26.3], env=e16.2, next=%33.3
- goto BB34
- BB32
- fs %32.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.1 = FrameState 0x7f924457f3d0+273: [%25.1, %25.2, %26.3, %31.2], env=e16.2, next=%32.0
- void Deopt %32.1
- BB34
- val^ %34.0 = StaticCall buildTreeDepth[0x7f92446010b0](%31.3, %31.4) %33.4, e16.2
- val^? %34.1 = LdVar array, e16.2
- val %34.2 = Force %34.1, e16.2
- val^? %34.3 = LdVar i, e16.2
- val %34.4 = Force %34.3, e16.2
- val^ %34.5 = EnsureNamed %34.0
- val %34.6 = Force %34.5, e16.2
- val %34.7 = Subassign2_1D %34.6, %34.2, %34.4, e16.2
- void StVar array, %34.7, e16.2
- goto BB26
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Scope resolution: == 133
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB38 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB38
- cls %38.0 = LdFun c, e0.2
- prom %38.1 = MkArg missing, Prom(4), e0.2
- fs %38.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %38.3 = Call %38.0(%38.1) %38.2, e0.2
- goto BB39
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB39
- val^ %39.0 = Phi %8.0:BB37, %38.3:BB38
- val %39.1 = Force %39.0, e0.2
- void Return %39.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %41.5:BB41
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB41
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB37 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB37
- goto BB39
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- goto BB16
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB16
- val^? %16.0 = CastType %13.3
- val^? %16.1 = CastType %13.4
- env e16.2 = MkEnv depth=%16.0, random=%16.1, parent=<environment: 0x7f9246b48c88>
- val %16.3 = Force %16.0, e16.2
- real$' %16.4 = LdConst [1] 1
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- lgl %18.0 = Eq %16.3, %16.4, e16.2
- lgl %18.1 = AsLogical %18.0
- t %18.2 = AsTest %18.1
- void Branch %18.2 -> BB36 (if true) | BB19 (if false)
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+58: [%16.3, %16.4], env=e16.2, next=%17.0
- void Deopt %17.1
- BB36
- cls %36.0 = LdFun c, e16.2
- prom %36.1 = MkArg missing, Prom(5), e16.2
- fs %36.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %36.3 = FrameState 0x7f924457f3d0+410: [], env=e16.2, next=%36.2
- val^ %36.4 = Call %36.0(%36.1) %36.3, e16.2
- goto BB40
- BB19
- cls %19.0 = LdFun vector, e16.2
- str$' %19.1 = LdConst [1] "list"
- real$' %19.2 = LdConst [1] 4
- cp %19.3 = Checkpoint -> BB21 (by default) | BB20 (if coming from expect)
- BB40
- val^ %40.0 = Phi %26.0:BB35, %36.4:BB36
- val %40.1 = Force %40.0, e16.2
- goto BB41
- BB21
- cls' %21.0 = LdConst function (mode = "logical", length = ...
- t %21.1 = Identical %19.0, %21.0
- void Assume %21.1, %19.3
- goto BB22
- BB20
- fs %20.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %20.1 = FrameState 0x7f924457f3d0+113: [%19.0], env=e16.2, next=%20.0
- void Deopt %20.1
- BB41
- val^? %41.0 = LdVar array, e0.2
- val %41.1 = Force %41.0, e0.2
- val^? %41.2 = LdVar i, e0.2
- val %41.3 = Force %41.2, e0.2
- val %41.4 = EnsureNamed %40.1
- val %41.5 = Subassign2_1D %41.4, %41.1, %41.3, e0.2
- void StVar array, %41.5, e0.2
- goto BB8
- BB22
- val %22.0 = CallSafeBuiltin vector(%19.1, %19.2)
- goto BB23
- BB23
- void StVar array, %22.0, e16.2
- real$' %23.1 = LdConst [1] 1
- real$' %23.2 = LdConst [1] 4
- cp %23.3 = Checkpoint -> BB25 (by default) | BB24 (if coming from expect)
- BB25
- val' %25.0 = Colon %23.1, %23.2, elided
- val' %25.1 = SetShared %25.0
- int$' %25.2 = ForSeqSize %25.1
- int$' %25.3 = LdConst [1] 0
- goto BB26
- BB24
- fs %24.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %24.1 = FrameState 0x7f924457f3d0+192: [%23.1, %23.2], env=e16.2, next=%24.0
- void Deopt %24.1
- BB26
- val %26.0 = Phi %22.0:BB23, %34.7:BB34
- int$' %26.1 = Phi %25.3:BB25, %26.3:BB34
- int$' %26.2 = Inc %26.1
- int$' %26.3 = EnsureNamed %26.2
- cp %26.4 = Checkpoint -> BB28 (by default) | BB27 (if coming from expect)
- BB28
- lgl' %28.0 = Lt %25.2, %26.3, elided
- t %28.1 = AsTest %28.0
- void Branch %28.1 -> BB35 (if true) | BB29 (if false)
- BB27
- fs %27.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %27.1 = FrameState 0x7f924457f3d0+203: [%25.1, %25.2, %26.3, %25.2, %26.3], env=e16.2, next=%27.0
- void Deopt %27.1
- BB35
- goto BB40
- BB29
- cp %29.0 = Checkpoint -> BB31 (by default) | BB30 (if coming from expect)
- BB31
- val$' %31.0 = Extract2_1D %25.1, %26.3, elided
- void StVar i, %31.0, e16.2
- cls %31.2 = LdFun buildTreeDepth, e16.2
- prom %31.3 = MkArg missing, Prom(8), e16.2
- prom %31.4 = MkArg missing, Prom(9), e16.2
- cp %31.5 = Checkpoint -> BB33 (by default) | BB32 (if coming from expect)
- BB30
- fs %30.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.1 = FrameState 0x7f924457f3d0+219: [%25.1, %25.2, %26.3, %25.1, %26.3], env=e16.2, next=%30.0
- void Deopt %30.1
- BB33
- cls' %33.0 = LdConst function (depth, random) { if (d...
- t %33.1 = Identical %31.2, %33.0
- void Assume %33.1, %31.5
- fs %33.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %33.4 = FrameState 0x7f924457f3d0+290: [%25.1, %25.2, %26.3], env=e16.2, next=%33.3
- goto BB34
- BB32
- fs %32.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.1 = FrameState 0x7f924457f3d0+273: [%25.1, %25.2, %26.3, %31.2], env=e16.2, next=%32.0
- void Deopt %32.1
- BB34
- val^ %34.0 = StaticCall buildTreeDepth[0x7f92446010b0](%31.3, %31.4) %33.4, e16.2
- val^? %34.1 = LdVar array, e16.2
- val %34.2 = Force %34.1, e16.2
- val^? %34.3 = LdVar i, e16.2
- val %34.4 = Force %34.3, e16.2
- val^ %34.5 = EnsureNamed %34.0
- val %34.6 = Force %34.5, e16.2
- val %34.7 = Subassign2_1D %34.6, %34.2, %34.4, e16.2
- void StVar array, %34.7, e16.2
- goto BB26
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Constant folding: == 140
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB38 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB38
- cls %38.0 = LdFun c, e0.2
- prom %38.1 = MkArg missing, Prom(4), e0.2
- fs %38.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %38.3 = Call %38.0(%38.1) %38.2, e0.2
- goto BB39
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB39
- val^ %39.0 = Phi %8.0:BB37, %38.3:BB38
- val %39.1 = Force %39.0, e0.2
- void Return %39.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %41.5:BB41
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB41
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB37 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB37
- goto BB39
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- goto BB16
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB16
- val^? %16.0 = CastType %13.3
- val^? %16.1 = CastType %13.4
- env e16.2 = MkEnv depth=%16.0, random=%16.1, parent=<environment: 0x7f9246b48c88>
- val %16.3 = Force %16.0, e16.2
- real$' %16.4 = LdConst [1] 1
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- lgl %18.0 = Eq %16.3, %16.4, e16.2
- lgl %18.1 = AsLogical %18.0
- t %18.2 = AsTest %18.1
- void Branch %18.2 -> BB36 (if true) | BB19 (if false)
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+58: [%16.3, %16.4], env=e16.2, next=%17.0
- void Deopt %17.1
- BB36
- cls %36.0 = LdFun c, e16.2
- prom %36.1 = MkArg missing, Prom(5), e16.2
- fs %36.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %36.3 = FrameState 0x7f924457f3d0+410: [], env=e16.2, next=%36.2
- val^ %36.4 = Call %36.0(%36.1) %36.3, e16.2
- goto BB40
- BB19
- cls %19.0 = LdFun vector, e16.2
- str$' %19.1 = LdConst [1] "list"
- real$' %19.2 = LdConst [1] 4
- cp %19.3 = Checkpoint -> BB21 (by default) | BB20 (if coming from expect)
- BB40
- val^ %40.0 = Phi %26.0:BB35, %36.4:BB36
- val %40.1 = Force %40.0, e16.2
- goto BB41
- BB21
- cls' %21.0 = LdConst function (mode = "logical", length = ...
- t %21.1 = Identical %19.0, %21.0
- void Assume %21.1, %19.3
- goto BB22
- BB20
- fs %20.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %20.1 = FrameState 0x7f924457f3d0+113: [%19.0], env=e16.2, next=%20.0
- void Deopt %20.1
- BB41
- val^? %41.0 = LdVar array, e0.2
- val %41.1 = Force %41.0, e0.2
- val^? %41.2 = LdVar i, e0.2
- val %41.3 = Force %41.2, e0.2
- val %41.4 = EnsureNamed %40.1
- val %41.5 = Subassign2_1D %41.4, %41.1, %41.3, e0.2
- void StVar array, %41.5, e0.2
- goto BB8
- BB22
- val %22.0 = CallSafeBuiltin vector(%19.1, %19.2)
- goto BB23
- BB23
- void StVar array, %22.0, e16.2
- real$' %23.1 = LdConst [1] 1
- real$' %23.2 = LdConst [1] 4
- cp %23.3 = Checkpoint -> BB25 (by default) | BB24 (if coming from expect)
- BB25
- val' %25.0 = Colon %23.1, %23.2, elided
- val' %25.1 = SetShared %25.0
- int$' %25.2 = ForSeqSize %25.1
- int$' %25.3 = LdConst [1] 0
- goto BB26
- BB24
- fs %24.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %24.1 = FrameState 0x7f924457f3d0+192: [%23.1, %23.2], env=e16.2, next=%24.0
- void Deopt %24.1
- BB26
- val %26.0 = Phi %22.0:BB23, %34.7:BB34
- int$' %26.1 = Phi %25.3:BB25, %26.3:BB34
- int$' %26.2 = Inc %26.1
- int$' %26.3 = EnsureNamed %26.2
- cp %26.4 = Checkpoint -> BB28 (by default) | BB27 (if coming from expect)
- BB28
- lgl' %28.0 = Lt %25.2, %26.3, elided
- t %28.1 = AsTest %28.0
- void Branch %28.1 -> BB35 (if true) | BB29 (if false)
- BB27
- fs %27.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %27.1 = FrameState 0x7f924457f3d0+203: [%25.1, %25.2, %26.3, %25.2, %26.3], env=e16.2, next=%27.0
- void Deopt %27.1
- BB35
- goto BB40
- BB29
- cp %29.0 = Checkpoint -> BB31 (by default) | BB30 (if coming from expect)
- BB31
- val$' %31.0 = Extract2_1D %25.1, %26.3, elided
- void StVar i, %31.0, e16.2
- cls %31.2 = LdFun buildTreeDepth, e16.2
- prom %31.3 = MkArg missing, Prom(8), e16.2
- prom %31.4 = MkArg missing, Prom(9), e16.2
- cp %31.5 = Checkpoint -> BB33 (by default) | BB32 (if coming from expect)
- BB30
- fs %30.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.1 = FrameState 0x7f924457f3d0+219: [%25.1, %25.2, %26.3, %25.1, %26.3], env=e16.2, next=%30.0
- void Deopt %30.1
- BB33
- cls' %33.0 = LdConst function (depth, random) { if (d...
- t %33.1 = Identical %31.2, %33.0
- void Assume %33.1, %31.5
- fs %33.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %33.4 = FrameState 0x7f924457f3d0+290: [%25.1, %25.2, %26.3], env=e16.2, next=%33.3
- goto BB34
- BB32
- fs %32.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.1 = FrameState 0x7f924457f3d0+273: [%25.1, %25.2, %26.3, %31.2], env=e16.2, next=%32.0
- void Deopt %32.1
- BB34
- val^ %34.0 = StaticCall buildTreeDepth[0x7f92446010b0](%31.3, %31.4) %33.4, e16.2
- val^? %34.1 = LdVar array, e16.2
- val %34.2 = Force %34.1, e16.2
- val^? %34.3 = LdVar i, e16.2
- val %34.4 = Force %34.3, e16.2
- val^ %34.5 = EnsureNamed %34.0
- val %34.6 = Force %34.5, e16.2
- val %34.7 = Subassign2_1D %34.6, %34.2, %34.4, e16.2
- void StVar array, %34.7, e16.2
- goto BB26
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 147
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB37 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB37
- cls %37.0 = LdFun c, e0.2
- prom %37.1 = MkArg missing, Prom(4), e0.2
- fs %37.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %37.3 = Call %37.0(%37.1) %37.2, e0.2
- goto BB38
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB38
- val^ %38.0 = Phi %8.0:BB36, %37.3:BB37
- val %38.1 = Force %38.0, e0.2
- void Return %38.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %40.5:BB40
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB40
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB36 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB36
- goto BB38
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB35 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB35
- cls %35.0 = LdFun c, e15.5
- prom %35.1 = MkArg missing, Prom(5), e15.5
- fs %35.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %35.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%35.2
- val^ %35.4 = Call %35.0(%35.1) %35.3, e15.5
- goto BB39
- BB18
- cls %18.0 = LdFun vector, e15.5
- str$' %18.1 = LdConst [1] "list"
- real$' %18.2 = LdConst [1] 4
- cp %18.3 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB39
- val^ %39.0 = Phi %25.0:BB34, %35.4:BB35
- val %39.1 = Force %39.0, e15.5
- goto BB40
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.3
- goto BB21
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB40
- val^? %40.0 = LdVar array, e0.2
- val %40.1 = Force %40.0, e0.2
- val^? %40.2 = LdVar i, e0.2
- val %40.3 = Force %40.2, e0.2
- val %40.4 = EnsureNamed %39.1
- val %40.5 = Subassign2_1D %40.4, %40.1, %40.3, e0.2
- void StVar array, %40.5, e0.2
- goto BB8
- BB21
- val %21.0 = CallSafeBuiltin vector(%18.1, %18.2)
- goto BB22
- BB22
- void StVar array, %21.0, e15.5
- real$' %22.1 = LdConst [1] 1
- real$' %22.2 = LdConst [1] 4
- cp %22.3 = Checkpoint -> BB24 (by default) | BB23 (if coming from expect)
- BB24
- val' %24.0 = Colon %22.1, %22.2, elided
- val' %24.1 = SetShared %24.0
- int$' %24.2 = ForSeqSize %24.1
- int$' %24.3 = LdConst [1] 0
- goto BB25
- BB23
- fs %23.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %23.1 = FrameState 0x7f924457f3d0+192: [%22.1, %22.2], env=e15.5, next=%23.0
- void Deopt %23.1
- BB25
- val %25.0 = Phi %21.0:BB22, %33.7:BB33
- int$' %25.1 = Phi %24.3:BB24, %25.3:BB33
- int$' %25.2 = Inc %25.1
- int$' %25.3 = EnsureNamed %25.2
- cp %25.4 = Checkpoint -> BB27 (by default) | BB26 (if coming from expect)
- BB27
- lgl' %27.0 = Lt %24.2, %25.3, elided
- t %27.1 = AsTest %27.0
- void Branch %27.1 -> BB34 (if true) | BB28 (if false)
- BB26
- fs %26.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %26.1 = FrameState 0x7f924457f3d0+203: [%24.1, %24.2, %25.3, %24.2, %25.3], env=e15.5, next=%26.0
- void Deopt %26.1
- BB34
- goto BB39
- BB28
- cp %28.0 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB30
- val$' %30.0 = Extract2_1D %24.1, %25.3, elided
- void StVar i, %30.0, e15.5
- cls %30.2 = LdFun buildTreeDepth, e15.5
- prom %30.3 = MkArg missing, Prom(8), e15.5
- prom %30.4 = MkArg missing, Prom(9), e15.5
- cp %30.5 = Checkpoint -> BB32 (by default) | BB31 (if coming from expect)
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+219: [%24.1, %24.2, %25.3, %24.1, %25.3], env=e15.5, next=%29.0
- void Deopt %29.1
- BB32
- cls' %32.0 = LdConst function (depth, random) { if (d...
- t %32.1 = Identical %30.2, %32.0
- void Assume %32.1, %30.5
- fs %32.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.4 = FrameState 0x7f924457f3d0+290: [%24.1, %24.2, %25.3], env=e15.5, next=%32.3
- goto BB33
- BB31
- fs %31.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %31.1 = FrameState 0x7f924457f3d0+273: [%24.1, %24.2, %25.3, %30.2], env=e15.5, next=%31.0
- void Deopt %31.1
- BB33
- val^ %33.0 = StaticCall buildTreeDepth[0x7f92446010b0](%30.3, %30.4) %32.4, e15.5
- val^? %33.1 = LdVar array, e15.5
- val %33.2 = Force %33.1, e15.5
- val^? %33.3 = LdVar i, e15.5
- val %33.4 = Force %33.3, e15.5
- val^ %33.5 = EnsureNamed %33.0
- val %33.6 = Force %33.5, e15.5
- val %33.7 = Subassign2_1D %33.6, %33.2, %33.4, e15.5
- void StVar array, %33.7, e15.5
- goto BB25
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Delay instructions: == 154
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB37 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB37
- cls %37.0 = LdFun c, e0.2
- prom %37.1 = MkArg missing, Prom(4), e0.2
- fs %37.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %37.3 = Call %37.0(%37.1) %37.2, e0.2
- goto BB38
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB38
- val^ %38.0 = Phi %8.0:BB36, %37.3:BB37
- val %38.1 = Force %38.0, e0.2
- void Return %38.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %40.5:BB40
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB40
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB36 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB36
- goto BB38
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB35 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB35
- cls %35.0 = LdFun c, e15.5
- prom %35.1 = MkArg missing, Prom(5), e15.5
- fs %35.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %35.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%35.2
- val^ %35.4 = Call %35.0(%35.1) %35.3, e15.5
- goto BB39
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB39
- val^ %39.0 = Phi %25.0:BB34, %35.4:BB35
- val %39.1 = Force %39.0, e15.5
- goto BB40
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- goto BB21
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB40
- val^? %40.0 = LdVar array, e0.2
- val %40.1 = Force %40.0, e0.2
- val^? %40.2 = LdVar i, e0.2
- val %40.3 = Force %40.2, e0.2
- val %40.4 = EnsureNamed %39.1
- val %40.5 = Subassign2_1D %40.4, %40.1, %40.3, e0.2
- void StVar array, %40.5, e0.2
- goto BB8
- BB21
- str$' %21.0 = LdConst [1] "list"
- real$' %21.1 = LdConst [1] 4
- val %21.2 = CallSafeBuiltin vector(%21.0, %21.1)
- goto BB22
- BB22
- void StVar array, %21.2, e15.5
- real$' %22.1 = LdConst [1] 1
- real$' %22.2 = LdConst [1] 4
- cp %22.3 = Checkpoint -> BB24 (by default) | BB23 (if coming from expect)
- BB24
- val' %24.0 = Colon %22.1, %22.2, elided
- val' %24.1 = SetShared %24.0
- int$' %24.2 = ForSeqSize %24.1
- int$' %24.3 = LdConst [1] 0
- goto BB25
- BB23
- fs %23.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %23.1 = FrameState 0x7f924457f3d0+192: [%22.1, %22.2], env=e15.5, next=%23.0
- void Deopt %23.1
- BB25
- val %25.0 = Phi %21.2:BB22, %33.7:BB33
- int$' %25.1 = Phi %24.3:BB24, %25.3:BB33
- int$' %25.2 = Inc %25.1
- int$' %25.3 = EnsureNamed %25.2
- cp %25.4 = Checkpoint -> BB27 (by default) | BB26 (if coming from expect)
- BB27
- lgl' %27.0 = Lt %24.2, %25.3, elided
- t %27.1 = AsTest %27.0
- void Branch %27.1 -> BB34 (if true) | BB28 (if false)
- BB26
- fs %26.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %26.1 = FrameState 0x7f924457f3d0+203: [%24.1, %24.2, %25.3, %24.2, %25.3], env=e15.5, next=%26.0
- void Deopt %26.1
- BB34
- goto BB39
- BB28
- cp %28.0 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB30
- val$' %30.0 = Extract2_1D %24.1, %25.3, elided
- void StVar i, %30.0, e15.5
- cls %30.2 = LdFun buildTreeDepth, e15.5
- prom %30.3 = MkArg missing, Prom(8), e15.5
- prom %30.4 = MkArg missing, Prom(9), e15.5
- cp %30.5 = Checkpoint -> BB32 (by default) | BB31 (if coming from expect)
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+219: [%24.1, %24.2, %25.3, %24.1, %25.3], env=e15.5, next=%29.0
- void Deopt %29.1
- BB32
- cls' %32.0 = LdConst function (depth, random) { if (d...
- t %32.1 = Identical %30.2, %32.0
- void Assume %32.1, %30.5
- fs %32.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.4 = FrameState 0x7f924457f3d0+290: [%24.1, %24.2, %25.3], env=e15.5, next=%32.3
- goto BB33
- BB31
- fs %31.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %31.1 = FrameState 0x7f924457f3d0+273: [%24.1, %24.2, %25.3, %30.2], env=e15.5, next=%31.0
- void Deopt %31.1
- BB33
- val^ %33.0 = StaticCall buildTreeDepth[0x7f92446010b0](%30.3, %30.4) %32.4, e15.5
- val^? %33.1 = LdVar array, e15.5
- val %33.2 = Force %33.1, e15.5
- val^? %33.3 = LdVar i, e15.5
- val %33.4 = Force %33.3, e15.5
- val^ %33.5 = EnsureNamed %33.0
- val %33.6 = Force %33.5, e15.5
- val %33.7 = Subassign2_1D %33.6, %33.2, %33.4, e15.5
- void StVar array, %33.7, e15.5
- goto BB25
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Elide environments not needed: == 161
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB37 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB37
- cls %37.0 = LdFun c, e0.2
- prom %37.1 = MkArg missing, Prom(4), e0.2
- fs %37.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %37.3 = Call %37.0(%37.1) %37.2, e0.2
- goto BB38
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB38
- val^ %38.0 = Phi %8.0:BB36, %37.3:BB37
- val %38.1 = Force %38.0, e0.2
- void Return %38.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %40.5:BB40
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB40
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB36 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB36
- goto BB38
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB35 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB35
- cls %35.0 = LdFun c, e15.5
- prom %35.1 = MkArg missing, Prom(5), e15.5
- fs %35.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %35.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%35.2
- val^ %35.4 = Call %35.0(%35.1) %35.3, e15.5
- goto BB39
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB39
- val^ %39.0 = Phi %25.0:BB34, %35.4:BB35
- val %39.1 = Force %39.0, e15.5
- goto BB40
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- goto BB21
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB40
- val^? %40.0 = LdVar array, e0.2
- val %40.1 = Force %40.0, e0.2
- val^? %40.2 = LdVar i, e0.2
- val %40.3 = Force %40.2, e0.2
- val %40.4 = EnsureNamed %39.1
- val %40.5 = Subassign2_1D %40.4, %40.1, %40.3, e0.2
- void StVar array, %40.5, e0.2
- goto BB8
- BB21
- str$' %21.0 = LdConst [1] "list"
- real$' %21.1 = LdConst [1] 4
- val %21.2 = CallSafeBuiltin vector(%21.0, %21.1)
- goto BB22
- BB22
- void StVar array, %21.2, e15.5
- real$' %22.1 = LdConst [1] 1
- real$' %22.2 = LdConst [1] 4
- cp %22.3 = Checkpoint -> BB24 (by default) | BB23 (if coming from expect)
- BB24
- val' %24.0 = Colon %22.1, %22.2, elided
- val' %24.1 = SetShared %24.0
- int$' %24.2 = ForSeqSize %24.1
- int$' %24.3 = LdConst [1] 0
- goto BB25
- BB23
- fs %23.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %23.1 = FrameState 0x7f924457f3d0+192: [%22.1, %22.2], env=e15.5, next=%23.0
- void Deopt %23.1
- BB25
- val %25.0 = Phi %21.2:BB22, %33.7:BB33
- int$' %25.1 = Phi %24.3:BB24, %25.3:BB33
- int$' %25.2 = Inc %25.1
- int$' %25.3 = EnsureNamed %25.2
- cp %25.4 = Checkpoint -> BB27 (by default) | BB26 (if coming from expect)
- BB27
- lgl' %27.0 = Lt %24.2, %25.3, elided
- t %27.1 = AsTest %27.0
- void Branch %27.1 -> BB34 (if true) | BB28 (if false)
- BB26
- fs %26.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %26.1 = FrameState 0x7f924457f3d0+203: [%24.1, %24.2, %25.3, %24.2, %25.3], env=e15.5, next=%26.0
- void Deopt %26.1
- BB34
- goto BB39
- BB28
- cp %28.0 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB30
- val$' %30.0 = Extract2_1D %24.1, %25.3, elided
- void StVar i, %30.0, e15.5
- cls %30.2 = LdFun buildTreeDepth, e15.5
- prom %30.3 = MkArg missing, Prom(8), e15.5
- prom %30.4 = MkArg missing, Prom(9), e15.5
- cp %30.5 = Checkpoint -> BB32 (by default) | BB31 (if coming from expect)
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+219: [%24.1, %24.2, %25.3, %24.1, %25.3], env=e15.5, next=%29.0
- void Deopt %29.1
- BB32
- cls' %32.0 = LdConst function (depth, random) { if (d...
- t %32.1 = Identical %30.2, %32.0
- void Assume %32.1, %30.5
- fs %32.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.4 = FrameState 0x7f924457f3d0+290: [%24.1, %24.2, %25.3], env=e15.5, next=%32.3
- goto BB33
- BB31
- fs %31.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %31.1 = FrameState 0x7f924457f3d0+273: [%24.1, %24.2, %25.3, %30.2], env=e15.5, next=%31.0
- void Deopt %31.1
- BB33
- val^ %33.0 = StaticCall buildTreeDepth[0x7f92446010b0](%30.3, %30.4) %32.4, e15.5
- val^? %33.1 = LdVar array, e15.5
- val %33.2 = Force %33.1, e15.5
- val^? %33.3 = LdVar i, e15.5
- val %33.4 = Force %33.3, e15.5
- val^ %33.5 = EnsureNamed %33.0
- val %33.6 = Force %33.5, e15.5
- val %33.7 = Subassign2_1D %33.6, %33.2, %33.4, e15.5
- void StVar array, %33.7, e15.5
- goto BB25
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Move environment creation as far as possible: == 168
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB37 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB37
- cls %37.0 = LdFun c, e0.2
- prom %37.1 = MkArg missing, Prom(4), e0.2
- fs %37.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %37.3 = Call %37.0(%37.1) %37.2, e0.2
- goto BB38
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB38
- val^ %38.0 = Phi %8.0:BB36, %37.3:BB37
- val %38.1 = Force %38.0, e0.2
- void Return %38.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %40.5:BB40
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB40
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB36 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB36
- goto BB38
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB35 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB35
- cls %35.0 = LdFun c, e15.5
- prom %35.1 = MkArg missing, Prom(5), e15.5
- fs %35.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %35.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%35.2
- val^ %35.4 = Call %35.0(%35.1) %35.3, e15.5
- goto BB39
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB39
- val^ %39.0 = Phi %25.0:BB34, %35.4:BB35
- val %39.1 = Force %39.0, e15.5
- goto BB40
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- goto BB21
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB40
- val^? %40.0 = LdVar array, e0.2
- val %40.1 = Force %40.0, e0.2
- val^? %40.2 = LdVar i, e0.2
- val %40.3 = Force %40.2, e0.2
- val %40.4 = EnsureNamed %39.1
- val %40.5 = Subassign2_1D %40.4, %40.1, %40.3, e0.2
- void StVar array, %40.5, e0.2
- goto BB8
- BB21
- str$' %21.0 = LdConst [1] "list"
- real$' %21.1 = LdConst [1] 4
- val %21.2 = CallSafeBuiltin vector(%21.0, %21.1)
- goto BB22
- BB22
- void StVar array, %21.2, e15.5
- real$' %22.1 = LdConst [1] 1
- real$' %22.2 = LdConst [1] 4
- cp %22.3 = Checkpoint -> BB24 (by default) | BB23 (if coming from expect)
- BB24
- val' %24.0 = Colon %22.1, %22.2, elided
- val' %24.1 = SetShared %24.0
- int$' %24.2 = ForSeqSize %24.1
- int$' %24.3 = LdConst [1] 0
- goto BB25
- BB23
- fs %23.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %23.1 = FrameState 0x7f924457f3d0+192: [%22.1, %22.2], env=e15.5, next=%23.0
- void Deopt %23.1
- BB25
- val %25.0 = Phi %21.2:BB22, %33.7:BB33
- int$' %25.1 = Phi %24.3:BB24, %25.3:BB33
- int$' %25.2 = Inc %25.1
- int$' %25.3 = EnsureNamed %25.2
- cp %25.4 = Checkpoint -> BB27 (by default) | BB26 (if coming from expect)
- BB27
- lgl' %27.0 = Lt %24.2, %25.3, elided
- t %27.1 = AsTest %27.0
- void Branch %27.1 -> BB34 (if true) | BB28 (if false)
- BB26
- fs %26.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %26.1 = FrameState 0x7f924457f3d0+203: [%24.1, %24.2, %25.3, %24.2, %25.3], env=e15.5, next=%26.0
- void Deopt %26.1
- BB34
- goto BB39
- BB28
- cp %28.0 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB30
- val$' %30.0 = Extract2_1D %24.1, %25.3, elided
- void StVar i, %30.0, e15.5
- cls %30.2 = LdFun buildTreeDepth, e15.5
- prom %30.3 = MkArg missing, Prom(8), e15.5
- prom %30.4 = MkArg missing, Prom(9), e15.5
- cp %30.5 = Checkpoint -> BB32 (by default) | BB31 (if coming from expect)
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+219: [%24.1, %24.2, %25.3, %24.1, %25.3], env=e15.5, next=%29.0
- void Deopt %29.1
- BB32
- cls' %32.0 = LdConst function (depth, random) { if (d...
- t %32.1 = Identical %30.2, %32.0
- void Assume %32.1, %30.5
- fs %32.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.4 = FrameState 0x7f924457f3d0+290: [%24.1, %24.2, %25.3], env=e15.5, next=%32.3
- goto BB33
- BB31
- fs %31.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %31.1 = FrameState 0x7f924457f3d0+273: [%24.1, %24.2, %25.3, %30.2], env=e15.5, next=%31.0
- void Deopt %31.1
- BB33
- val^ %33.0 = StaticCall buildTreeDepth[0x7f92446010b0](%30.3, %30.4) %32.4, e15.5
- val^? %33.1 = LdVar array, e15.5
- val %33.2 = Force %33.1, e15.5
- val^? %33.3 = LdVar i, e15.5
- val %33.4 = Force %33.3, e15.5
- val^ %33.5 = EnsureNamed %33.0
- val %33.6 = Force %33.5, e15.5
- val %33.7 = Subassign2_1D %33.6, %33.2, %33.4, e15.5
- void StVar array, %33.7, e15.5
- goto BB25
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 175
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB36 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB36
- cls %36.0 = LdFun c, e0.2
- prom %36.1 = MkArg missing, Prom(4), e0.2
- fs %36.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %36.3 = Call %36.0(%36.1) %36.2, e0.2
- goto BB37
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB37
- val^ %37.0 = Phi %8.0:BB35, %36.3:BB36
- val %37.1 = Force %37.0, e0.2
- void Return %37.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %38.7:BB38
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB38
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB35 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB35
- goto BB37
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB34 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB34
- cls %34.0 = LdFun c, e15.5
- prom %34.1 = MkArg missing, Prom(5), e15.5
- fs %34.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %34.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%34.2
- val^ %34.4 = Call %34.0(%34.1) %34.3, e15.5
- goto BB38
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB38
- val^ %38.0 = Phi %24.0:BB33, %34.4:BB34
- val %38.1 = Force %38.0, e15.5
- val^? %38.2 = LdVar array, e0.2
- val %38.3 = Force %38.2, e0.2
- val^? %38.4 = LdVar i, e0.2
- val %38.5 = Force %38.4, e0.2
- val %38.6 = EnsureNamed %38.1
- val %38.7 = Subassign2_1D %38.6, %38.3, %38.5, e0.2
- void StVar array, %38.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- str$' %20.3 = LdConst [1] "list"
- real$' %20.4 = LdConst [1] 4
- val %20.5 = CallSafeBuiltin vector(%20.3, %20.4)
- goto BB21
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB21
- void StVar array, %20.5, e15.5
- real$' %21.1 = LdConst [1] 1
- real$' %21.2 = LdConst [1] 4
- cp %21.3 = Checkpoint -> BB23 (by default) | BB22 (if coming from expect)
- BB23
- val' %23.0 = Colon %21.1, %21.2, elided
- val' %23.1 = SetShared %23.0
- int$' %23.2 = ForSeqSize %23.1
- int$' %23.3 = LdConst [1] 0
- goto BB24
- BB22
- fs %22.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %22.1 = FrameState 0x7f924457f3d0+192: [%21.1, %21.2], env=e15.5, next=%22.0
- void Deopt %22.1
- BB24
- val %24.0 = Phi %20.5:BB21, %32.7:BB32
- int$' %24.1 = Phi %23.3:BB23, %24.3:BB32
- int$' %24.2 = Inc %24.1
- int$' %24.3 = EnsureNamed %24.2
- cp %24.4 = Checkpoint -> BB26 (by default) | BB25 (if coming from expect)
- BB26
- lgl' %26.0 = Lt %23.2, %24.3, elided
- t %26.1 = AsTest %26.0
- void Branch %26.1 -> BB33 (if true) | BB27 (if false)
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+203: [%23.1, %23.2, %24.3, %23.2, %24.3], env=e15.5, next=%25.0
- void Deopt %25.1
- BB33
- goto BB38
- BB27
- cp %27.0 = Checkpoint -> BB29 (by default) | BB28 (if coming from expect)
- BB29
- val$' %29.0 = Extract2_1D %23.1, %24.3, elided
- void StVar i, %29.0, e15.5
- cls %29.2 = LdFun buildTreeDepth, e15.5
- prom %29.3 = MkArg missing, Prom(8), e15.5
- prom %29.4 = MkArg missing, Prom(9), e15.5
- cp %29.5 = Checkpoint -> BB31 (by default) | BB30 (if coming from expect)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+219: [%23.1, %23.2, %24.3, %23.1, %24.3], env=e15.5, next=%28.0
- void Deopt %28.1
- BB31
- cls' %31.0 = LdConst function (depth, random) { if (d...
- t %31.1 = Identical %29.2, %31.0
- void Assume %31.1, %29.5
- fs %31.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %31.4 = FrameState 0x7f924457f3d0+290: [%23.1, %23.2, %24.3], env=e15.5, next=%31.3
- goto BB32
- BB30
- fs %30.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.1 = FrameState 0x7f924457f3d0+273: [%23.1, %23.2, %24.3, %29.2], env=e15.5, next=%30.0
- void Deopt %30.1
- BB32
- val^ %32.0 = StaticCall buildTreeDepth[0x7f92446010b0](%29.3, %29.4) %31.4, e15.5
- val^? %32.1 = LdVar array, e15.5
- val %32.2 = Force %32.1, e15.5
- val^? %32.3 = LdVar i, e15.5
- val %32.4 = Force %32.3, e15.5
- val^ %32.5 = EnsureNamed %32.0
- val %32.6 = Force %32.5, e15.5
- val %32.7 = Subassign2_1D %32.6, %32.2, %32.4, e15.5
- void StVar array, %32.7, e15.5
- goto BB24
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline closures: == 182
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB36 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB36
- cls %36.0 = LdFun c, e0.2
- prom %36.1 = MkArg missing, Prom(4), e0.2
- fs %36.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %36.3 = Call %36.0(%36.1) %36.2, e0.2
- goto BB37
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB37
- val^ %37.0 = Phi %8.0:BB35, %36.3:BB36
- val %37.1 = Force %37.0, e0.2
- void Return %37.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %38.7:BB38
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB38
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB35 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB35
- goto BB37
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB34 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB34
- cls %34.0 = LdFun c, e15.5
- prom %34.1 = MkArg missing, Prom(5), e15.5
- fs %34.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %34.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%34.2
- val^ %34.4 = Call %34.0(%34.1) %34.3, e15.5
- goto BB38
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB38
- val^ %38.0 = Phi %24.0:BB33, %34.4:BB34
- val %38.1 = Force %38.0, e15.5
- val^? %38.2 = LdVar array, e0.2
- val %38.3 = Force %38.2, e0.2
- val^? %38.4 = LdVar i, e0.2
- val %38.5 = Force %38.4, e0.2
- val %38.6 = EnsureNamed %38.1
- val %38.7 = Subassign2_1D %38.6, %38.3, %38.5, e0.2
- void StVar array, %38.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- str$' %20.3 = LdConst [1] "list"
- real$' %20.4 = LdConst [1] 4
- val %20.5 = CallSafeBuiltin vector(%20.3, %20.4)
- goto BB21
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB21
- void StVar array, %20.5, e15.5
- real$' %21.1 = LdConst [1] 1
- real$' %21.2 = LdConst [1] 4
- cp %21.3 = Checkpoint -> BB23 (by default) | BB22 (if coming from expect)
- BB23
- val' %23.0 = Colon %21.1, %21.2, elided
- val' %23.1 = SetShared %23.0
- int$' %23.2 = ForSeqSize %23.1
- int$' %23.3 = LdConst [1] 0
- goto BB24
- BB22
- fs %22.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %22.1 = FrameState 0x7f924457f3d0+192: [%21.1, %21.2], env=e15.5, next=%22.0
- void Deopt %22.1
- BB24
- val %24.0 = Phi %20.5:BB21, %32.7:BB32
- int$' %24.1 = Phi %23.3:BB23, %24.3:BB32
- int$' %24.2 = Inc %24.1
- int$' %24.3 = EnsureNamed %24.2
- cp %24.4 = Checkpoint -> BB26 (by default) | BB25 (if coming from expect)
- BB26
- lgl' %26.0 = Lt %23.2, %24.3, elided
- t %26.1 = AsTest %26.0
- void Branch %26.1 -> BB33 (if true) | BB27 (if false)
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+203: [%23.1, %23.2, %24.3, %23.2, %24.3], env=e15.5, next=%25.0
- void Deopt %25.1
- BB33
- goto BB38
- BB27
- cp %27.0 = Checkpoint -> BB29 (by default) | BB28 (if coming from expect)
- BB29
- val$' %29.0 = Extract2_1D %23.1, %24.3, elided
- void StVar i, %29.0, e15.5
- cls %29.2 = LdFun buildTreeDepth, e15.5
- prom %29.3 = MkArg missing, Prom(8), e15.5
- prom %29.4 = MkArg missing, Prom(9), e15.5
- cp %29.5 = Checkpoint -> BB31 (by default) | BB30 (if coming from expect)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+219: [%23.1, %23.2, %24.3, %23.1, %24.3], env=e15.5, next=%28.0
- void Deopt %28.1
- BB31
- cls' %31.0 = LdConst function (depth, random) { if (d...
- t %31.1 = Identical %29.2, %31.0
- void Assume %31.1, %29.5
- fs %31.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %31.4 = FrameState 0x7f924457f3d0+290: [%23.1, %23.2, %24.3], env=e15.5, next=%31.3
- goto BB32
- BB30
- fs %30.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.1 = FrameState 0x7f924457f3d0+273: [%23.1, %23.2, %24.3, %29.2], env=e15.5, next=%30.0
- void Deopt %30.1
- BB32
- val^ %32.0 = StaticCall buildTreeDepth[0x7f92446010b0](%29.3, %29.4) %31.4, e15.5
- val^? %32.1 = LdVar array, e15.5
- val %32.2 = Force %32.1, e15.5
- val^? %32.3 = LdVar i, e15.5
- val %32.4 = Force %32.3, e15.5
- val^ %32.5 = EnsureNamed %32.0
- val %32.6 = Force %32.5, e15.5
- val %32.7 = Subassign2_1D %32.6, %32.2, %32.4, e15.5
- void StVar array, %32.7, e15.5
- goto BB24
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline Promises: == 189
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB36 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB36
- cls %36.0 = LdFun c, e0.2
- prom %36.1 = MkArg missing, Prom(4), e0.2
- fs %36.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %36.3 = Call %36.0(%36.1) %36.2, e0.2
- goto BB37
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB37
- val^ %37.0 = Phi %8.0:BB35, %36.3:BB36
- val %37.1 = Force %37.0, e0.2
- void Return %37.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %38.7:BB38
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB38
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB35 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB35
- goto BB37
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB34 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB34
- cls %34.0 = LdFun c, e15.5
- prom %34.1 = MkArg missing, Prom(5), e15.5
- fs %34.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %34.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%34.2
- val^ %34.4 = Call %34.0(%34.1) %34.3, e15.5
- goto BB38
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB38
- val^ %38.0 = Phi %24.0:BB33, %34.4:BB34
- val %38.1 = Force %38.0, e15.5
- val^? %38.2 = LdVar array, e0.2
- val %38.3 = Force %38.2, e0.2
- val^? %38.4 = LdVar i, e0.2
- val %38.5 = Force %38.4, e0.2
- val %38.6 = EnsureNamed %38.1
- val %38.7 = Subassign2_1D %38.6, %38.3, %38.5, e0.2
- void StVar array, %38.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- str$' %20.3 = LdConst [1] "list"
- real$' %20.4 = LdConst [1] 4
- val %20.5 = CallSafeBuiltin vector(%20.3, %20.4)
- goto BB21
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB21
- void StVar array, %20.5, e15.5
- real$' %21.1 = LdConst [1] 1
- real$' %21.2 = LdConst [1] 4
- cp %21.3 = Checkpoint -> BB23 (by default) | BB22 (if coming from expect)
- BB23
- val' %23.0 = Colon %21.1, %21.2, elided
- val' %23.1 = SetShared %23.0
- int$' %23.2 = ForSeqSize %23.1
- int$' %23.3 = LdConst [1] 0
- goto BB24
- BB22
- fs %22.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %22.1 = FrameState 0x7f924457f3d0+192: [%21.1, %21.2], env=e15.5, next=%22.0
- void Deopt %22.1
- BB24
- val %24.0 = Phi %20.5:BB21, %32.7:BB32
- int$' %24.1 = Phi %23.3:BB23, %24.3:BB32
- int$' %24.2 = Inc %24.1
- int$' %24.3 = EnsureNamed %24.2
- cp %24.4 = Checkpoint -> BB26 (by default) | BB25 (if coming from expect)
- BB26
- lgl' %26.0 = Lt %23.2, %24.3, elided
- t %26.1 = AsTest %26.0
- void Branch %26.1 -> BB33 (if true) | BB27 (if false)
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+203: [%23.1, %23.2, %24.3, %23.2, %24.3], env=e15.5, next=%25.0
- void Deopt %25.1
- BB33
- goto BB38
- BB27
- cp %27.0 = Checkpoint -> BB29 (by default) | BB28 (if coming from expect)
- BB29
- val$' %29.0 = Extract2_1D %23.1, %24.3, elided
- void StVar i, %29.0, e15.5
- cls %29.2 = LdFun buildTreeDepth, e15.5
- prom %29.3 = MkArg missing, Prom(8), e15.5
- prom %29.4 = MkArg missing, Prom(9), e15.5
- cp %29.5 = Checkpoint -> BB31 (by default) | BB30 (if coming from expect)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+219: [%23.1, %23.2, %24.3, %23.1, %24.3], env=e15.5, next=%28.0
- void Deopt %28.1
- BB31
- cls' %31.0 = LdConst function (depth, random) { if (d...
- t %31.1 = Identical %29.2, %31.0
- void Assume %31.1, %29.5
- fs %31.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %31.4 = FrameState 0x7f924457f3d0+290: [%23.1, %23.2, %24.3], env=e15.5, next=%31.3
- goto BB32
- BB30
- fs %30.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.1 = FrameState 0x7f924457f3d0+273: [%23.1, %23.2, %24.3, %29.2], env=e15.5, next=%30.0
- void Deopt %30.1
- BB32
- val^ %32.0 = StaticCall buildTreeDepth[0x7f92446010b0](%29.3, %29.4) %31.4, e15.5
- val^? %32.1 = LdVar array, e15.5
- val %32.2 = Force %32.1, e15.5
- val^? %32.3 = LdVar i, e15.5
- val %32.4 = Force %32.3, e15.5
- val^ %32.5 = EnsureNamed %32.0
- val %32.6 = Force %32.5, e15.5
- val %32.7 = Subassign2_1D %32.6, %32.2, %32.4, e15.5
- void StVar array, %32.7, e15.5
- goto BB24
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Scope resolution: == 196
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB36 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB36
- cls %36.0 = LdFun c, e0.2
- prom %36.1 = MkArg missing, Prom(4), e0.2
- fs %36.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %36.3 = Call %36.0(%36.1) %36.2, e0.2
- goto BB37
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB37
- val^ %37.0 = Phi %8.0:BB35, %36.3:BB36
- val %37.1 = Force %37.0, e0.2
- void Return %37.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %38.7:BB38
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB38
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB35 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB35
- goto BB37
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB34 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB34
- cls %34.0 = LdFun c, e15.5
- prom %34.1 = MkArg missing, Prom(5), e15.5
- fs %34.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %34.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%34.2
- val^ %34.4 = Call %34.0(%34.1) %34.3, e15.5
- goto BB38
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB38
- val^ %38.0 = Phi %24.0:BB33, %34.4:BB34
- val %38.1 = Force %38.0, e15.5
- val^? %38.2 = LdVar array, e0.2
- val %38.3 = Force %38.2, e0.2
- val^? %38.4 = LdVar i, e0.2
- val %38.5 = Force %38.4, e0.2
- val %38.6 = EnsureNamed %38.1
- val %38.7 = Subassign2_1D %38.6, %38.3, %38.5, e0.2
- void StVar array, %38.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- str$' %20.3 = LdConst [1] "list"
- real$' %20.4 = LdConst [1] 4
- val %20.5 = CallSafeBuiltin vector(%20.3, %20.4)
- goto BB21
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB21
- void StVar array, %20.5, e15.5
- real$' %21.1 = LdConst [1] 1
- real$' %21.2 = LdConst [1] 4
- cp %21.3 = Checkpoint -> BB23 (by default) | BB22 (if coming from expect)
- BB23
- val' %23.0 = Colon %21.1, %21.2, elided
- val' %23.1 = SetShared %23.0
- int$' %23.2 = ForSeqSize %23.1
- int$' %23.3 = LdConst [1] 0
- goto BB24
- BB22
- fs %22.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %22.1 = FrameState 0x7f924457f3d0+192: [%21.1, %21.2], env=e15.5, next=%22.0
- void Deopt %22.1
- BB24
- val %24.0 = Phi %20.5:BB21, %32.7:BB32
- int$' %24.1 = Phi %23.3:BB23, %24.3:BB32
- int$' %24.2 = Inc %24.1
- int$' %24.3 = EnsureNamed %24.2
- cp %24.4 = Checkpoint -> BB26 (by default) | BB25 (if coming from expect)
- BB26
- lgl' %26.0 = Lt %23.2, %24.3, elided
- t %26.1 = AsTest %26.0
- void Branch %26.1 -> BB33 (if true) | BB27 (if false)
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+203: [%23.1, %23.2, %24.3, %23.2, %24.3], env=e15.5, next=%25.0
- void Deopt %25.1
- BB33
- goto BB38
- BB27
- cp %27.0 = Checkpoint -> BB29 (by default) | BB28 (if coming from expect)
- BB29
- val$' %29.0 = Extract2_1D %23.1, %24.3, elided
- void StVar i, %29.0, e15.5
- cls %29.2 = LdFun buildTreeDepth, e15.5
- prom %29.3 = MkArg missing, Prom(8), e15.5
- prom %29.4 = MkArg missing, Prom(9), e15.5
- cp %29.5 = Checkpoint -> BB31 (by default) | BB30 (if coming from expect)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+219: [%23.1, %23.2, %24.3, %23.1, %24.3], env=e15.5, next=%28.0
- void Deopt %28.1
- BB31
- cls' %31.0 = LdConst function (depth, random) { if (d...
- t %31.1 = Identical %29.2, %31.0
- void Assume %31.1, %29.5
- fs %31.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %31.4 = FrameState 0x7f924457f3d0+290: [%23.1, %23.2, %24.3], env=e15.5, next=%31.3
- goto BB32
- BB30
- fs %30.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.1 = FrameState 0x7f924457f3d0+273: [%23.1, %23.2, %24.3, %29.2], env=e15.5, next=%30.0
- void Deopt %30.1
- BB32
- val^ %32.0 = StaticCall buildTreeDepth[0x7f92446010b0](%29.3, %29.4) %31.4, e15.5
- val^? %32.1 = LdVar array, e15.5
- val %32.2 = Force %32.1, e15.5
- val^? %32.3 = LdVar i, e15.5
- val %32.4 = Force %32.3, e15.5
- val^ %32.5 = EnsureNamed %32.0
- val %32.6 = Force %32.5, e15.5
- val %32.7 = Subassign2_1D %32.6, %32.2, %32.4, e15.5
- void StVar array, %32.7, e15.5
- goto BB24
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Constant folding: == 203
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB36 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB36
- cls %36.0 = LdFun c, e0.2
- prom %36.1 = MkArg missing, Prom(4), e0.2
- fs %36.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %36.3 = Call %36.0(%36.1) %36.2, e0.2
- goto BB37
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB37
- val^ %37.0 = Phi %8.0:BB35, %36.3:BB36
- val %37.1 = Force %37.0, e0.2
- void Return %37.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %38.7:BB38
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB38
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB35 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB35
- goto BB37
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB34 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB34
- cls %34.0 = LdFun c, e15.5
- prom %34.1 = MkArg missing, Prom(5), e15.5
- fs %34.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %34.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%34.2
- val^ %34.4 = Call %34.0(%34.1) %34.3, e15.5
- goto BB38
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB38
- val^ %38.0 = Phi %24.0:BB33, %34.4:BB34
- val %38.1 = Force %38.0, e15.5
- val^? %38.2 = LdVar array, e0.2
- val %38.3 = Force %38.2, e0.2
- val^? %38.4 = LdVar i, e0.2
- val %38.5 = Force %38.4, e0.2
- val %38.6 = EnsureNamed %38.1
- val %38.7 = Subassign2_1D %38.6, %38.3, %38.5, e0.2
- void StVar array, %38.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- str$' %20.3 = LdConst [1] "list"
- real$' %20.4 = LdConst [1] 4
- val %20.5 = CallSafeBuiltin vector(%20.3, %20.4)
- goto BB21
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB21
- void StVar array, %20.5, e15.5
- real$' %21.1 = LdConst [1] 1
- real$' %21.2 = LdConst [1] 4
- cp %21.3 = Checkpoint -> BB23 (by default) | BB22 (if coming from expect)
- BB23
- val' %23.0 = Colon %21.1, %21.2, elided
- val' %23.1 = SetShared %23.0
- int$' %23.2 = ForSeqSize %23.1
- int$' %23.3 = LdConst [1] 0
- goto BB24
- BB22
- fs %22.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %22.1 = FrameState 0x7f924457f3d0+192: [%21.1, %21.2], env=e15.5, next=%22.0
- void Deopt %22.1
- BB24
- val %24.0 = Phi %20.5:BB21, %32.7:BB32
- int$' %24.1 = Phi %23.3:BB23, %24.3:BB32
- int$' %24.2 = Inc %24.1
- int$' %24.3 = EnsureNamed %24.2
- cp %24.4 = Checkpoint -> BB26 (by default) | BB25 (if coming from expect)
- BB26
- lgl' %26.0 = Lt %23.2, %24.3, elided
- t %26.1 = AsTest %26.0
- void Branch %26.1 -> BB33 (if true) | BB27 (if false)
- BB25
- fs %25.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %25.1 = FrameState 0x7f924457f3d0+203: [%23.1, %23.2, %24.3, %23.2, %24.3], env=e15.5, next=%25.0
- void Deopt %25.1
- BB33
- goto BB38
- BB27
- cp %27.0 = Checkpoint -> BB29 (by default) | BB28 (if coming from expect)
- BB29
- val$' %29.0 = Extract2_1D %23.1, %24.3, elided
- void StVar i, %29.0, e15.5
- cls %29.2 = LdFun buildTreeDepth, e15.5
- prom %29.3 = MkArg missing, Prom(8), e15.5
- prom %29.4 = MkArg missing, Prom(9), e15.5
- cp %29.5 = Checkpoint -> BB31 (by default) | BB30 (if coming from expect)
- BB28
- fs %28.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %28.1 = FrameState 0x7f924457f3d0+219: [%23.1, %23.2, %24.3, %23.1, %24.3], env=e15.5, next=%28.0
- void Deopt %28.1
- BB31
- cls' %31.0 = LdConst function (depth, random) { if (d...
- t %31.1 = Identical %29.2, %31.0
- void Assume %31.1, %29.5
- fs %31.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %31.4 = FrameState 0x7f924457f3d0+290: [%23.1, %23.2, %24.3], env=e15.5, next=%31.3
- goto BB32
- BB30
- fs %30.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.1 = FrameState 0x7f924457f3d0+273: [%23.1, %23.2, %24.3, %29.2], env=e15.5, next=%30.0
- void Deopt %30.1
- BB32
- val^ %32.0 = StaticCall buildTreeDepth[0x7f92446010b0](%29.3, %29.4) %31.4, e15.5
- val^? %32.1 = LdVar array, e15.5
- val %32.2 = Force %32.1, e15.5
- val^? %32.3 = LdVar i, e15.5
- val %32.4 = Force %32.3, e15.5
- val^ %32.5 = EnsureNamed %32.0
- val %32.6 = Force %32.5, e15.5
- val %32.7 = Subassign2_1D %32.6, %32.2, %32.4, e15.5
- void StVar array, %32.7, e15.5
- goto BB24
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 210
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB35 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB35
- cls %35.0 = LdFun c, e0.2
- prom %35.1 = MkArg missing, Prom(4), e0.2
- fs %35.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %35.3 = Call %35.0(%35.1) %35.2, e0.2
- goto BB36
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB36
- val^ %36.0 = Phi %8.0:BB34, %35.3:BB35
- val %36.1 = Force %36.0, e0.2
- void Return %36.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %37.7:BB37
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB37
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB34 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB34
- goto BB36
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB33 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB33
- cls %33.0 = LdFun c, e15.5
- prom %33.1 = MkArg missing, Prom(5), e15.5
- fs %33.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %33.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%33.2
- val^ %33.4 = Call %33.0(%33.1) %33.3, e15.5
- goto BB37
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB37
- val^ %37.0 = Phi %23.0:BB32, %33.4:BB33
- val %37.1 = Force %37.0, e15.5
- val^? %37.2 = LdVar array, e0.2
- val %37.3 = Force %37.2, e0.2
- val^? %37.4 = LdVar i, e0.2
- val %37.5 = Force %37.4, e0.2
- val %37.6 = EnsureNamed %37.1
- val %37.7 = Subassign2_1D %37.6, %37.3, %37.5, e0.2
- void StVar array, %37.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- str$' %20.3 = LdConst [1] "list"
- real$' %20.4 = LdConst [1] 4
- val %20.5 = CallSafeBuiltin vector(%20.3, %20.4)
- void StVar array, %20.5, e15.5
- real$' %20.7 = LdConst [1] 1
- real$' %20.8 = LdConst [1] 4
- cp %20.9 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB22
- val' %22.0 = Colon %20.7, %20.8, elided
- val' %22.1 = SetShared %22.0
- int$' %22.2 = ForSeqSize %22.1
- int$' %22.3 = LdConst [1] 0
- goto BB23
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+192: [%20.7, %20.8], env=e15.5, next=%21.0
- void Deopt %21.1
- BB23
- val %23.0 = Phi %20.5:BB20, %31.7:BB31
- int$' %23.1 = Phi %22.3:BB22, %23.3:BB31
- int$' %23.2 = Inc %23.1
- int$' %23.3 = EnsureNamed %23.2
- cp %23.4 = Checkpoint -> BB25 (by default) | BB24 (if coming from expect)
- BB25
- lgl' %25.0 = Lt %22.2, %23.3, elided
- t %25.1 = AsTest %25.0
- void Branch %25.1 -> BB32 (if true) | BB26 (if false)
- BB24
- fs %24.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %24.1 = FrameState 0x7f924457f3d0+203: [%22.1, %22.2, %23.3, %22.2, %23.3], env=e15.5, next=%24.0
- void Deopt %24.1
- BB32
- goto BB37
- BB26
- cp %26.0 = Checkpoint -> BB28 (by default) | BB27 (if coming from expect)
- BB28
- val$' %28.0 = Extract2_1D %22.1, %23.3, elided
- void StVar i, %28.0, e15.5
- cls %28.2 = LdFun buildTreeDepth, e15.5
- prom %28.3 = MkArg missing, Prom(8), e15.5
- prom %28.4 = MkArg missing, Prom(9), e15.5
- cp %28.5 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB27
- fs %27.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %27.1 = FrameState 0x7f924457f3d0+219: [%22.1, %22.2, %23.3, %22.1, %23.3], env=e15.5, next=%27.0
- void Deopt %27.1
- BB30
- cls' %30.0 = LdConst function (depth, random) { if (d...
- t %30.1 = Identical %28.2, %30.0
- void Assume %30.1, %28.5
- fs %30.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.4 = FrameState 0x7f924457f3d0+290: [%22.1, %22.2, %23.3], env=e15.5, next=%30.3
- goto BB31
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+273: [%22.1, %22.2, %23.3, %28.2], env=e15.5, next=%29.0
- void Deopt %29.1
- BB31
- val^ %31.0 = StaticCall buildTreeDepth[0x7f92446010b0](%28.3, %28.4) %30.4, e15.5
- val^? %31.1 = LdVar array, e15.5
- val %31.2 = Force %31.1, e15.5
- val^? %31.3 = LdVar i, e15.5
- val %31.4 = Force %31.3, e15.5
- val^ %31.5 = EnsureNamed %31.0
- val %31.6 = Force %31.5, e15.5
- val %31.7 = Subassign2_1D %31.6, %31.2, %31.4, e15.5
- void StVar array, %31.7, e15.5
- goto BB23
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Delay instructions: == 217
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB35 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB35
- cls %35.0 = LdFun c, e0.2
- prom %35.1 = MkArg missing, Prom(4), e0.2
- fs %35.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %35.3 = Call %35.0(%35.1) %35.2, e0.2
- goto BB36
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB36
- val^ %36.0 = Phi %8.0:BB34, %35.3:BB35
- val %36.1 = Force %36.0, e0.2
- void Return %36.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %37.7:BB37
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB37
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB34 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB34
- goto BB36
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB33 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB33
- cls %33.0 = LdFun c, e15.5
- prom %33.1 = MkArg missing, Prom(5), e15.5
- fs %33.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %33.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%33.2
- val^ %33.4 = Call %33.0(%33.1) %33.3, e15.5
- goto BB37
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB37
- val^ %37.0 = Phi %23.0:BB32, %33.4:BB33
- val %37.1 = Force %37.0, e15.5
- val^? %37.2 = LdVar array, e0.2
- val %37.3 = Force %37.2, e0.2
- val^? %37.4 = LdVar i, e0.2
- val %37.5 = Force %37.4, e0.2
- val %37.6 = EnsureNamed %37.1
- val %37.7 = Subassign2_1D %37.6, %37.3, %37.5, e0.2
- void StVar array, %37.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- real$' %20.3 = LdConst [1] 4
- str$' %20.4 = LdConst [1] "list"
- val %20.5 = CallSafeBuiltin vector(%20.4, %20.3)
- void StVar array, %20.5, e15.5
- real$' %20.7 = LdConst [1] 1
- real$' %20.8 = LdConst [1] 4
- cp %20.9 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB22
- val' %22.0 = Colon %20.7, %20.8, elided
- val' %22.1 = SetShared %22.0
- int$' %22.2 = ForSeqSize %22.1
- int$' %22.3 = LdConst [1] 0
- goto BB23
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+192: [%20.7, %20.8], env=e15.5, next=%21.0
- void Deopt %21.1
- BB23
- val %23.0 = Phi %20.5:BB20, %31.7:BB31
- int$' %23.1 = Phi %22.3:BB22, %23.3:BB31
- int$' %23.2 = Inc %23.1
- int$' %23.3 = EnsureNamed %23.2
- cp %23.4 = Checkpoint -> BB25 (by default) | BB24 (if coming from expect)
- BB25
- lgl' %25.0 = Lt %22.2, %23.3, elided
- t %25.1 = AsTest %25.0
- void Branch %25.1 -> BB32 (if true) | BB26 (if false)
- BB24
- fs %24.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %24.1 = FrameState 0x7f924457f3d0+203: [%22.1, %22.2, %23.3, %22.2, %23.3], env=e15.5, next=%24.0
- void Deopt %24.1
- BB32
- goto BB37
- BB26
- cp %26.0 = Checkpoint -> BB28 (by default) | BB27 (if coming from expect)
- BB28
- val$' %28.0 = Extract2_1D %22.1, %23.3, elided
- void StVar i, %28.0, e15.5
- cls %28.2 = LdFun buildTreeDepth, e15.5
- prom %28.3 = MkArg missing, Prom(8), e15.5
- prom %28.4 = MkArg missing, Prom(9), e15.5
- cp %28.5 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB27
- fs %27.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %27.1 = FrameState 0x7f924457f3d0+219: [%22.1, %22.2, %23.3, %22.1, %23.3], env=e15.5, next=%27.0
- void Deopt %27.1
- BB30
- cls' %30.0 = LdConst function (depth, random) { if (d...
- t %30.1 = Identical %28.2, %30.0
- void Assume %30.1, %28.5
- fs %30.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.4 = FrameState 0x7f924457f3d0+290: [%22.1, %22.2, %23.3], env=e15.5, next=%30.3
- goto BB31
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+273: [%22.1, %22.2, %23.3, %28.2], env=e15.5, next=%29.0
- void Deopt %29.1
- BB31
- val^ %31.0 = StaticCall buildTreeDepth[0x7f92446010b0](%28.3, %28.4) %30.4, e15.5
- val^? %31.1 = LdVar array, e15.5
- val %31.2 = Force %31.1, e15.5
- val^? %31.3 = LdVar i, e15.5
- val %31.4 = Force %31.3, e15.5
- val^ %31.5 = EnsureNamed %31.0
- val %31.6 = Force %31.5, e15.5
- val %31.7 = Subassign2_1D %31.6, %31.2, %31.4, e15.5
- void StVar array, %31.7, e15.5
- goto BB23
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Elide environments not needed: == 224
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB35 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB35
- cls %35.0 = LdFun c, e0.2
- prom %35.1 = MkArg missing, Prom(4), e0.2
- fs %35.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %35.3 = Call %35.0(%35.1) %35.2, e0.2
- goto BB36
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB36
- val^ %36.0 = Phi %8.0:BB34, %35.3:BB35
- val %36.1 = Force %36.0, e0.2
- void Return %36.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %37.7:BB37
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB37
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB34 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB34
- goto BB36
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB33 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB33
- cls %33.0 = LdFun c, e15.5
- prom %33.1 = MkArg missing, Prom(5), e15.5
- fs %33.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %33.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%33.2
- val^ %33.4 = Call %33.0(%33.1) %33.3, e15.5
- goto BB37
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB37
- val^ %37.0 = Phi %23.0:BB32, %33.4:BB33
- val %37.1 = Force %37.0, e15.5
- val^? %37.2 = LdVar array, e0.2
- val %37.3 = Force %37.2, e0.2
- val^? %37.4 = LdVar i, e0.2
- val %37.5 = Force %37.4, e0.2
- val %37.6 = EnsureNamed %37.1
- val %37.7 = Subassign2_1D %37.6, %37.3, %37.5, e0.2
- void StVar array, %37.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- real$' %20.3 = LdConst [1] 4
- str$' %20.4 = LdConst [1] "list"
- val %20.5 = CallSafeBuiltin vector(%20.4, %20.3)
- void StVar array, %20.5, e15.5
- real$' %20.7 = LdConst [1] 1
- real$' %20.8 = LdConst [1] 4
- cp %20.9 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB22
- val' %22.0 = Colon %20.7, %20.8, elided
- val' %22.1 = SetShared %22.0
- int$' %22.2 = ForSeqSize %22.1
- int$' %22.3 = LdConst [1] 0
- goto BB23
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+192: [%20.7, %20.8], env=e15.5, next=%21.0
- void Deopt %21.1
- BB23
- val %23.0 = Phi %20.5:BB20, %31.7:BB31
- int$' %23.1 = Phi %22.3:BB22, %23.3:BB31
- int$' %23.2 = Inc %23.1
- int$' %23.3 = EnsureNamed %23.2
- cp %23.4 = Checkpoint -> BB25 (by default) | BB24 (if coming from expect)
- BB25
- lgl' %25.0 = Lt %22.2, %23.3, elided
- t %25.1 = AsTest %25.0
- void Branch %25.1 -> BB32 (if true) | BB26 (if false)
- BB24
- fs %24.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %24.1 = FrameState 0x7f924457f3d0+203: [%22.1, %22.2, %23.3, %22.2, %23.3], env=e15.5, next=%24.0
- void Deopt %24.1
- BB32
- goto BB37
- BB26
- cp %26.0 = Checkpoint -> BB28 (by default) | BB27 (if coming from expect)
- BB28
- val$' %28.0 = Extract2_1D %22.1, %23.3, elided
- void StVar i, %28.0, e15.5
- cls %28.2 = LdFun buildTreeDepth, e15.5
- prom %28.3 = MkArg missing, Prom(8), e15.5
- prom %28.4 = MkArg missing, Prom(9), e15.5
- cp %28.5 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB27
- fs %27.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %27.1 = FrameState 0x7f924457f3d0+219: [%22.1, %22.2, %23.3, %22.1, %23.3], env=e15.5, next=%27.0
- void Deopt %27.1
- BB30
- cls' %30.0 = LdConst function (depth, random) { if (d...
- t %30.1 = Identical %28.2, %30.0
- void Assume %30.1, %28.5
- fs %30.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.4 = FrameState 0x7f924457f3d0+290: [%22.1, %22.2, %23.3], env=e15.5, next=%30.3
- goto BB31
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+273: [%22.1, %22.2, %23.3, %28.2], env=e15.5, next=%29.0
- void Deopt %29.1
- BB31
- val^ %31.0 = StaticCall buildTreeDepth[0x7f92446010b0](%28.3, %28.4) %30.4, e15.5
- val^? %31.1 = LdVar array, e15.5
- val %31.2 = Force %31.1, e15.5
- val^? %31.3 = LdVar i, e15.5
- val %31.4 = Force %31.3, e15.5
- val^ %31.5 = EnsureNamed %31.0
- val %31.6 = Force %31.5, e15.5
- val %31.7 = Subassign2_1D %31.6, %31.2, %31.4, e15.5
- void StVar array, %31.7, e15.5
- goto BB23
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Move environment creation as far as possible: == 231
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB35 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB35
- cls %35.0 = LdFun c, e0.2
- prom %35.1 = MkArg missing, Prom(4), e0.2
- fs %35.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %35.3 = Call %35.0(%35.1) %35.2, e0.2
- goto BB36
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB36
- val^ %36.0 = Phi %8.0:BB34, %35.3:BB35
- val %36.1 = Force %36.0, e0.2
- void Return %36.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %37.7:BB37
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB37
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB34 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB34
- goto BB36
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB33 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB33
- cls %33.0 = LdFun c, e15.5
- prom %33.1 = MkArg missing, Prom(5), e15.5
- fs %33.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %33.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%33.2
- val^ %33.4 = Call %33.0(%33.1) %33.3, e15.5
- goto BB37
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB37
- val^ %37.0 = Phi %23.0:BB32, %33.4:BB33
- val %37.1 = Force %37.0, e15.5
- val^? %37.2 = LdVar array, e0.2
- val %37.3 = Force %37.2, e0.2
- val^? %37.4 = LdVar i, e0.2
- val %37.5 = Force %37.4, e0.2
- val %37.6 = EnsureNamed %37.1
- val %37.7 = Subassign2_1D %37.6, %37.3, %37.5, e0.2
- void StVar array, %37.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- real$' %20.3 = LdConst [1] 4
- str$' %20.4 = LdConst [1] "list"
- val %20.5 = CallSafeBuiltin vector(%20.4, %20.3)
- void StVar array, %20.5, e15.5
- real$' %20.7 = LdConst [1] 1
- real$' %20.8 = LdConst [1] 4
- cp %20.9 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB22
- val' %22.0 = Colon %20.7, %20.8, elided
- val' %22.1 = SetShared %22.0
- int$' %22.2 = ForSeqSize %22.1
- int$' %22.3 = LdConst [1] 0
- goto BB23
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+192: [%20.7, %20.8], env=e15.5, next=%21.0
- void Deopt %21.1
- BB23
- val %23.0 = Phi %20.5:BB20, %31.7:BB31
- int$' %23.1 = Phi %22.3:BB22, %23.3:BB31
- int$' %23.2 = Inc %23.1
- int$' %23.3 = EnsureNamed %23.2
- cp %23.4 = Checkpoint -> BB25 (by default) | BB24 (if coming from expect)
- BB25
- lgl' %25.0 = Lt %22.2, %23.3, elided
- t %25.1 = AsTest %25.0
- void Branch %25.1 -> BB32 (if true) | BB26 (if false)
- BB24
- fs %24.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %24.1 = FrameState 0x7f924457f3d0+203: [%22.1, %22.2, %23.3, %22.2, %23.3], env=e15.5, next=%24.0
- void Deopt %24.1
- BB32
- goto BB37
- BB26
- cp %26.0 = Checkpoint -> BB28 (by default) | BB27 (if coming from expect)
- BB28
- val$' %28.0 = Extract2_1D %22.1, %23.3, elided
- void StVar i, %28.0, e15.5
- cls %28.2 = LdFun buildTreeDepth, e15.5
- prom %28.3 = MkArg missing, Prom(8), e15.5
- prom %28.4 = MkArg missing, Prom(9), e15.5
- cp %28.5 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB27
- fs %27.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %27.1 = FrameState 0x7f924457f3d0+219: [%22.1, %22.2, %23.3, %22.1, %23.3], env=e15.5, next=%27.0
- void Deopt %27.1
- BB30
- cls' %30.0 = LdConst function (depth, random) { if (d...
- t %30.1 = Identical %28.2, %30.0
- void Assume %30.1, %28.5
- fs %30.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.4 = FrameState 0x7f924457f3d0+290: [%22.1, %22.2, %23.3], env=e15.5, next=%30.3
- goto BB31
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+273: [%22.1, %22.2, %23.3, %28.2], env=e15.5, next=%29.0
- void Deopt %29.1
- BB31
- val^ %31.0 = StaticCall buildTreeDepth[0x7f92446010b0](%28.3, %28.4) %30.4, e15.5
- val^? %31.1 = LdVar array, e15.5
- val %31.2 = Force %31.1, e15.5
- val^? %31.3 = LdVar i, e15.5
- val %31.4 = Force %31.3, e15.5
- val^ %31.5 = EnsureNamed %31.0
- val %31.6 = Force %31.5, e15.5
- val %31.7 = Subassign2_1D %31.6, %31.2, %31.4, e15.5
- void StVar array, %31.7, e15.5
- goto BB23
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 238
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB34 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB34
- cls %34.0 = LdFun c, e0.2
- prom %34.1 = MkArg missing, Prom(4), e0.2
- fs %34.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %34.3 = Call %34.0(%34.1) %34.2, e0.2
- goto BB35
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB35
- val^ %35.0 = Phi %8.0:BB33, %34.3:BB34
- val %35.1 = Force %35.0, e0.2
- void Return %35.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %36.7:BB36
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB36
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB33 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB33
- goto BB35
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB32 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB32
- cls %32.0 = LdFun c, e15.5
- prom %32.1 = MkArg missing, Prom(5), e15.5
- fs %32.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%32.2
- val^ %32.4 = Call %32.0(%32.1) %32.3, e15.5
- goto BB36
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB36
- val^ %36.0 = Phi %23.0:BB31, %32.4:BB32
- val %36.1 = Force %36.0, e15.5
- val^? %36.2 = LdVar array, e0.2
- val %36.3 = Force %36.2, e0.2
- val^? %36.4 = LdVar i, e0.2
- val %36.5 = Force %36.4, e0.2
- val %36.6 = EnsureNamed %36.1
- val %36.7 = Subassign2_1D %36.6, %36.3, %36.5, e0.2
- void StVar array, %36.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- real$' %20.3 = LdConst [1] 4
- str$' %20.4 = LdConst [1] "list"
- val %20.5 = CallSafeBuiltin vector(%20.4, %20.3)
- void StVar array, %20.5, e15.5
- real$' %20.7 = LdConst [1] 1
- real$' %20.8 = LdConst [1] 4
- cp %20.9 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB22
- val' %22.0 = Colon %20.7, %20.8, elided
- val' %22.1 = SetShared %22.0
- int$' %22.2 = ForSeqSize %22.1
- int$' %22.3 = LdConst [1] 0
- goto BB23
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+192: [%20.7, %20.8], env=e15.5, next=%21.0
- void Deopt %21.1
- BB23
- val %23.0 = Phi %20.5:BB20, %30.12:BB30
- int$' %23.1 = Phi %22.3:BB22, %23.3:BB30
- int$' %23.2 = Inc %23.1
- int$' %23.3 = EnsureNamed %23.2
- cp %23.4 = Checkpoint -> BB25 (by default) | BB24 (if coming from expect)
- BB25
- lgl' %25.0 = Lt %22.2, %23.3, elided
- t %25.1 = AsTest %25.0
- void Branch %25.1 -> BB31 (if true) | BB26 (if false)
- BB24
- fs %24.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %24.1 = FrameState 0x7f924457f3d0+203: [%22.1, %22.2, %23.3, %22.2, %23.3], env=e15.5, next=%24.0
- void Deopt %24.1
- BB31
- goto BB36
- BB26
- cp %26.0 = Checkpoint -> BB28 (by default) | BB27 (if coming from expect)
- BB28
- val$' %28.0 = Extract2_1D %22.1, %23.3, elided
- void StVar i, %28.0, e15.5
- cls %28.2 = LdFun buildTreeDepth, e15.5
- prom %28.3 = MkArg missing, Prom(8), e15.5
- prom %28.4 = MkArg missing, Prom(9), e15.5
- cp %28.5 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB27
- fs %27.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %27.1 = FrameState 0x7f924457f3d0+219: [%22.1, %22.2, %23.3, %22.1, %23.3], env=e15.5, next=%27.0
- void Deopt %27.1
- BB30
- cls' %30.0 = LdConst function (depth, random) { if (d...
- t %30.1 = Identical %28.2, %30.0
- void Assume %30.1, %28.5
- fs %30.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.4 = FrameState 0x7f924457f3d0+290: [%22.1, %22.2, %23.3], env=e15.5, next=%30.3
- val^ %30.5 = StaticCall buildTreeDepth[0x7f92446010b0](%28.3, %28.4) %30.4, e15.5
- val^? %30.6 = LdVar array, e15.5
- val %30.7 = Force %30.6, e15.5
- val^? %30.8 = LdVar i, e15.5
- val %30.9 = Force %30.8, e15.5
- val^ %30.10 = EnsureNamed %30.5
- val %30.11 = Force %30.10, e15.5
- val %30.12 = Subassign2_1D %30.11, %30.7, %30.9, e15.5
- void StVar array, %30.12, e15.5
- goto BB23
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+273: [%22.1, %22.2, %23.3, %28.2], env=e15.5, next=%29.0
- void Deopt %29.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline closures: == 245
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB34 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB34
- cls %34.0 = LdFun c, e0.2
- prom %34.1 = MkArg missing, Prom(4), e0.2
- fs %34.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %34.3 = Call %34.0(%34.1) %34.2, e0.2
- goto BB35
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB35
- val^ %35.0 = Phi %8.0:BB33, %34.3:BB34
- val %35.1 = Force %35.0, e0.2
- void Return %35.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %36.7:BB36
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB36
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB33 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB33
- goto BB35
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- lgl %17.0 = Eq %15.6, %15.7, e15.5
- lgl %17.1 = AsLogical %17.0
- t %17.2 = AsTest %17.1
- void Branch %17.2 -> BB32 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB32
- cls %32.0 = LdFun c, e15.5
- prom %32.1 = MkArg missing, Prom(5), e15.5
- fs %32.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%32.2
- val^ %32.4 = Call %32.0(%32.1) %32.3, e15.5
- goto BB36
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB36
- val^ %36.0 = Phi %23.0:BB31, %32.4:BB32
- val %36.1 = Force %36.0, e15.5
- val^? %36.2 = LdVar array, e0.2
- val %36.3 = Force %36.2, e0.2
- val^? %36.4 = LdVar i, e0.2
- val %36.5 = Force %36.4, e0.2
- val %36.6 = EnsureNamed %36.1
- val %36.7 = Subassign2_1D %36.6, %36.3, %36.5, e0.2
- void StVar array, %36.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- real$' %20.3 = LdConst [1] 4
- str$' %20.4 = LdConst [1] "list"
- val %20.5 = CallSafeBuiltin vector(%20.4, %20.3)
- void StVar array, %20.5, e15.5
- real$' %20.7 = LdConst [1] 1
- real$' %20.8 = LdConst [1] 4
- cp %20.9 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB22
- val' %22.0 = Colon %20.7, %20.8, elided
- val' %22.1 = SetShared %22.0
- int$' %22.2 = ForSeqSize %22.1
- int$' %22.3 = LdConst [1] 0
- goto BB23
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+192: [%20.7, %20.8], env=e15.5, next=%21.0
- void Deopt %21.1
- BB23
- val %23.0 = Phi %20.5:BB20, %30.12:BB30
- int$' %23.1 = Phi %22.3:BB22, %23.3:BB30
- int$' %23.2 = Inc %23.1
- int$' %23.3 = EnsureNamed %23.2
- cp %23.4 = Checkpoint -> BB25 (by default) | BB24 (if coming from expect)
- BB25
- lgl' %25.0 = Lt %22.2, %23.3, elided
- t %25.1 = AsTest %25.0
- void Branch %25.1 -> BB31 (if true) | BB26 (if false)
- BB24
- fs %24.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %24.1 = FrameState 0x7f924457f3d0+203: [%22.1, %22.2, %23.3, %22.2, %23.3], env=e15.5, next=%24.0
- void Deopt %24.1
- BB31
- goto BB36
- BB26
- cp %26.0 = Checkpoint -> BB28 (by default) | BB27 (if coming from expect)
- BB28
- val$' %28.0 = Extract2_1D %22.1, %23.3, elided
- void StVar i, %28.0, e15.5
- cls %28.2 = LdFun buildTreeDepth, e15.5
- prom %28.3 = MkArg missing, Prom(8), e15.5
- prom %28.4 = MkArg missing, Prom(9), e15.5
- cp %28.5 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB27
- fs %27.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %27.1 = FrameState 0x7f924457f3d0+219: [%22.1, %22.2, %23.3, %22.1, %23.3], env=e15.5, next=%27.0
- void Deopt %27.1
- BB30
- cls' %30.0 = LdConst function (depth, random) { if (d...
- t %30.1 = Identical %28.2, %30.0
- void Assume %30.1, %28.5
- fs %30.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.4 = FrameState 0x7f924457f3d0+290: [%22.1, %22.2, %23.3], env=e15.5, next=%30.3
- val^ %30.5 = StaticCall buildTreeDepth[0x7f92446010b0](%28.3, %28.4) %30.4, e15.5
- val^? %30.6 = LdVar array, e15.5
- val %30.7 = Force %30.6, e15.5
- val^? %30.8 = LdVar i, e15.5
- val %30.9 = Force %30.8, e15.5
- val^ %30.10 = EnsureNamed %30.5
- val %30.11 = Force %30.10, e15.5
- val %30.12 = Subassign2_1D %30.11, %30.7, %30.9, e15.5
- void StVar array, %30.12, e15.5
- goto BB23
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+273: [%22.1, %22.2, %23.3, %28.2], env=e15.5, next=%29.0
- void Deopt %29.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Speculate on values to elide environments: == 252
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB34 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB34
- cls %34.0 = LdFun c, e0.2
- prom %34.1 = MkArg missing, Prom(4), e0.2
- fs %34.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %34.3 = Call %34.0(%34.1) %34.2, e0.2
- goto BB35
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB35
- val^ %35.0 = Phi %8.0:BB33, %34.3:BB34
- val %35.1 = Force %35.0, e0.2
- void Return %35.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %36.7:BB36
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB36
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB33 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB33
- goto BB35
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- t %17.0 = IsObject %15.6
- void AssumeNot %17.0, %15.8
- lgl' %17.2 = Eq %15.6, %15.7, elided
- lgl %17.3 = AsLogical %17.2
- t %17.4 = AsTest %17.3
- void Branch %17.4 -> BB32 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB32
- cls %32.0 = LdFun c, e15.5
- prom %32.1 = MkArg missing, Prom(5), e15.5
- fs %32.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%32.2
- val^ %32.4 = Call %32.0(%32.1) %32.3, e15.5
- goto BB36
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB36
- val^ %36.0 = Phi %23.0:BB31, %32.4:BB32
- val %36.1 = Force %36.0, e15.5
- val^? %36.2 = LdVar array, e0.2
- val %36.3 = Force %36.2, e0.2
- val^? %36.4 = LdVar i, e0.2
- val %36.5 = Force %36.4, e0.2
- val %36.6 = EnsureNamed %36.1
- val %36.7 = Subassign2_1D %36.6, %36.3, %36.5, e0.2
- void StVar array, %36.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- real$' %20.3 = LdConst [1] 4
- str$' %20.4 = LdConst [1] "list"
- val %20.5 = CallSafeBuiltin vector(%20.4, %20.3)
- void StVar array, %20.5, e15.5
- real$' %20.7 = LdConst [1] 1
- real$' %20.8 = LdConst [1] 4
- cp %20.9 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB22
- val' %22.0 = Colon %20.7, %20.8, elided
- val' %22.1 = SetShared %22.0
- int$' %22.2 = ForSeqSize %22.1
- int$' %22.3 = LdConst [1] 0
- goto BB23
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+192: [%20.7, %20.8], env=e15.5, next=%21.0
- void Deopt %21.1
- BB23
- val %23.0 = Phi %20.5:BB20, %30.12:BB30
- int$' %23.1 = Phi %22.3:BB22, %23.3:BB30
- int$' %23.2 = Inc %23.1
- int$' %23.3 = EnsureNamed %23.2
- cp %23.4 = Checkpoint -> BB25 (by default) | BB24 (if coming from expect)
- BB25
- lgl' %25.0 = Lt %22.2, %23.3, elided
- t %25.1 = AsTest %25.0
- void Branch %25.1 -> BB31 (if true) | BB26 (if false)
- BB24
- fs %24.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %24.1 = FrameState 0x7f924457f3d0+203: [%22.1, %22.2, %23.3, %22.2, %23.3], env=e15.5, next=%24.0
- void Deopt %24.1
- BB31
- goto BB36
- BB26
- cp %26.0 = Checkpoint -> BB28 (by default) | BB27 (if coming from expect)
- BB28
- val$' %28.0 = Extract2_1D %22.1, %23.3, elided
- void StVar i, %28.0, e15.5
- cls %28.2 = LdFun buildTreeDepth, e15.5
- prom %28.3 = MkArg missing, Prom(8), e15.5
- prom %28.4 = MkArg missing, Prom(9), e15.5
- cp %28.5 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB27
- fs %27.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %27.1 = FrameState 0x7f924457f3d0+219: [%22.1, %22.2, %23.3, %22.1, %23.3], env=e15.5, next=%27.0
- void Deopt %27.1
- BB30
- cls' %30.0 = LdConst function (depth, random) { if (d...
- t %30.1 = Identical %28.2, %30.0
- void Assume %30.1, %28.5
- fs %30.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.4 = FrameState 0x7f924457f3d0+290: [%22.1, %22.2, %23.3], env=e15.5, next=%30.3
- val^ %30.5 = StaticCall buildTreeDepth[0x7f92446010b0](%28.3, %28.4) %30.4, e15.5
- val^? %30.6 = LdVar array, e15.5
- val %30.7 = Force %30.6, e15.5
- val^? %30.8 = LdVar i, e15.5
- val %30.9 = Force %30.8, e15.5
- val^ %30.10 = EnsureNamed %30.5
- val %30.11 = Force %30.10, e15.5
- val %30.12 = Subassign2_1D %30.11, %30.7, %30.9, e15.5
- void StVar array, %30.12, e15.5
- goto BB23
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+273: [%22.1, %22.2, %23.3, %28.2], env=e15.5, next=%29.0
- void Deopt %29.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup unused checkpoints: == 259
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB34 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB34
- cls %34.0 = LdFun c, e0.2
- prom %34.1 = MkArg missing, Prom(4), e0.2
- fs %34.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %34.3 = Call %34.0(%34.1) %34.2, e0.2
- goto BB35
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB35
- val^ %35.0 = Phi %8.0:BB33, %34.3:BB34
- val %35.1 = Force %35.0, e0.2
- void Return %35.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- goto BB7
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB8
- val %8.0 = Phi %5.5:BB5, %36.7:BB36
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB36
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- goto BB10
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB33 (if true) | BB11 (if false)
- BB33
- goto BB35
- BB11
- goto BB13
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- t %17.0 = IsObject %15.6
- void AssumeNot %17.0, %15.8
- lgl' %17.2 = Eq %15.6, %15.7, elided
- lgl %17.3 = AsLogical %17.2
- t %17.4 = AsTest %17.3
- void Branch %17.4 -> BB32 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB32
- cls %32.0 = LdFun c, e15.5
- prom %32.1 = MkArg missing, Prom(5), e15.5
- fs %32.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%32.2
- val^ %32.4 = Call %32.0(%32.1) %32.3, e15.5
- goto BB36
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB36
- val^ %36.0 = Phi %23.0:BB31, %32.4:BB32
- val %36.1 = Force %36.0, e15.5
- val^? %36.2 = LdVar array, e0.2
- val %36.3 = Force %36.2, e0.2
- val^? %36.4 = LdVar i, e0.2
- val %36.5 = Force %36.4, e0.2
- val %36.6 = EnsureNamed %36.1
- val %36.7 = Subassign2_1D %36.6, %36.3, %36.5, e0.2
- void StVar array, %36.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- real$' %20.3 = LdConst [1] 4
- str$' %20.4 = LdConst [1] "list"
- val %20.5 = CallSafeBuiltin vector(%20.4, %20.3)
- void StVar array, %20.5, e15.5
- real$' %20.7 = LdConst [1] 1
- real$' %20.8 = LdConst [1] 4
- goto BB22
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB22
- val' %22.0 = Colon %20.7, %20.8, elided
- val' %22.1 = SetShared %22.0
- int$' %22.2 = ForSeqSize %22.1
- int$' %22.3 = LdConst [1] 0
- goto BB23
- BB23
- val %23.0 = Phi %20.5:BB20, %30.12:BB30
- int$' %23.1 = Phi %22.3:BB22, %23.3:BB30
- int$' %23.2 = Inc %23.1
- int$' %23.3 = EnsureNamed %23.2
- goto BB25
- BB25
- lgl' %25.0 = Lt %22.2, %23.3, elided
- t %25.1 = AsTest %25.0
- void Branch %25.1 -> BB31 (if true) | BB26 (if false)
- BB31
- goto BB36
- BB26
- goto BB28
- BB28
- val$' %28.0 = Extract2_1D %22.1, %23.3, elided
- void StVar i, %28.0, e15.5
- cls %28.2 = LdFun buildTreeDepth, e15.5
- prom %28.3 = MkArg missing, Prom(8), e15.5
- prom %28.4 = MkArg missing, Prom(9), e15.5
- cp %28.5 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB30
- cls' %30.0 = LdConst function (depth, random) { if (d...
- t %30.1 = Identical %28.2, %30.0
- void Assume %30.1, %28.5
- fs %30.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.4 = FrameState 0x7f924457f3d0+290: [%22.1, %22.2, %23.3], env=e15.5, next=%30.3
- val^ %30.5 = StaticCall buildTreeDepth[0x7f92446010b0](%28.3, %28.4) %30.4, e15.5
- val^? %30.6 = LdVar array, e15.5
- val %30.7 = Force %30.6, e15.5
- val^? %30.8 = LdVar i, e15.5
- val %30.9 = Force %30.8, e15.5
- val^ %30.10 = EnsureNamed %30.5
- val %30.11 = Force %30.10, e15.5
- val %30.12 = Subassign2_1D %30.11, %30.7, %30.9, e15.5
- void StVar array, %30.12, e15.5
- goto BB23
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+273: [%22.1, %22.2, %23.3, %28.2], env=e15.5, next=%29.0
- void Deopt %29.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB2
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- goto BB6
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- goto BB6
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB2
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline Promises: == 266
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB34 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB34
- cls %34.0 = LdFun c, e0.2
- prom %34.1 = MkArg missing, Prom(4), e0.2
- fs %34.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %34.3 = Call %34.0(%34.1) %34.2, e0.2
- goto BB35
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB35
- val^ %35.0 = Phi %8.0:BB33, %34.3:BB34
- val %35.1 = Force %35.0, e0.2
- void Return %35.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- goto BB7
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB8
- val %8.0 = Phi %5.5:BB5, %36.7:BB36
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB36
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- goto BB10
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB33 (if true) | BB11 (if false)
- BB33
- goto BB35
- BB11
- goto BB13
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- t %17.0 = IsObject %15.6
- void AssumeNot %17.0, %15.8
- lgl' %17.2 = Eq %15.6, %15.7, elided
- lgl %17.3 = AsLogical %17.2
- t %17.4 = AsTest %17.3
- void Branch %17.4 -> BB32 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB32
- cls %32.0 = LdFun c, e15.5
- prom %32.1 = MkArg missing, Prom(5), e15.5
- fs %32.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%32.2
- val^ %32.4 = Call %32.0(%32.1) %32.3, e15.5
- goto BB36
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB36
- val^ %36.0 = Phi %23.0:BB31, %32.4:BB32
- val %36.1 = Force %36.0, e15.5
- val^? %36.2 = LdVar array, e0.2
- val %36.3 = Force %36.2, e0.2
- val^? %36.4 = LdVar i, e0.2
- val %36.5 = Force %36.4, e0.2
- val %36.6 = EnsureNamed %36.1
- val %36.7 = Subassign2_1D %36.6, %36.3, %36.5, e0.2
- void StVar array, %36.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- real$' %20.3 = LdConst [1] 4
- str$' %20.4 = LdConst [1] "list"
- val %20.5 = CallSafeBuiltin vector(%20.4, %20.3)
- void StVar array, %20.5, e15.5
- real$' %20.7 = LdConst [1] 1
- real$' %20.8 = LdConst [1] 4
- goto BB22
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB22
- val' %22.0 = Colon %20.7, %20.8, elided
- val' %22.1 = SetShared %22.0
- int$' %22.2 = ForSeqSize %22.1
- int$' %22.3 = LdConst [1] 0
- goto BB23
- BB23
- val %23.0 = Phi %20.5:BB20, %30.12:BB30
- int$' %23.1 = Phi %22.3:BB22, %23.3:BB30
- int$' %23.2 = Inc %23.1
- int$' %23.3 = EnsureNamed %23.2
- goto BB25
- BB25
- lgl' %25.0 = Lt %22.2, %23.3, elided
- t %25.1 = AsTest %25.0
- void Branch %25.1 -> BB31 (if true) | BB26 (if false)
- BB31
- goto BB36
- BB26
- goto BB28
- BB28
- val$' %28.0 = Extract2_1D %22.1, %23.3, elided
- void StVar i, %28.0, e15.5
- cls %28.2 = LdFun buildTreeDepth, e15.5
- prom %28.3 = MkArg missing, Prom(8), e15.5
- prom %28.4 = MkArg missing, Prom(9), e15.5
- cp %28.5 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB30
- cls' %30.0 = LdConst function (depth, random) { if (d...
- t %30.1 = Identical %28.2, %30.0
- void Assume %30.1, %28.5
- fs %30.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.4 = FrameState 0x7f924457f3d0+290: [%22.1, %22.2, %23.3], env=e15.5, next=%30.3
- val^ %30.5 = StaticCall buildTreeDepth[0x7f92446010b0](%28.3, %28.4) %30.4, e15.5
- val^? %30.6 = LdVar array, e15.5
- val %30.7 = Force %30.6, e15.5
- val^? %30.8 = LdVar i, e15.5
- val %30.9 = Force %30.8, e15.5
- val^ %30.10 = EnsureNamed %30.5
- val %30.11 = Force %30.10, e15.5
- val %30.12 = Subassign2_1D %30.11, %30.7, %30.9, e15.5
- void StVar array, %30.12, e15.5
- goto BB23
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+273: [%22.1, %22.2, %23.3, %28.2], env=e15.5, next=%29.0
- void Deopt %29.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB2
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- goto BB6
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- goto BB6
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB2
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Scope resolution: == 273
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB34 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB34
- cls %34.0 = LdFun c, e0.2
- prom %34.1 = MkArg missing, Prom(4), e0.2
- fs %34.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %34.3 = Call %34.0(%34.1) %34.2, e0.2
- goto BB35
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB35
- val^ %35.0 = Phi %8.0:BB33, %34.3:BB34
- val %35.1 = Force %35.0, e0.2
- void Return %35.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- goto BB7
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB8
- val %8.0 = Phi %5.5:BB5, %36.7:BB36
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB36
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- goto BB10
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB33 (if true) | BB11 (if false)
- BB33
- goto BB35
- BB11
- goto BB13
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- t %17.0 = IsObject %15.6
- void AssumeNot %17.0, %15.8
- lgl' %17.2 = Eq %15.6, %15.7, elided
- lgl %17.3 = AsLogical %17.2
- t %17.4 = AsTest %17.3
- void Branch %17.4 -> BB32 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB32
- cls %32.0 = LdFun c, e15.5
- prom %32.1 = MkArg missing, Prom(5), e15.5
- fs %32.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%32.2
- val^ %32.4 = Call %32.0(%32.1) %32.3, e15.5
- goto BB36
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB36
- val^ %36.0 = Phi %23.0:BB31, %32.4:BB32
- val %36.1 = Force %36.0, e15.5
- val^? %36.2 = LdVar array, e0.2
- val %36.3 = Force %36.2, e0.2
- val^? %36.4 = LdVar i, e0.2
- val %36.5 = Force %36.4, e0.2
- val %36.6 = EnsureNamed %36.1
- val %36.7 = Subassign2_1D %36.6, %36.3, %36.5, e0.2
- void StVar array, %36.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- real$' %20.3 = LdConst [1] 4
- str$' %20.4 = LdConst [1] "list"
- val %20.5 = CallSafeBuiltin vector(%20.4, %20.3)
- void StVar array, %20.5, e15.5
- real$' %20.7 = LdConst [1] 1
- real$' %20.8 = LdConst [1] 4
- goto BB22
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB22
- val' %22.0 = Colon %20.7, %20.8, elided
- val' %22.1 = SetShared %22.0
- int$' %22.2 = ForSeqSize %22.1
- int$' %22.3 = LdConst [1] 0
- goto BB23
- BB23
- val %23.0 = Phi %20.5:BB20, %30.12:BB30
- int$' %23.1 = Phi %22.3:BB22, %23.3:BB30
- int$' %23.2 = Inc %23.1
- int$' %23.3 = EnsureNamed %23.2
- goto BB25
- BB25
- lgl' %25.0 = Lt %22.2, %23.3, elided
- t %25.1 = AsTest %25.0
- void Branch %25.1 -> BB31 (if true) | BB26 (if false)
- BB31
- goto BB36
- BB26
- goto BB28
- BB28
- val$' %28.0 = Extract2_1D %22.1, %23.3, elided
- void StVar i, %28.0, e15.5
- cls %28.2 = LdFun buildTreeDepth, e15.5
- prom %28.3 = MkArg missing, Prom(8), e15.5
- prom %28.4 = MkArg missing, Prom(9), e15.5
- cp %28.5 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB30
- cls' %30.0 = LdConst function (depth, random) { if (d...
- t %30.1 = Identical %28.2, %30.0
- void Assume %30.1, %28.5
- fs %30.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.4 = FrameState 0x7f924457f3d0+290: [%22.1, %22.2, %23.3], env=e15.5, next=%30.3
- val^ %30.5 = StaticCall buildTreeDepth[0x7f92446010b0](%28.3, %28.4) %30.4, e15.5
- val^? %30.6 = LdVar array, e15.5
- val %30.7 = Force %30.6, e15.5
- val^? %30.8 = LdVar i, e15.5
- val %30.9 = Force %30.8, e15.5
- val^ %30.10 = EnsureNamed %30.5
- val %30.11 = Force %30.10, e15.5
- val %30.12 = Subassign2_1D %30.11, %30.7, %30.9, e15.5
- void StVar array, %30.12, e15.5
- goto BB23
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+273: [%22.1, %22.2, %23.3, %28.2], env=e15.5, next=%29.0
- void Deopt %29.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB2
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- goto BB6
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- goto BB6
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB2
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Constant folding: == 280
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB34 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB34
- cls %34.0 = LdFun c, e0.2
- prom %34.1 = MkArg missing, Prom(4), e0.2
- fs %34.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %34.3 = Call %34.0(%34.1) %34.2, e0.2
- goto BB35
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB35
- val^ %35.0 = Phi %8.0:BB33, %34.3:BB34
- val %35.1 = Force %35.0, e0.2
- void Return %35.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- goto BB7
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB8
- val %8.0 = Phi %5.5:BB5, %36.7:BB36
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB36
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- goto BB10
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB33 (if true) | BB11 (if false)
- BB33
- goto BB35
- BB11
- goto BB13
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- val^? %15.3 = CastType %13.3
- val^? %15.4 = CastType %13.4
- env e15.5 = MkEnv depth=%15.3, random=%15.4, parent=<environment: 0x7f9246b48c88>
- val %15.6 = Force %15.3, e15.5
- real$' %15.7 = LdConst [1] 1
- cp %15.8 = Checkpoint -> BB17 (by default) | BB16 (if coming from expect)
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- BB17
- t %17.0 = IsObject %15.6
- void AssumeNot %17.0, %15.8
- lgl' %17.2 = Eq %15.6, %15.7, elided
- lgl %17.3 = AsLogical %17.2
- t %17.4 = AsTest %17.3
- void Branch %17.4 -> BB32 (if true) | BB18 (if false)
- BB16
- fs %16.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %16.1 = FrameState 0x7f924457f3d0+58: [%15.6, %15.7], env=e15.5, next=%16.0
- void Deopt %16.1
- BB32
- cls %32.0 = LdFun c, e15.5
- prom %32.1 = MkArg missing, Prom(5), e15.5
- fs %32.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %32.3 = FrameState 0x7f924457f3d0+410: [], env=e15.5, next=%32.2
- val^ %32.4 = Call %32.0(%32.1) %32.3, e15.5
- goto BB36
- BB18
- cls %18.0 = LdFun vector, e15.5
- cp %18.1 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB36
- val^ %36.0 = Phi %23.0:BB31, %32.4:BB32
- val %36.1 = Force %36.0, e15.5
- val^? %36.2 = LdVar array, e0.2
- val %36.3 = Force %36.2, e0.2
- val^? %36.4 = LdVar i, e0.2
- val %36.5 = Force %36.4, e0.2
- val %36.6 = EnsureNamed %36.1
- val %36.7 = Subassign2_1D %36.6, %36.3, %36.5, e0.2
- void StVar array, %36.7, e0.2
- goto BB8
- BB20
- cls' %20.0 = LdConst function (mode = "logical", length = ...
- t %20.1 = Identical %18.0, %20.0
- void Assume %20.1, %18.1
- real$' %20.3 = LdConst [1] 4
- str$' %20.4 = LdConst [1] "list"
- val %20.5 = CallSafeBuiltin vector(%20.4, %20.3)
- void StVar array, %20.5, e15.5
- real$' %20.7 = LdConst [1] 1
- real$' %20.8 = LdConst [1] 4
- goto BB22
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+113: [%18.0], env=e15.5, next=%19.0
- void Deopt %19.1
- BB22
- val' %22.0 = Colon %20.7, %20.8, elided
- val' %22.1 = SetShared %22.0
- int$' %22.2 = ForSeqSize %22.1
- int$' %22.3 = LdConst [1] 0
- goto BB23
- BB23
- val %23.0 = Phi %20.5:BB20, %30.12:BB30
- int$' %23.1 = Phi %22.3:BB22, %23.3:BB30
- int$' %23.2 = Inc %23.1
- int$' %23.3 = EnsureNamed %23.2
- goto BB25
- BB25
- lgl' %25.0 = Lt %22.2, %23.3, elided
- t %25.1 = AsTest %25.0
- void Branch %25.1 -> BB31 (if true) | BB26 (if false)
- BB31
- goto BB36
- BB26
- goto BB28
- BB28
- val$' %28.0 = Extract2_1D %22.1, %23.3, elided
- void StVar i, %28.0, e15.5
- cls %28.2 = LdFun buildTreeDepth, e15.5
- prom %28.3 = MkArg missing, Prom(8), e15.5
- prom %28.4 = MkArg missing, Prom(9), e15.5
- cp %28.5 = Checkpoint -> BB30 (by default) | BB29 (if coming from expect)
- BB30
- cls' %30.0 = LdConst function (depth, random) { if (d...
- t %30.1 = Identical %28.2, %30.0
- void Assume %30.1, %28.5
- fs %30.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %30.4 = FrameState 0x7f924457f3d0+290: [%22.1, %22.2, %23.3], env=e15.5, next=%30.3
- val^ %30.5 = StaticCall buildTreeDepth[0x7f92446010b0](%28.3, %28.4) %30.4, e15.5
- val^? %30.6 = LdVar array, e15.5
- val %30.7 = Force %30.6, e15.5
- val^? %30.8 = LdVar i, e15.5
- val %30.9 = Force %30.8, e15.5
- val^ %30.10 = EnsureNamed %30.5
- val %30.11 = Force %30.10, e15.5
- val %30.12 = Subassign2_1D %30.11, %30.7, %30.9, e15.5
- void StVar array, %30.12, e15.5
- goto BB23
- BB29
- fs %29.0 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- fs %29.1 = FrameState 0x7f924457f3d0+273: [%22.1, %22.2, %23.3, %28.2], env=e15.5, next=%29.0
- void Deopt %29.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB2
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- goto BB6
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- goto BB6
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB2
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 287
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB27 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB27
- cls %27.0 = LdFun c, e0.2
- prom %27.1 = MkArg missing, Prom(4), e0.2
- fs %27.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %27.3 = Call %27.0(%27.1) %27.2, e0.2
- goto BB28
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB28
- val^ %28.0 = Phi %6.0:BB26, %27.3:BB27
- val %28.1 = Force %28.0, e0.2
- void Return %28.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %29.7:BB29
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB29
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- goto BB7
- BB7
- lgl' %7.0 = Lt %5.11, %6.3, elided
- t %7.1 = AsTest %7.0
- void Branch %7.1 -> BB26 (if true) | BB8 (if false)
- BB26
- goto BB28
- BB8
- goto BB9
- BB9
- val$' %9.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %9.0, e0.2
- cls %9.2 = LdFun buildTreeDepth, e0.2
- prom %9.3 = MkArg missing, Prom(2), e0.2
- prom %9.4 = MkArg missing, Prom(3), e0.2
- cp %9.5 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- cls' %11.0 = LdConst function (depth, random) { if (d...
- t %11.1 = Identical %9.2, %11.0
- void Assume %11.1, %9.5
- val^? %11.3 = CastType %9.3
- val^? %11.4 = CastType %9.4
- env e11.5 = MkEnv depth=%11.3, random=%11.4, parent=<environment: 0x7f9246b48c88>
- val %11.6 = Force %11.3, e11.5
- real$' %11.7 = LdConst [1] 1
- cp %11.8 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %9.2], env=e0.2
- void Deopt %10.0
- BB13
- t %13.0 = IsObject %11.6
- void AssumeNot %13.0, %11.8
- lgl' %13.2 = Eq %11.6, %11.7, elided
- lgl %13.3 = AsLogical %13.2
- t %13.4 = AsTest %13.3
- void Branch %13.4 -> BB25 (if true) | BB14 (if false)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %12.1 = FrameState 0x7f924457f3d0+58: [%11.6, %11.7], env=e11.5, next=%12.0
- void Deopt %12.1
- BB25
- cls %25.0 = LdFun c, e11.5
- prom %25.1 = MkArg missing, Prom(5), e11.5
- fs %25.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %25.3 = FrameState 0x7f924457f3d0+410: [], env=e11.5, next=%25.2
- val^ %25.4 = Call %25.0(%25.1) %25.3, e11.5
- goto BB29
- BB14
- cls %14.0 = LdFun vector, e11.5
- cp %14.1 = Checkpoint -> BB16 (by default) | BB15 (if coming from expect)
- BB29
- val^ %29.0 = Phi %18.0:BB24, %25.4:BB25
- val %29.1 = Force %29.0, e11.5
- val^? %29.2 = LdVar array, e0.2
- val %29.3 = Force %29.2, e0.2
- val^? %29.4 = LdVar i, e0.2
- val %29.5 = Force %29.4, e0.2
- val %29.6 = EnsureNamed %29.1
- val %29.7 = Subassign2_1D %29.6, %29.3, %29.5, e0.2
- void StVar array, %29.7, e0.2
- goto BB6
- BB16
- cls' %16.0 = LdConst function (mode = "logical", length = ...
- t %16.1 = Identical %14.0, %16.0
- void Assume %16.1, %14.1
- real$' %16.3 = LdConst [1] 4
- str$' %16.4 = LdConst [1] "list"
- val %16.5 = CallSafeBuiltin vector(%16.4, %16.3)
- void StVar array, %16.5, e11.5
- real$' %16.7 = LdConst [1] 1
- real$' %16.8 = LdConst [1] 4
- goto BB17
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %15.1 = FrameState 0x7f924457f3d0+113: [%14.0], env=e11.5, next=%15.0
- void Deopt %15.1
- BB17
- val' %17.0 = Colon %16.7, %16.8, elided
- val' %17.1 = SetShared %17.0
- int$' %17.2 = ForSeqSize %17.1
- int$' %17.3 = LdConst [1] 0
- goto BB18
- BB18
- val %18.0 = Phi %16.5:BB16, %23.12:BB23
- int$' %18.1 = Phi %17.3:BB17, %18.3:BB23
- int$' %18.2 = Inc %18.1
- int$' %18.3 = EnsureNamed %18.2
- goto BB19
- BB19
- lgl' %19.0 = Lt %17.2, %18.3, elided
- t %19.1 = AsTest %19.0
- void Branch %19.1 -> BB24 (if true) | BB20 (if false)
- BB24
- goto BB29
- BB20
- goto BB21
- BB21
- val$' %21.0 = Extract2_1D %17.1, %18.3, elided
- void StVar i, %21.0, e11.5
- cls %21.2 = LdFun buildTreeDepth, e11.5
- prom %21.3 = MkArg missing, Prom(8), e11.5
- prom %21.4 = MkArg missing, Prom(9), e11.5
- cp %21.5 = Checkpoint -> BB23 (by default) | BB22 (if coming from expect)
- BB23
- cls' %23.0 = LdConst function (depth, random) { if (d...
- t %23.1 = Identical %21.2, %23.0
- void Assume %23.1, %21.5
- fs %23.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %23.4 = FrameState 0x7f924457f3d0+290: [%17.1, %17.2, %18.3], env=e11.5, next=%23.3
- val^ %23.5 = StaticCall buildTreeDepth[0x7f92446010b0](%21.3, %21.4) %23.4, e11.5
- val^? %23.6 = LdVar array, e11.5
- val %23.7 = Force %23.6, e11.5
- val^? %23.8 = LdVar i, e11.5
- val %23.9 = Force %23.8, e11.5
- val^ %23.10 = EnsureNamed %23.5
- val %23.11 = Force %23.10, e11.5
- val %23.12 = Subassign2_1D %23.11, %23.7, %23.9, e11.5
- void StVar array, %23.12, e11.5
- goto BB18
- BB22
- fs %22.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.1 = FrameState 0x7f924457f3d0+273: [%17.1, %17.2, %18.3, %21.2], env=e11.5, next=%22.0
- void Deopt %22.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Delay instructions: == 294
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB27 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB27
- cls %27.0 = LdFun c, e0.2
- prom %27.1 = MkArg missing, Prom(4), e0.2
- fs %27.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %27.3 = Call %27.0(%27.1) %27.2, e0.2
- goto BB28
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB28
- val^ %28.0 = Phi %6.0:BB26, %27.3:BB27
- val %28.1 = Force %28.0, e0.2
- void Return %28.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %29.7:BB29
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB29
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- goto BB7
- BB7
- lgl' %7.0 = Lt %5.11, %6.3, elided
- t %7.1 = AsTest %7.0
- void Branch %7.1 -> BB26 (if true) | BB8 (if false)
- BB26
- goto BB28
- BB8
- goto BB9
- BB9
- val$' %9.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %9.0, e0.2
- cls %9.2 = LdFun buildTreeDepth, e0.2
- prom %9.3 = MkArg missing, Prom(2), e0.2
- prom %9.4 = MkArg missing, Prom(3), e0.2
- cp %9.5 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- cls' %11.0 = LdConst function (depth, random) { if (d...
- t %11.1 = Identical %9.2, %11.0
- void Assume %11.1, %9.5
- val^? %11.3 = CastType %9.3
- val^? %11.4 = CastType %9.4
- env e11.5 = MkEnv depth=%11.3, random=%11.4, parent=<environment: 0x7f9246b48c88>
- val %11.6 = Force %11.3, e11.5
- real$' %11.7 = LdConst [1] 1
- cp %11.8 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %9.2], env=e0.2
- void Deopt %10.0
- BB13
- t %13.0 = IsObject %11.6
- void AssumeNot %13.0, %11.8
- lgl' %13.2 = Eq %11.6, %11.7, elided
- lgl %13.3 = AsLogical %13.2
- t %13.4 = AsTest %13.3
- void Branch %13.4 -> BB25 (if true) | BB14 (if false)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %12.1 = FrameState 0x7f924457f3d0+58: [%11.6, %11.7], env=e11.5, next=%12.0
- void Deopt %12.1
- BB25
- cls %25.0 = LdFun c, e11.5
- prom %25.1 = MkArg missing, Prom(5), e11.5
- fs %25.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %25.3 = FrameState 0x7f924457f3d0+410: [], env=e11.5, next=%25.2
- val^ %25.4 = Call %25.0(%25.1) %25.3, e11.5
- goto BB29
- BB14
- cls %14.0 = LdFun vector, e11.5
- cp %14.1 = Checkpoint -> BB16 (by default) | BB15 (if coming from expect)
- BB29
- val^ %29.0 = Phi %18.0:BB24, %25.4:BB25
- val %29.1 = Force %29.0, e11.5
- val^? %29.2 = LdVar array, e0.2
- val %29.3 = Force %29.2, e0.2
- val^? %29.4 = LdVar i, e0.2
- val %29.5 = Force %29.4, e0.2
- val %29.6 = EnsureNamed %29.1
- val %29.7 = Subassign2_1D %29.6, %29.3, %29.5, e0.2
- void StVar array, %29.7, e0.2
- goto BB6
- BB16
- cls' %16.0 = LdConst function (mode = "logical", length = ...
- t %16.1 = Identical %14.0, %16.0
- void Assume %16.1, %14.1
- str$' %16.3 = LdConst [1] "list"
- real$' %16.4 = LdConst [1] 4
- val %16.5 = CallSafeBuiltin vector(%16.3, %16.4)
- void StVar array, %16.5, e11.5
- goto BB17
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %15.1 = FrameState 0x7f924457f3d0+113: [%14.0], env=e11.5, next=%15.0
- void Deopt %15.1
- BB17
- real$' %17.0 = LdConst [1] 1
- real$' %17.1 = LdConst [1] 4
- val' %17.2 = Colon %17.0, %17.1, elided
- val' %17.3 = SetShared %17.2
- int$' %17.4 = ForSeqSize %17.3
- int$' %17.5 = LdConst [1] 0
- goto BB18
- BB18
- val %18.0 = Phi %16.5:BB16, %23.12:BB23
- int$' %18.1 = Phi %17.5:BB17, %18.3:BB23
- int$' %18.2 = Inc %18.1
- int$' %18.3 = EnsureNamed %18.2
- goto BB19
- BB19
- lgl' %19.0 = Lt %17.4, %18.3, elided
- t %19.1 = AsTest %19.0
- void Branch %19.1 -> BB24 (if true) | BB20 (if false)
- BB24
- goto BB29
- BB20
- goto BB21
- BB21
- val$' %21.0 = Extract2_1D %17.3, %18.3, elided
- void StVar i, %21.0, e11.5
- cls %21.2 = LdFun buildTreeDepth, e11.5
- prom %21.3 = MkArg missing, Prom(8), e11.5
- prom %21.4 = MkArg missing, Prom(9), e11.5
- cp %21.5 = Checkpoint -> BB23 (by default) | BB22 (if coming from expect)
- BB23
- cls' %23.0 = LdConst function (depth, random) { if (d...
- t %23.1 = Identical %21.2, %23.0
- void Assume %23.1, %21.5
- fs %23.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %23.4 = FrameState 0x7f924457f3d0+290: [%17.3, %17.4, %18.3], env=e11.5, next=%23.3
- val^ %23.5 = StaticCall buildTreeDepth[0x7f92446010b0](%21.3, %21.4) %23.4, e11.5
- val^? %23.6 = LdVar array, e11.5
- val %23.7 = Force %23.6, e11.5
- val^? %23.8 = LdVar i, e11.5
- val %23.9 = Force %23.8, e11.5
- val^ %23.10 = EnsureNamed %23.5
- val %23.11 = Force %23.10, e11.5
- val %23.12 = Subassign2_1D %23.11, %23.7, %23.9, e11.5
- void StVar array, %23.12, e11.5
- goto BB18
- BB22
- fs %22.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.1 = FrameState 0x7f924457f3d0+273: [%17.3, %17.4, %18.3, %21.2], env=e11.5, next=%22.0
- void Deopt %22.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Elide environments not needed: == 301
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB27 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB27
- cls %27.0 = LdFun c, e0.2
- prom %27.1 = MkArg missing, Prom(4), e0.2
- fs %27.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %27.3 = Call %27.0(%27.1) %27.2, e0.2
- goto BB28
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB28
- val^ %28.0 = Phi %6.0:BB26, %27.3:BB27
- val %28.1 = Force %28.0, e0.2
- void Return %28.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %29.7:BB29
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB29
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- goto BB7
- BB7
- lgl' %7.0 = Lt %5.11, %6.3, elided
- t %7.1 = AsTest %7.0
- void Branch %7.1 -> BB26 (if true) | BB8 (if false)
- BB26
- goto BB28
- BB8
- goto BB9
- BB9
- val$' %9.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %9.0, e0.2
- cls %9.2 = LdFun buildTreeDepth, e0.2
- prom %9.3 = MkArg missing, Prom(2), e0.2
- prom %9.4 = MkArg missing, Prom(3), e0.2
- cp %9.5 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- cls' %11.0 = LdConst function (depth, random) { if (d...
- t %11.1 = Identical %9.2, %11.0
- void Assume %11.1, %9.5
- val^? %11.3 = CastType %9.3
- val^? %11.4 = CastType %9.4
- env e11.5 = MkEnv depth=%11.3, random=%11.4, parent=<environment: 0x7f9246b48c88>
- val %11.6 = Force %11.3, e11.5
- real$' %11.7 = LdConst [1] 1
- cp %11.8 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %9.2], env=e0.2
- void Deopt %10.0
- BB13
- t %13.0 = IsObject %11.6
- void AssumeNot %13.0, %11.8
- lgl' %13.2 = Eq %11.6, %11.7, elided
- lgl %13.3 = AsLogical %13.2
- t %13.4 = AsTest %13.3
- void Branch %13.4 -> BB25 (if true) | BB14 (if false)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %12.1 = FrameState 0x7f924457f3d0+58: [%11.6, %11.7], env=e11.5, next=%12.0
- void Deopt %12.1
- BB25
- cls %25.0 = LdFun c, e11.5
- prom %25.1 = MkArg missing, Prom(5), e11.5
- fs %25.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %25.3 = FrameState 0x7f924457f3d0+410: [], env=e11.5, next=%25.2
- val^ %25.4 = Call %25.0(%25.1) %25.3, e11.5
- goto BB29
- BB14
- cls %14.0 = LdFun vector, e11.5
- cp %14.1 = Checkpoint -> BB16 (by default) | BB15 (if coming from expect)
- BB29
- val^ %29.0 = Phi %18.0:BB24, %25.4:BB25
- val %29.1 = Force %29.0, e11.5
- val^? %29.2 = LdVar array, e0.2
- val %29.3 = Force %29.2, e0.2
- val^? %29.4 = LdVar i, e0.2
- val %29.5 = Force %29.4, e0.2
- val %29.6 = EnsureNamed %29.1
- val %29.7 = Subassign2_1D %29.6, %29.3, %29.5, e0.2
- void StVar array, %29.7, e0.2
- goto BB6
- BB16
- cls' %16.0 = LdConst function (mode = "logical", length = ...
- t %16.1 = Identical %14.0, %16.0
- void Assume %16.1, %14.1
- str$' %16.3 = LdConst [1] "list"
- real$' %16.4 = LdConst [1] 4
- val %16.5 = CallSafeBuiltin vector(%16.3, %16.4)
- void StVar array, %16.5, e11.5
- goto BB17
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %15.1 = FrameState 0x7f924457f3d0+113: [%14.0], env=e11.5, next=%15.0
- void Deopt %15.1
- BB17
- real$' %17.0 = LdConst [1] 1
- real$' %17.1 = LdConst [1] 4
- val' %17.2 = Colon %17.0, %17.1, elided
- val' %17.3 = SetShared %17.2
- int$' %17.4 = ForSeqSize %17.3
- int$' %17.5 = LdConst [1] 0
- goto BB18
- BB18
- val %18.0 = Phi %16.5:BB16, %23.12:BB23
- int$' %18.1 = Phi %17.5:BB17, %18.3:BB23
- int$' %18.2 = Inc %18.1
- int$' %18.3 = EnsureNamed %18.2
- goto BB19
- BB19
- lgl' %19.0 = Lt %17.4, %18.3, elided
- t %19.1 = AsTest %19.0
- void Branch %19.1 -> BB24 (if true) | BB20 (if false)
- BB24
- goto BB29
- BB20
- goto BB21
- BB21
- val$' %21.0 = Extract2_1D %17.3, %18.3, elided
- void StVar i, %21.0, e11.5
- cls %21.2 = LdFun buildTreeDepth, e11.5
- prom %21.3 = MkArg missing, Prom(8), e11.5
- prom %21.4 = MkArg missing, Prom(9), e11.5
- cp %21.5 = Checkpoint -> BB23 (by default) | BB22 (if coming from expect)
- BB23
- cls' %23.0 = LdConst function (depth, random) { if (d...
- t %23.1 = Identical %21.2, %23.0
- void Assume %23.1, %21.5
- fs %23.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %23.4 = FrameState 0x7f924457f3d0+290: [%17.3, %17.4, %18.3], env=e11.5, next=%23.3
- val^ %23.5 = StaticCall buildTreeDepth[0x7f92446010b0](%21.3, %21.4) %23.4, e11.5
- val^? %23.6 = LdVar array, e11.5
- val %23.7 = Force %23.6, e11.5
- val^? %23.8 = LdVar i, e11.5
- val %23.9 = Force %23.8, e11.5
- val^ %23.10 = EnsureNamed %23.5
- val %23.11 = Force %23.10, e11.5
- val %23.12 = Subassign2_1D %23.11, %23.7, %23.9, e11.5
- void StVar array, %23.12, e11.5
- goto BB18
- BB22
- fs %22.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.1 = FrameState 0x7f924457f3d0+273: [%17.3, %17.4, %18.3, %21.2], env=e11.5, next=%22.0
- void Deopt %22.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Move environment creation as far as possible: == 308
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB27 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB27
- cls %27.0 = LdFun c, e0.2
- prom %27.1 = MkArg missing, Prom(4), e0.2
- fs %27.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %27.3 = Call %27.0(%27.1) %27.2, e0.2
- goto BB28
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB28
- val^ %28.0 = Phi %6.0:BB26, %27.3:BB27
- val %28.1 = Force %28.0, e0.2
- void Return %28.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %29.7:BB29
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB29
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- goto BB7
- BB7
- lgl' %7.0 = Lt %5.11, %6.3, elided
- t %7.1 = AsTest %7.0
- void Branch %7.1 -> BB26 (if true) | BB8 (if false)
- BB26
- goto BB28
- BB8
- goto BB9
- BB9
- val$' %9.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %9.0, e0.2
- cls %9.2 = LdFun buildTreeDepth, e0.2
- prom %9.3 = MkArg missing, Prom(2), e0.2
- prom %9.4 = MkArg missing, Prom(3), e0.2
- cp %9.5 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- cls' %11.0 = LdConst function (depth, random) { if (d...
- t %11.1 = Identical %9.2, %11.0
- void Assume %11.1, %9.5
- val^? %11.3 = CastType %9.3
- val^? %11.4 = CastType %9.4
- env e11.5 = MkEnv depth=%11.3, random=%11.4, parent=<environment: 0x7f9246b48c88>
- val %11.6 = Force %11.3, e11.5
- real$' %11.7 = LdConst [1] 1
- cp %11.8 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %9.2], env=e0.2
- void Deopt %10.0
- BB13
- t %13.0 = IsObject %11.6
- void AssumeNot %13.0, %11.8
- lgl' %13.2 = Eq %11.6, %11.7, elided
- lgl %13.3 = AsLogical %13.2
- t %13.4 = AsTest %13.3
- void Branch %13.4 -> BB25 (if true) | BB14 (if false)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %12.1 = FrameState 0x7f924457f3d0+58: [%11.6, %11.7], env=e11.5, next=%12.0
- void Deopt %12.1
- BB25
- cls %25.0 = LdFun c, e11.5
- prom %25.1 = MkArg missing, Prom(5), e11.5
- fs %25.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %25.3 = FrameState 0x7f924457f3d0+410: [], env=e11.5, next=%25.2
- val^ %25.4 = Call %25.0(%25.1) %25.3, e11.5
- goto BB29
- BB14
- cls %14.0 = LdFun vector, e11.5
- cp %14.1 = Checkpoint -> BB16 (by default) | BB15 (if coming from expect)
- BB29
- val^ %29.0 = Phi %18.0:BB24, %25.4:BB25
- val %29.1 = Force %29.0, e11.5
- val^? %29.2 = LdVar array, e0.2
- val %29.3 = Force %29.2, e0.2
- val^? %29.4 = LdVar i, e0.2
- val %29.5 = Force %29.4, e0.2
- val %29.6 = EnsureNamed %29.1
- val %29.7 = Subassign2_1D %29.6, %29.3, %29.5, e0.2
- void StVar array, %29.7, e0.2
- goto BB6
- BB16
- cls' %16.0 = LdConst function (mode = "logical", length = ...
- t %16.1 = Identical %14.0, %16.0
- void Assume %16.1, %14.1
- str$' %16.3 = LdConst [1] "list"
- real$' %16.4 = LdConst [1] 4
- val %16.5 = CallSafeBuiltin vector(%16.3, %16.4)
- void StVar array, %16.5, e11.5
- goto BB17
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %15.1 = FrameState 0x7f924457f3d0+113: [%14.0], env=e11.5, next=%15.0
- void Deopt %15.1
- BB17
- real$' %17.0 = LdConst [1] 1
- real$' %17.1 = LdConst [1] 4
- val' %17.2 = Colon %17.0, %17.1, elided
- val' %17.3 = SetShared %17.2
- int$' %17.4 = ForSeqSize %17.3
- int$' %17.5 = LdConst [1] 0
- goto BB18
- BB18
- val %18.0 = Phi %16.5:BB16, %23.12:BB23
- int$' %18.1 = Phi %17.5:BB17, %18.3:BB23
- int$' %18.2 = Inc %18.1
- int$' %18.3 = EnsureNamed %18.2
- goto BB19
- BB19
- lgl' %19.0 = Lt %17.4, %18.3, elided
- t %19.1 = AsTest %19.0
- void Branch %19.1 -> BB24 (if true) | BB20 (if false)
- BB24
- goto BB29
- BB20
- goto BB21
- BB21
- val$' %21.0 = Extract2_1D %17.3, %18.3, elided
- void StVar i, %21.0, e11.5
- cls %21.2 = LdFun buildTreeDepth, e11.5
- prom %21.3 = MkArg missing, Prom(8), e11.5
- prom %21.4 = MkArg missing, Prom(9), e11.5
- cp %21.5 = Checkpoint -> BB23 (by default) | BB22 (if coming from expect)
- BB23
- cls' %23.0 = LdConst function (depth, random) { if (d...
- t %23.1 = Identical %21.2, %23.0
- void Assume %23.1, %21.5
- fs %23.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %23.4 = FrameState 0x7f924457f3d0+290: [%17.3, %17.4, %18.3], env=e11.5, next=%23.3
- val^ %23.5 = StaticCall buildTreeDepth[0x7f92446010b0](%21.3, %21.4) %23.4, e11.5
- val^? %23.6 = LdVar array, e11.5
- val %23.7 = Force %23.6, e11.5
- val^? %23.8 = LdVar i, e11.5
- val %23.9 = Force %23.8, e11.5
- val^ %23.10 = EnsureNamed %23.5
- val %23.11 = Force %23.10, e11.5
- val %23.12 = Subassign2_1D %23.11, %23.7, %23.9, e11.5
- void StVar array, %23.12, e11.5
- goto BB18
- BB22
- fs %22.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.1 = FrameState 0x7f924457f3d0+273: [%17.3, %17.4, %18.3, %21.2], env=e11.5, next=%22.0
- void Deopt %22.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 315
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB26 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB26
- cls %26.0 = LdFun c, e0.2
- prom %26.1 = MkArg missing, Prom(4), e0.2
- fs %26.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %26.3 = Call %26.0(%26.1) %26.2, e0.2
- goto BB27
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB27
- val^ %27.0 = Phi %6.0:BB25, %26.3:BB26
- val %27.1 = Force %27.0, e0.2
- void Return %27.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %28.7:BB28
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB28
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB25 (if true) | BB7 (if false)
- BB25
- goto BB27
- BB7
- goto BB8
- BB8
- val$' %8.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %8.0, e0.2
- cls %8.2 = LdFun buildTreeDepth, e0.2
- prom %8.3 = MkArg missing, Prom(2), e0.2
- prom %8.4 = MkArg missing, Prom(3), e0.2
- cp %8.5 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- cls' %10.0 = LdConst function (depth, random) { if (d...
- t %10.1 = Identical %8.2, %10.0
- void Assume %10.1, %8.5
- val^? %10.3 = CastType %8.3
- val^? %10.4 = CastType %8.4
- env e10.5 = MkEnv depth=%10.3, random=%10.4, parent=<environment: 0x7f9246b48c88>
- val %10.6 = Force %10.3, e10.5
- real$' %10.7 = LdConst [1] 1
- cp %10.8 = Checkpoint -> BB12 (by default) | BB11 (if coming from expect)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %8.2], env=e0.2
- void Deopt %9.0
- BB12
- t %12.0 = IsObject %10.6
- void AssumeNot %12.0, %10.8
- lgl' %12.2 = Eq %10.6, %10.7, elided
- lgl %12.3 = AsLogical %12.2
- t %12.4 = AsTest %12.3
- void Branch %12.4 -> BB24 (if true) | BB13 (if false)
- BB11
- fs %11.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %11.1 = FrameState 0x7f924457f3d0+58: [%10.6, %10.7], env=e10.5, next=%11.0
- void Deopt %11.1
- BB24
- cls %24.0 = LdFun c, e10.5
- prom %24.1 = MkArg missing, Prom(5), e10.5
- fs %24.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %24.3 = FrameState 0x7f924457f3d0+410: [], env=e10.5, next=%24.2
- val^ %24.4 = Call %24.0(%24.1) %24.3, e10.5
- goto BB28
- BB13
- cls %13.0 = LdFun vector, e10.5
- cp %13.1 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB28
- val^ %28.0 = Phi %17.0:BB23, %24.4:BB24
- val %28.1 = Force %28.0, e10.5
- val^? %28.2 = LdVar array, e0.2
- val %28.3 = Force %28.2, e0.2
- val^? %28.4 = LdVar i, e0.2
- val %28.5 = Force %28.4, e0.2
- val %28.6 = EnsureNamed %28.1
- val %28.7 = Subassign2_1D %28.6, %28.3, %28.5, e0.2
- void StVar array, %28.7, e0.2
- goto BB6
- BB15
- cls' %15.0 = LdConst function (mode = "logical", length = ...
- t %15.1 = Identical %13.0, %15.0
- void Assume %15.1, %13.1
- str$' %15.3 = LdConst [1] "list"
- real$' %15.4 = LdConst [1] 4
- val %15.5 = CallSafeBuiltin vector(%15.3, %15.4)
- void StVar array, %15.5, e10.5
- goto BB16
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %14.1 = FrameState 0x7f924457f3d0+113: [%13.0], env=e10.5, next=%14.0
- void Deopt %14.1
- BB16
- real$' %16.0 = LdConst [1] 1
- real$' %16.1 = LdConst [1] 4
- val' %16.2 = Colon %16.0, %16.1, elided
- val' %16.3 = SetShared %16.2
- int$' %16.4 = ForSeqSize %16.3
- int$' %16.5 = LdConst [1] 0
- goto BB17
- BB17
- val %17.0 = Phi %15.5:BB15, %22.12:BB22
- int$' %17.1 = Phi %16.5:BB16, %17.3:BB22
- int$' %17.2 = Inc %17.1
- int$' %17.3 = EnsureNamed %17.2
- goto BB18
- BB18
- lgl' %18.0 = Lt %16.4, %17.3, elided
- t %18.1 = AsTest %18.0
- void Branch %18.1 -> BB23 (if true) | BB19 (if false)
- BB23
- goto BB28
- BB19
- goto BB20
- BB20
- val$' %20.0 = Extract2_1D %16.3, %17.3, elided
- void StVar i, %20.0, e10.5
- cls %20.2 = LdFun buildTreeDepth, e10.5
- prom %20.3 = MkArg missing, Prom(8), e10.5
- prom %20.4 = MkArg missing, Prom(9), e10.5
- cp %20.5 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB22
- cls' %22.0 = LdConst function (depth, random) { if (d...
- t %22.1 = Identical %20.2, %22.0
- void Assume %22.1, %20.5
- fs %22.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.4 = FrameState 0x7f924457f3d0+290: [%16.3, %16.4, %17.3], env=e10.5, next=%22.3
- val^ %22.5 = StaticCall buildTreeDepth[0x7f92446010b0](%20.3, %20.4) %22.4, e10.5
- val^? %22.6 = LdVar array, e10.5
- val %22.7 = Force %22.6, e10.5
- val^? %22.8 = LdVar i, e10.5
- val %22.9 = Force %22.8, e10.5
- val^ %22.10 = EnsureNamed %22.5
- val %22.11 = Force %22.10, e10.5
- val %22.12 = Subassign2_1D %22.11, %22.7, %22.9, e10.5
- void StVar array, %22.12, e10.5
- goto BB17
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+273: [%16.3, %16.4, %17.3, %20.2], env=e10.5, next=%21.0
- void Deopt %21.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline closures: == 322
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB26 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB26
- cls %26.0 = LdFun c, e0.2
- prom %26.1 = MkArg missing, Prom(4), e0.2
- fs %26.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %26.3 = Call %26.0(%26.1) %26.2, e0.2
- goto BB27
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB27
- val^ %27.0 = Phi %6.0:BB25, %26.3:BB26
- val %27.1 = Force %27.0, e0.2
- void Return %27.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %28.7:BB28
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB28
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB25 (if true) | BB7 (if false)
- BB25
- goto BB27
- BB7
- goto BB8
- BB8
- val$' %8.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %8.0, e0.2
- cls %8.2 = LdFun buildTreeDepth, e0.2
- prom %8.3 = MkArg missing, Prom(2), e0.2
- prom %8.4 = MkArg missing, Prom(3), e0.2
- cp %8.5 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- cls' %10.0 = LdConst function (depth, random) { if (d...
- t %10.1 = Identical %8.2, %10.0
- void Assume %10.1, %8.5
- val^? %10.3 = CastType %8.3
- val^? %10.4 = CastType %8.4
- env e10.5 = MkEnv depth=%10.3, random=%10.4, parent=<environment: 0x7f9246b48c88>
- val %10.6 = Force %10.3, e10.5
- real$' %10.7 = LdConst [1] 1
- cp %10.8 = Checkpoint -> BB12 (by default) | BB11 (if coming from expect)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %8.2], env=e0.2
- void Deopt %9.0
- BB12
- t %12.0 = IsObject %10.6
- void AssumeNot %12.0, %10.8
- lgl' %12.2 = Eq %10.6, %10.7, elided
- lgl %12.3 = AsLogical %12.2
- t %12.4 = AsTest %12.3
- void Branch %12.4 -> BB24 (if true) | BB13 (if false)
- BB11
- fs %11.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %11.1 = FrameState 0x7f924457f3d0+58: [%10.6, %10.7], env=e10.5, next=%11.0
- void Deopt %11.1
- BB24
- cls %24.0 = LdFun c, e10.5
- prom %24.1 = MkArg missing, Prom(5), e10.5
- fs %24.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %24.3 = FrameState 0x7f924457f3d0+410: [], env=e10.5, next=%24.2
- val^ %24.4 = Call %24.0(%24.1) %24.3, e10.5
- goto BB28
- BB13
- cls %13.0 = LdFun vector, e10.5
- cp %13.1 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB28
- val^ %28.0 = Phi %17.0:BB23, %24.4:BB24
- val %28.1 = Force %28.0, e10.5
- val^? %28.2 = LdVar array, e0.2
- val %28.3 = Force %28.2, e0.2
- val^? %28.4 = LdVar i, e0.2
- val %28.5 = Force %28.4, e0.2
- val %28.6 = EnsureNamed %28.1
- val %28.7 = Subassign2_1D %28.6, %28.3, %28.5, e0.2
- void StVar array, %28.7, e0.2
- goto BB6
- BB15
- cls' %15.0 = LdConst function (mode = "logical", length = ...
- t %15.1 = Identical %13.0, %15.0
- void Assume %15.1, %13.1
- str$' %15.3 = LdConst [1] "list"
- real$' %15.4 = LdConst [1] 4
- val %15.5 = CallSafeBuiltin vector(%15.3, %15.4)
- void StVar array, %15.5, e10.5
- goto BB16
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %14.1 = FrameState 0x7f924457f3d0+113: [%13.0], env=e10.5, next=%14.0
- void Deopt %14.1
- BB16
- real$' %16.0 = LdConst [1] 1
- real$' %16.1 = LdConst [1] 4
- val' %16.2 = Colon %16.0, %16.1, elided
- val' %16.3 = SetShared %16.2
- int$' %16.4 = ForSeqSize %16.3
- int$' %16.5 = LdConst [1] 0
- goto BB17
- BB17
- val %17.0 = Phi %15.5:BB15, %22.12:BB22
- int$' %17.1 = Phi %16.5:BB16, %17.3:BB22
- int$' %17.2 = Inc %17.1
- int$' %17.3 = EnsureNamed %17.2
- goto BB18
- BB18
- lgl' %18.0 = Lt %16.4, %17.3, elided
- t %18.1 = AsTest %18.0
- void Branch %18.1 -> BB23 (if true) | BB19 (if false)
- BB23
- goto BB28
- BB19
- goto BB20
- BB20
- val$' %20.0 = Extract2_1D %16.3, %17.3, elided
- void StVar i, %20.0, e10.5
- cls %20.2 = LdFun buildTreeDepth, e10.5
- prom %20.3 = MkArg missing, Prom(8), e10.5
- prom %20.4 = MkArg missing, Prom(9), e10.5
- cp %20.5 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB22
- cls' %22.0 = LdConst function (depth, random) { if (d...
- t %22.1 = Identical %20.2, %22.0
- void Assume %22.1, %20.5
- fs %22.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.4 = FrameState 0x7f924457f3d0+290: [%16.3, %16.4, %17.3], env=e10.5, next=%22.3
- val^ %22.5 = StaticCall buildTreeDepth[0x7f92446010b0](%20.3, %20.4) %22.4, e10.5
- val^? %22.6 = LdVar array, e10.5
- val %22.7 = Force %22.6, e10.5
- val^? %22.8 = LdVar i, e10.5
- val %22.9 = Force %22.8, e10.5
- val^ %22.10 = EnsureNamed %22.5
- val %22.11 = Force %22.10, e10.5
- val %22.12 = Subassign2_1D %22.11, %22.7, %22.9, e10.5
- void StVar array, %22.12, e10.5
- goto BB17
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+273: [%16.3, %16.4, %17.3, %20.2], env=e10.5, next=%21.0
- void Deopt %21.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline Promises: == 329
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB26 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB26
- cls %26.0 = LdFun c, e0.2
- prom %26.1 = MkArg missing, Prom(4), e0.2
- fs %26.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %26.3 = Call %26.0(%26.1) %26.2, e0.2
- goto BB27
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB27
- val^ %27.0 = Phi %6.0:BB25, %26.3:BB26
- val %27.1 = Force %27.0, e0.2
- void Return %27.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %28.7:BB28
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB28
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB25 (if true) | BB7 (if false)
- BB25
- goto BB27
- BB7
- goto BB8
- BB8
- val$' %8.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %8.0, e0.2
- cls %8.2 = LdFun buildTreeDepth, e0.2
- prom %8.3 = MkArg missing, Prom(2), e0.2
- prom %8.4 = MkArg missing, Prom(3), e0.2
- cp %8.5 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- cls' %10.0 = LdConst function (depth, random) { if (d...
- t %10.1 = Identical %8.2, %10.0
- void Assume %10.1, %8.5
- val^? %10.3 = CastType %8.3
- val^? %10.4 = CastType %8.4
- env e10.5 = MkEnv depth=%10.3, random=%10.4, parent=<environment: 0x7f9246b48c88>
- val %10.6 = Force %10.3, e10.5
- real$' %10.7 = LdConst [1] 1
- cp %10.8 = Checkpoint -> BB12 (by default) | BB11 (if coming from expect)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %8.2], env=e0.2
- void Deopt %9.0
- BB12
- t %12.0 = IsObject %10.6
- void AssumeNot %12.0, %10.8
- lgl' %12.2 = Eq %10.6, %10.7, elided
- lgl %12.3 = AsLogical %12.2
- t %12.4 = AsTest %12.3
- void Branch %12.4 -> BB24 (if true) | BB13 (if false)
- BB11
- fs %11.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %11.1 = FrameState 0x7f924457f3d0+58: [%10.6, %10.7], env=e10.5, next=%11.0
- void Deopt %11.1
- BB24
- cls %24.0 = LdFun c, e10.5
- prom %24.1 = MkArg missing, Prom(5), e10.5
- fs %24.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %24.3 = FrameState 0x7f924457f3d0+410: [], env=e10.5, next=%24.2
- val^ %24.4 = Call %24.0(%24.1) %24.3, e10.5
- goto BB28
- BB13
- cls %13.0 = LdFun vector, e10.5
- cp %13.1 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB28
- val^ %28.0 = Phi %17.0:BB23, %24.4:BB24
- val %28.1 = Force %28.0, e10.5
- val^? %28.2 = LdVar array, e0.2
- val %28.3 = Force %28.2, e0.2
- val^? %28.4 = LdVar i, e0.2
- val %28.5 = Force %28.4, e0.2
- val %28.6 = EnsureNamed %28.1
- val %28.7 = Subassign2_1D %28.6, %28.3, %28.5, e0.2
- void StVar array, %28.7, e0.2
- goto BB6
- BB15
- cls' %15.0 = LdConst function (mode = "logical", length = ...
- t %15.1 = Identical %13.0, %15.0
- void Assume %15.1, %13.1
- str$' %15.3 = LdConst [1] "list"
- real$' %15.4 = LdConst [1] 4
- val %15.5 = CallSafeBuiltin vector(%15.3, %15.4)
- void StVar array, %15.5, e10.5
- goto BB16
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %14.1 = FrameState 0x7f924457f3d0+113: [%13.0], env=e10.5, next=%14.0
- void Deopt %14.1
- BB16
- real$' %16.0 = LdConst [1] 1
- real$' %16.1 = LdConst [1] 4
- val' %16.2 = Colon %16.0, %16.1, elided
- val' %16.3 = SetShared %16.2
- int$' %16.4 = ForSeqSize %16.3
- int$' %16.5 = LdConst [1] 0
- goto BB17
- BB17
- val %17.0 = Phi %15.5:BB15, %22.12:BB22
- int$' %17.1 = Phi %16.5:BB16, %17.3:BB22
- int$' %17.2 = Inc %17.1
- int$' %17.3 = EnsureNamed %17.2
- goto BB18
- BB18
- lgl' %18.0 = Lt %16.4, %17.3, elided
- t %18.1 = AsTest %18.0
- void Branch %18.1 -> BB23 (if true) | BB19 (if false)
- BB23
- goto BB28
- BB19
- goto BB20
- BB20
- val$' %20.0 = Extract2_1D %16.3, %17.3, elided
- void StVar i, %20.0, e10.5
- cls %20.2 = LdFun buildTreeDepth, e10.5
- prom %20.3 = MkArg missing, Prom(8), e10.5
- prom %20.4 = MkArg missing, Prom(9), e10.5
- cp %20.5 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB22
- cls' %22.0 = LdConst function (depth, random) { if (d...
- t %22.1 = Identical %20.2, %22.0
- void Assume %22.1, %20.5
- fs %22.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.4 = FrameState 0x7f924457f3d0+290: [%16.3, %16.4, %17.3], env=e10.5, next=%22.3
- val^ %22.5 = StaticCall buildTreeDepth[0x7f92446010b0](%20.3, %20.4) %22.4, e10.5
- val^? %22.6 = LdVar array, e10.5
- val %22.7 = Force %22.6, e10.5
- val^? %22.8 = LdVar i, e10.5
- val %22.9 = Force %22.8, e10.5
- val^ %22.10 = EnsureNamed %22.5
- val %22.11 = Force %22.10, e10.5
- val %22.12 = Subassign2_1D %22.11, %22.7, %22.9, e10.5
- void StVar array, %22.12, e10.5
- goto BB17
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+273: [%16.3, %16.4, %17.3, %20.2], env=e10.5, next=%21.0
- void Deopt %21.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Scope resolution: == 336
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB26 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB26
- cls %26.0 = LdFun c, e0.2
- prom %26.1 = MkArg missing, Prom(4), e0.2
- fs %26.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %26.3 = Call %26.0(%26.1) %26.2, e0.2
- goto BB27
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB27
- val^ %27.0 = Phi %6.0:BB25, %26.3:BB26
- val %27.1 = Force %27.0, e0.2
- void Return %27.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %28.7:BB28
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB28
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB25 (if true) | BB7 (if false)
- BB25
- goto BB27
- BB7
- goto BB8
- BB8
- val$' %8.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %8.0, e0.2
- cls %8.2 = LdFun buildTreeDepth, e0.2
- prom %8.3 = MkArg missing, Prom(2), e0.2
- prom %8.4 = MkArg missing, Prom(3), e0.2
- cp %8.5 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- cls' %10.0 = LdConst function (depth, random) { if (d...
- t %10.1 = Identical %8.2, %10.0
- void Assume %10.1, %8.5
- val^? %10.3 = CastType %8.3
- val^? %10.4 = CastType %8.4
- env e10.5 = MkEnv depth=%10.3, random=%10.4, parent=<environment: 0x7f9246b48c88>
- val %10.6 = Force %10.3, e10.5
- real$' %10.7 = LdConst [1] 1
- cp %10.8 = Checkpoint -> BB12 (by default) | BB11 (if coming from expect)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %8.2], env=e0.2
- void Deopt %9.0
- BB12
- t %12.0 = IsObject %10.6
- void AssumeNot %12.0, %10.8
- lgl' %12.2 = Eq %10.6, %10.7, elided
- lgl %12.3 = AsLogical %12.2
- t %12.4 = AsTest %12.3
- void Branch %12.4 -> BB24 (if true) | BB13 (if false)
- BB11
- fs %11.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %11.1 = FrameState 0x7f924457f3d0+58: [%10.6, %10.7], env=e10.5, next=%11.0
- void Deopt %11.1
- BB24
- cls %24.0 = LdFun c, e10.5
- prom %24.1 = MkArg missing, Prom(5), e10.5
- fs %24.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %24.3 = FrameState 0x7f924457f3d0+410: [], env=e10.5, next=%24.2
- val^ %24.4 = Call %24.0(%24.1) %24.3, e10.5
- goto BB28
- BB13
- cls %13.0 = LdFun vector, e10.5
- cp %13.1 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB28
- val^ %28.0 = Phi %17.0:BB23, %24.4:BB24
- val %28.1 = Force %28.0, e10.5
- val^? %28.2 = LdVar array, e0.2
- val %28.3 = Force %28.2, e0.2
- val^? %28.4 = LdVar i, e0.2
- val %28.5 = Force %28.4, e0.2
- val %28.6 = EnsureNamed %28.1
- val %28.7 = Subassign2_1D %28.6, %28.3, %28.5, e0.2
- void StVar array, %28.7, e0.2
- goto BB6
- BB15
- cls' %15.0 = LdConst function (mode = "logical", length = ...
- t %15.1 = Identical %13.0, %15.0
- void Assume %15.1, %13.1
- str$' %15.3 = LdConst [1] "list"
- real$' %15.4 = LdConst [1] 4
- val %15.5 = CallSafeBuiltin vector(%15.3, %15.4)
- void StVar array, %15.5, e10.5
- goto BB16
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %14.1 = FrameState 0x7f924457f3d0+113: [%13.0], env=e10.5, next=%14.0
- void Deopt %14.1
- BB16
- real$' %16.0 = LdConst [1] 1
- real$' %16.1 = LdConst [1] 4
- val' %16.2 = Colon %16.0, %16.1, elided
- val' %16.3 = SetShared %16.2
- int$' %16.4 = ForSeqSize %16.3
- int$' %16.5 = LdConst [1] 0
- goto BB17
- BB17
- val %17.0 = Phi %15.5:BB15, %22.12:BB22
- int$' %17.1 = Phi %16.5:BB16, %17.3:BB22
- int$' %17.2 = Inc %17.1
- int$' %17.3 = EnsureNamed %17.2
- goto BB18
- BB18
- lgl' %18.0 = Lt %16.4, %17.3, elided
- t %18.1 = AsTest %18.0
- void Branch %18.1 -> BB23 (if true) | BB19 (if false)
- BB23
- goto BB28
- BB19
- goto BB20
- BB20
- val$' %20.0 = Extract2_1D %16.3, %17.3, elided
- void StVar i, %20.0, e10.5
- cls %20.2 = LdFun buildTreeDepth, e10.5
- prom %20.3 = MkArg missing, Prom(8), e10.5
- prom %20.4 = MkArg missing, Prom(9), e10.5
- cp %20.5 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB22
- cls' %22.0 = LdConst function (depth, random) { if (d...
- t %22.1 = Identical %20.2, %22.0
- void Assume %22.1, %20.5
- fs %22.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.4 = FrameState 0x7f924457f3d0+290: [%16.3, %16.4, %17.3], env=e10.5, next=%22.3
- val^ %22.5 = StaticCall buildTreeDepth[0x7f92446010b0](%20.3, %20.4) %22.4, e10.5
- val^? %22.6 = LdVar array, e10.5
- val %22.7 = Force %22.6, e10.5
- val^? %22.8 = LdVar i, e10.5
- val %22.9 = Force %22.8, e10.5
- val^ %22.10 = EnsureNamed %22.5
- val %22.11 = Force %22.10, e10.5
- val %22.12 = Subassign2_1D %22.11, %22.7, %22.9, e10.5
- void StVar array, %22.12, e10.5
- goto BB17
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+273: [%16.3, %16.4, %17.3, %20.2], env=e10.5, next=%21.0
- void Deopt %21.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Constant folding: == 343
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB26 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB26
- cls %26.0 = LdFun c, e0.2
- prom %26.1 = MkArg missing, Prom(4), e0.2
- fs %26.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %26.3 = Call %26.0(%26.1) %26.2, e0.2
- goto BB27
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB27
- val^ %27.0 = Phi %6.0:BB25, %26.3:BB26
- val %27.1 = Force %27.0, e0.2
- void Return %27.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %28.7:BB28
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB28
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB25 (if true) | BB7 (if false)
- BB25
- goto BB27
- BB7
- goto BB8
- BB8
- val$' %8.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %8.0, e0.2
- cls %8.2 = LdFun buildTreeDepth, e0.2
- prom %8.3 = MkArg missing, Prom(2), e0.2
- prom %8.4 = MkArg missing, Prom(3), e0.2
- cp %8.5 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- cls' %10.0 = LdConst function (depth, random) { if (d...
- t %10.1 = Identical %8.2, %10.0
- void Assume %10.1, %8.5
- val^? %10.3 = CastType %8.3
- val^? %10.4 = CastType %8.4
- env e10.5 = MkEnv depth=%10.3, random=%10.4, parent=<environment: 0x7f9246b48c88>
- val %10.6 = Force %10.3, e10.5
- real$' %10.7 = LdConst [1] 1
- cp %10.8 = Checkpoint -> BB12 (by default) | BB11 (if coming from expect)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %8.2], env=e0.2
- void Deopt %9.0
- BB12
- t %12.0 = IsObject %10.6
- void AssumeNot %12.0, %10.8
- lgl' %12.2 = Eq %10.6, %10.7, elided
- lgl %12.3 = AsLogical %12.2
- t %12.4 = AsTest %12.3
- void Branch %12.4 -> BB24 (if true) | BB13 (if false)
- BB11
- fs %11.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %11.1 = FrameState 0x7f924457f3d0+58: [%10.6, %10.7], env=e10.5, next=%11.0
- void Deopt %11.1
- BB24
- cls %24.0 = LdFun c, e10.5
- prom %24.1 = MkArg missing, Prom(5), e10.5
- fs %24.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %24.3 = FrameState 0x7f924457f3d0+410: [], env=e10.5, next=%24.2
- val^ %24.4 = Call %24.0(%24.1) %24.3, e10.5
- goto BB28
- BB13
- cls %13.0 = LdFun vector, e10.5
- cp %13.1 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB28
- val^ %28.0 = Phi %17.0:BB23, %24.4:BB24
- val %28.1 = Force %28.0, e10.5
- val^? %28.2 = LdVar array, e0.2
- val %28.3 = Force %28.2, e0.2
- val^? %28.4 = LdVar i, e0.2
- val %28.5 = Force %28.4, e0.2
- val %28.6 = EnsureNamed %28.1
- val %28.7 = Subassign2_1D %28.6, %28.3, %28.5, e0.2
- void StVar array, %28.7, e0.2
- goto BB6
- BB15
- cls' %15.0 = LdConst function (mode = "logical", length = ...
- t %15.1 = Identical %13.0, %15.0
- void Assume %15.1, %13.1
- str$' %15.3 = LdConst [1] "list"
- real$' %15.4 = LdConst [1] 4
- val %15.5 = CallSafeBuiltin vector(%15.3, %15.4)
- void StVar array, %15.5, e10.5
- goto BB16
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %14.1 = FrameState 0x7f924457f3d0+113: [%13.0], env=e10.5, next=%14.0
- void Deopt %14.1
- BB16
- real$' %16.0 = LdConst [1] 1
- real$' %16.1 = LdConst [1] 4
- val' %16.2 = Colon %16.0, %16.1, elided
- val' %16.3 = SetShared %16.2
- int$' %16.4 = ForSeqSize %16.3
- int$' %16.5 = LdConst [1] 0
- goto BB17
- BB17
- val %17.0 = Phi %15.5:BB15, %22.12:BB22
- int$' %17.1 = Phi %16.5:BB16, %17.3:BB22
- int$' %17.2 = Inc %17.1
- int$' %17.3 = EnsureNamed %17.2
- goto BB18
- BB18
- lgl' %18.0 = Lt %16.4, %17.3, elided
- t %18.1 = AsTest %18.0
- void Branch %18.1 -> BB23 (if true) | BB19 (if false)
- BB23
- goto BB28
- BB19
- goto BB20
- BB20
- val$' %20.0 = Extract2_1D %16.3, %17.3, elided
- void StVar i, %20.0, e10.5
- cls %20.2 = LdFun buildTreeDepth, e10.5
- prom %20.3 = MkArg missing, Prom(8), e10.5
- prom %20.4 = MkArg missing, Prom(9), e10.5
- cp %20.5 = Checkpoint -> BB22 (by default) | BB21 (if coming from expect)
- BB22
- cls' %22.0 = LdConst function (depth, random) { if (d...
- t %22.1 = Identical %20.2, %22.0
- void Assume %22.1, %20.5
- fs %22.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.4 = FrameState 0x7f924457f3d0+290: [%16.3, %16.4, %17.3], env=e10.5, next=%22.3
- val^ %22.5 = StaticCall buildTreeDepth[0x7f92446010b0](%20.3, %20.4) %22.4, e10.5
- val^? %22.6 = LdVar array, e10.5
- val %22.7 = Force %22.6, e10.5
- val^? %22.8 = LdVar i, e10.5
- val %22.9 = Force %22.8, e10.5
- val^ %22.10 = EnsureNamed %22.5
- val %22.11 = Force %22.10, e10.5
- val %22.12 = Subassign2_1D %22.11, %22.7, %22.9, e10.5
- void StVar array, %22.12, e10.5
- goto BB17
- BB21
- fs %21.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.1 = FrameState 0x7f924457f3d0+273: [%16.3, %16.4, %17.3, %20.2], env=e10.5, next=%21.0
- void Deopt %21.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 350
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB25 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB25
- cls %25.0 = LdFun c, e0.2
- prom %25.1 = MkArg missing, Prom(4), e0.2
- fs %25.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %25.3 = Call %25.0(%25.1) %25.2, e0.2
- goto BB26
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB26
- val^ %26.0 = Phi %6.0:BB24, %25.3:BB25
- val %26.1 = Force %26.0, e0.2
- void Return %26.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %27.7:BB27
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB27
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB24 (if true) | BB7 (if false)
- BB24
- goto BB26
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB23 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB23
- cls %23.0 = LdFun c, e9.5
- prom %23.1 = MkArg missing, Prom(5), e9.5
- fs %23.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %23.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%23.2
- val^ %23.4 = Call %23.0(%23.1) %23.3, e9.5
- goto BB27
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB27
- val^ %27.0 = Phi %16.0:BB22, %23.4:BB23
- val %27.1 = Force %27.0, e9.5
- val^? %27.2 = LdVar array, e0.2
- val %27.3 = Force %27.2, e0.2
- val^? %27.4 = LdVar i, e0.2
- val %27.5 = Force %27.4, e0.2
- val %27.6 = EnsureNamed %27.1
- val %27.7 = Subassign2_1D %27.6, %27.3, %27.5, e0.2
- void StVar array, %27.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- real$' %15.0 = LdConst [1] 1
- real$' %15.1 = LdConst [1] 4
- val' %15.2 = Colon %15.0, %15.1, elided
- val' %15.3 = SetShared %15.2
- int$' %15.4 = ForSeqSize %15.3
- int$' %15.5 = LdConst [1] 0
- goto BB16
- BB16
- val %16.0 = Phi %14.5:BB14, %21.12:BB21
- int$' %16.1 = Phi %15.5:BB15, %16.3:BB21
- int$' %16.2 = Inc %16.1
- int$' %16.3 = EnsureNamed %16.2
- goto BB17
- BB17
- lgl' %17.0 = Lt %15.4, %16.3, elided
- t %17.1 = AsTest %17.0
- void Branch %17.1 -> BB22 (if true) | BB18 (if false)
- BB22
- goto BB27
- BB18
- goto BB19
- BB19
- val$' %19.0 = Extract2_1D %15.3, %16.3, elided
- void StVar i, %19.0, e9.5
- cls %19.2 = LdFun buildTreeDepth, e9.5
- prom %19.3 = MkArg missing, Prom(8), e9.5
- prom %19.4 = MkArg missing, Prom(9), e9.5
- cp %19.5 = Checkpoint -> BB21 (by default) | BB20 (if coming from expect)
- BB21
- cls' %21.0 = LdConst function (depth, random) { if (d...
- t %21.1 = Identical %19.2, %21.0
- void Assume %21.1, %19.5
- fs %21.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.4 = FrameState 0x7f924457f3d0+290: [%15.3, %15.4, %16.3], env=e9.5, next=%21.3
- val^ %21.5 = StaticCall buildTreeDepth[0x7f92446010b0](%19.3, %19.4) %21.4, e9.5
- val^? %21.6 = LdVar array, e9.5
- val %21.7 = Force %21.6, e9.5
- val^? %21.8 = LdVar i, e9.5
- val %21.9 = Force %21.8, e9.5
- val^ %21.10 = EnsureNamed %21.5
- val %21.11 = Force %21.10, e9.5
- val %21.12 = Subassign2_1D %21.11, %21.7, %21.9, e9.5
- void StVar array, %21.12, e9.5
- goto BB16
- BB20
- fs %20.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.1 = FrameState 0x7f924457f3d0+273: [%15.3, %15.4, %16.3, %19.2], env=e9.5, next=%20.0
- void Deopt %20.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Delay instructions: == 357
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB25 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB25
- cls %25.0 = LdFun c, e0.2
- prom %25.1 = MkArg missing, Prom(4), e0.2
- fs %25.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %25.3 = Call %25.0(%25.1) %25.2, e0.2
- goto BB26
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB26
- val^ %26.0 = Phi %6.0:BB24, %25.3:BB25
- val %26.1 = Force %26.0, e0.2
- void Return %26.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %27.7:BB27
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB27
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB24 (if true) | BB7 (if false)
- BB24
- goto BB26
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB23 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB23
- cls %23.0 = LdFun c, e9.5
- prom %23.1 = MkArg missing, Prom(5), e9.5
- fs %23.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %23.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%23.2
- val^ %23.4 = Call %23.0(%23.1) %23.3, e9.5
- goto BB27
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB27
- val^ %27.0 = Phi %16.0:BB22, %23.4:BB23
- val %27.1 = Force %27.0, e9.5
- val^? %27.2 = LdVar array, e0.2
- val %27.3 = Force %27.2, e0.2
- val^? %27.4 = LdVar i, e0.2
- val %27.5 = Force %27.4, e0.2
- val %27.6 = EnsureNamed %27.1
- val %27.7 = Subassign2_1D %27.6, %27.3, %27.5, e0.2
- void StVar array, %27.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- real$' %15.0 = LdConst [1] 4
- real$' %15.1 = LdConst [1] 1
- val' %15.2 = Colon %15.1, %15.0, elided
- val' %15.3 = SetShared %15.2
- int$' %15.4 = ForSeqSize %15.3
- int$' %15.5 = LdConst [1] 0
- goto BB16
- BB16
- val %16.0 = Phi %14.5:BB14, %21.12:BB21
- int$' %16.1 = Phi %15.5:BB15, %16.3:BB21
- int$' %16.2 = Inc %16.1
- int$' %16.3 = EnsureNamed %16.2
- goto BB17
- BB17
- lgl' %17.0 = Lt %15.4, %16.3, elided
- t %17.1 = AsTest %17.0
- void Branch %17.1 -> BB22 (if true) | BB18 (if false)
- BB22
- goto BB27
- BB18
- goto BB19
- BB19
- val$' %19.0 = Extract2_1D %15.3, %16.3, elided
- void StVar i, %19.0, e9.5
- cls %19.2 = LdFun buildTreeDepth, e9.5
- prom %19.3 = MkArg missing, Prom(8), e9.5
- prom %19.4 = MkArg missing, Prom(9), e9.5
- cp %19.5 = Checkpoint -> BB21 (by default) | BB20 (if coming from expect)
- BB21
- cls' %21.0 = LdConst function (depth, random) { if (d...
- t %21.1 = Identical %19.2, %21.0
- void Assume %21.1, %19.5
- fs %21.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.4 = FrameState 0x7f924457f3d0+290: [%15.3, %15.4, %16.3], env=e9.5, next=%21.3
- val^ %21.5 = StaticCall buildTreeDepth[0x7f92446010b0](%19.3, %19.4) %21.4, e9.5
- val^? %21.6 = LdVar array, e9.5
- val %21.7 = Force %21.6, e9.5
- val^? %21.8 = LdVar i, e9.5
- val %21.9 = Force %21.8, e9.5
- val^ %21.10 = EnsureNamed %21.5
- val %21.11 = Force %21.10, e9.5
- val %21.12 = Subassign2_1D %21.11, %21.7, %21.9, e9.5
- void StVar array, %21.12, e9.5
- goto BB16
- BB20
- fs %20.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.1 = FrameState 0x7f924457f3d0+273: [%15.3, %15.4, %16.3, %19.2], env=e9.5, next=%20.0
- void Deopt %20.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Elide environments not needed: == 364
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB25 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB25
- cls %25.0 = LdFun c, e0.2
- prom %25.1 = MkArg missing, Prom(4), e0.2
- fs %25.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %25.3 = Call %25.0(%25.1) %25.2, e0.2
- goto BB26
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB26
- val^ %26.0 = Phi %6.0:BB24, %25.3:BB25
- val %26.1 = Force %26.0, e0.2
- void Return %26.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %27.7:BB27
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB27
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB24 (if true) | BB7 (if false)
- BB24
- goto BB26
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB23 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB23
- cls %23.0 = LdFun c, e9.5
- prom %23.1 = MkArg missing, Prom(5), e9.5
- fs %23.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %23.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%23.2
- val^ %23.4 = Call %23.0(%23.1) %23.3, e9.5
- goto BB27
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB27
- val^ %27.0 = Phi %16.0:BB22, %23.4:BB23
- val %27.1 = Force %27.0, e9.5
- val^? %27.2 = LdVar array, e0.2
- val %27.3 = Force %27.2, e0.2
- val^? %27.4 = LdVar i, e0.2
- val %27.5 = Force %27.4, e0.2
- val %27.6 = EnsureNamed %27.1
- val %27.7 = Subassign2_1D %27.6, %27.3, %27.5, e0.2
- void StVar array, %27.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- real$' %15.0 = LdConst [1] 4
- real$' %15.1 = LdConst [1] 1
- val' %15.2 = Colon %15.1, %15.0, elided
- val' %15.3 = SetShared %15.2
- int$' %15.4 = ForSeqSize %15.3
- int$' %15.5 = LdConst [1] 0
- goto BB16
- BB16
- val %16.0 = Phi %14.5:BB14, %21.12:BB21
- int$' %16.1 = Phi %15.5:BB15, %16.3:BB21
- int$' %16.2 = Inc %16.1
- int$' %16.3 = EnsureNamed %16.2
- goto BB17
- BB17
- lgl' %17.0 = Lt %15.4, %16.3, elided
- t %17.1 = AsTest %17.0
- void Branch %17.1 -> BB22 (if true) | BB18 (if false)
- BB22
- goto BB27
- BB18
- goto BB19
- BB19
- val$' %19.0 = Extract2_1D %15.3, %16.3, elided
- void StVar i, %19.0, e9.5
- cls %19.2 = LdFun buildTreeDepth, e9.5
- prom %19.3 = MkArg missing, Prom(8), e9.5
- prom %19.4 = MkArg missing, Prom(9), e9.5
- cp %19.5 = Checkpoint -> BB21 (by default) | BB20 (if coming from expect)
- BB21
- cls' %21.0 = LdConst function (depth, random) { if (d...
- t %21.1 = Identical %19.2, %21.0
- void Assume %21.1, %19.5
- fs %21.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.4 = FrameState 0x7f924457f3d0+290: [%15.3, %15.4, %16.3], env=e9.5, next=%21.3
- val^ %21.5 = StaticCall buildTreeDepth[0x7f92446010b0](%19.3, %19.4) %21.4, e9.5
- val^? %21.6 = LdVar array, e9.5
- val %21.7 = Force %21.6, e9.5
- val^? %21.8 = LdVar i, e9.5
- val %21.9 = Force %21.8, e9.5
- val^ %21.10 = EnsureNamed %21.5
- val %21.11 = Force %21.10, e9.5
- val %21.12 = Subassign2_1D %21.11, %21.7, %21.9, e9.5
- void StVar array, %21.12, e9.5
- goto BB16
- BB20
- fs %20.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.1 = FrameState 0x7f924457f3d0+273: [%15.3, %15.4, %16.3, %19.2], env=e9.5, next=%20.0
- void Deopt %20.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Move environment creation as far as possible: == 371
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB25 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB25
- cls %25.0 = LdFun c, e0.2
- prom %25.1 = MkArg missing, Prom(4), e0.2
- fs %25.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %25.3 = Call %25.0(%25.1) %25.2, e0.2
- goto BB26
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB26
- val^ %26.0 = Phi %6.0:BB24, %25.3:BB25
- val %26.1 = Force %26.0, e0.2
- void Return %26.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %27.7:BB27
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB27
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB24 (if true) | BB7 (if false)
- BB24
- goto BB26
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB23 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB23
- cls %23.0 = LdFun c, e9.5
- prom %23.1 = MkArg missing, Prom(5), e9.5
- fs %23.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %23.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%23.2
- val^ %23.4 = Call %23.0(%23.1) %23.3, e9.5
- goto BB27
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB27
- val^ %27.0 = Phi %16.0:BB22, %23.4:BB23
- val %27.1 = Force %27.0, e9.5
- val^? %27.2 = LdVar array, e0.2
- val %27.3 = Force %27.2, e0.2
- val^? %27.4 = LdVar i, e0.2
- val %27.5 = Force %27.4, e0.2
- val %27.6 = EnsureNamed %27.1
- val %27.7 = Subassign2_1D %27.6, %27.3, %27.5, e0.2
- void StVar array, %27.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- real$' %15.0 = LdConst [1] 4
- real$' %15.1 = LdConst [1] 1
- val' %15.2 = Colon %15.1, %15.0, elided
- val' %15.3 = SetShared %15.2
- int$' %15.4 = ForSeqSize %15.3
- int$' %15.5 = LdConst [1] 0
- goto BB16
- BB16
- val %16.0 = Phi %14.5:BB14, %21.12:BB21
- int$' %16.1 = Phi %15.5:BB15, %16.3:BB21
- int$' %16.2 = Inc %16.1
- int$' %16.3 = EnsureNamed %16.2
- goto BB17
- BB17
- lgl' %17.0 = Lt %15.4, %16.3, elided
- t %17.1 = AsTest %17.0
- void Branch %17.1 -> BB22 (if true) | BB18 (if false)
- BB22
- goto BB27
- BB18
- goto BB19
- BB19
- val$' %19.0 = Extract2_1D %15.3, %16.3, elided
- void StVar i, %19.0, e9.5
- cls %19.2 = LdFun buildTreeDepth, e9.5
- prom %19.3 = MkArg missing, Prom(8), e9.5
- prom %19.4 = MkArg missing, Prom(9), e9.5
- cp %19.5 = Checkpoint -> BB21 (by default) | BB20 (if coming from expect)
- BB21
- cls' %21.0 = LdConst function (depth, random) { if (d...
- t %21.1 = Identical %19.2, %21.0
- void Assume %21.1, %19.5
- fs %21.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.4 = FrameState 0x7f924457f3d0+290: [%15.3, %15.4, %16.3], env=e9.5, next=%21.3
- val^ %21.5 = StaticCall buildTreeDepth[0x7f92446010b0](%19.3, %19.4) %21.4, e9.5
- val^? %21.6 = LdVar array, e9.5
- val %21.7 = Force %21.6, e9.5
- val^? %21.8 = LdVar i, e9.5
- val %21.9 = Force %21.8, e9.5
- val^ %21.10 = EnsureNamed %21.5
- val %21.11 = Force %21.10, e9.5
- val %21.12 = Subassign2_1D %21.11, %21.7, %21.9, e9.5
- void StVar array, %21.12, e9.5
- goto BB16
- BB20
- fs %20.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.1 = FrameState 0x7f924457f3d0+273: [%15.3, %15.4, %16.3, %19.2], env=e9.5, next=%20.0
- void Deopt %20.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 378
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB24 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB24
- cls %24.0 = LdFun c, e0.2
- prom %24.1 = MkArg missing, Prom(4), e0.2
- fs %24.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %24.3 = Call %24.0(%24.1) %24.2, e0.2
- goto BB25
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB25
- val^ %25.0 = Phi %6.0:BB23, %24.3:BB24
- val %25.1 = Force %25.0, e0.2
- void Return %25.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %26.7:BB26
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB26
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB23 (if true) | BB7 (if false)
- BB23
- goto BB25
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB22 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB22
- cls %22.0 = LdFun c, e9.5
- prom %22.1 = MkArg missing, Prom(5), e9.5
- fs %22.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%22.2
- val^ %22.4 = Call %22.0(%22.1) %22.3, e9.5
- goto BB26
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB26
- val^ %26.0 = Phi %15.0:BB21, %22.4:BB22
- val %26.1 = Force %26.0, e9.5
- val^? %26.2 = LdVar array, e0.2
- val %26.3 = Force %26.2, e0.2
- val^? %26.4 = LdVar i, e0.2
- val %26.5 = Force %26.4, e0.2
- val %26.6 = EnsureNamed %26.1
- val %26.7 = Subassign2_1D %26.6, %26.3, %26.5, e0.2
- void StVar array, %26.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %20.12:BB20
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB20
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- goto BB16
- BB16
- lgl' %16.0 = Lt %14.11, %15.3, elided
- t %16.1 = AsTest %16.0
- void Branch %16.1 -> BB21 (if true) | BB17 (if false)
- BB21
- goto BB26
- BB17
- goto BB18
- BB18
- val$' %18.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %18.0, e9.5
- cls %18.2 = LdFun buildTreeDepth, e9.5
- prom %18.3 = MkArg missing, Prom(8), e9.5
- prom %18.4 = MkArg missing, Prom(9), e9.5
- cp %18.5 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB20
- cls' %20.0 = LdConst function (depth, random) { if (d...
- t %20.1 = Identical %18.2, %20.0
- void Assume %20.1, %18.5
- fs %20.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%20.3
- val^ %20.5 = StaticCall buildTreeDepth[0x7f92446010b0](%18.3, %18.4) %20.4, e9.5
- val^? %20.6 = LdVar array, e9.5
- val %20.7 = Force %20.6, e9.5
- val^? %20.8 = LdVar i, e9.5
- val %20.9 = Force %20.8, e9.5
- val^ %20.10 = EnsureNamed %20.5
- val %20.11 = Force %20.10, e9.5
- val %20.12 = Subassign2_1D %20.11, %20.7, %20.9, e9.5
- void StVar array, %20.12, e9.5
- goto BB15
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %18.2], env=e9.5, next=%19.0
- void Deopt %19.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline closures: == 385
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB24 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB24
- cls %24.0 = LdFun c, e0.2
- prom %24.1 = MkArg missing, Prom(4), e0.2
- fs %24.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %24.3 = Call %24.0(%24.1) %24.2, e0.2
- goto BB25
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB25
- val^ %25.0 = Phi %6.0:BB23, %24.3:BB24
- val %25.1 = Force %25.0, e0.2
- void Return %25.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %26.7:BB26
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB26
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB23 (if true) | BB7 (if false)
- BB23
- goto BB25
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB22 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB22
- cls %22.0 = LdFun c, e9.5
- prom %22.1 = MkArg missing, Prom(5), e9.5
- fs %22.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%22.2
- val^ %22.4 = Call %22.0(%22.1) %22.3, e9.5
- goto BB26
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB26
- val^ %26.0 = Phi %15.0:BB21, %22.4:BB22
- val %26.1 = Force %26.0, e9.5
- val^? %26.2 = LdVar array, e0.2
- val %26.3 = Force %26.2, e0.2
- val^? %26.4 = LdVar i, e0.2
- val %26.5 = Force %26.4, e0.2
- val %26.6 = EnsureNamed %26.1
- val %26.7 = Subassign2_1D %26.6, %26.3, %26.5, e0.2
- void StVar array, %26.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %20.12:BB20
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB20
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- goto BB16
- BB16
- lgl' %16.0 = Lt %14.11, %15.3, elided
- t %16.1 = AsTest %16.0
- void Branch %16.1 -> BB21 (if true) | BB17 (if false)
- BB21
- goto BB26
- BB17
- goto BB18
- BB18
- val$' %18.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %18.0, e9.5
- cls %18.2 = LdFun buildTreeDepth, e9.5
- prom %18.3 = MkArg missing, Prom(8), e9.5
- prom %18.4 = MkArg missing, Prom(9), e9.5
- cp %18.5 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB20
- cls' %20.0 = LdConst function (depth, random) { if (d...
- t %20.1 = Identical %18.2, %20.0
- void Assume %20.1, %18.5
- fs %20.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%20.3
- val^ %20.5 = StaticCall buildTreeDepth[0x7f92446010b0](%18.3, %18.4) %20.4, e9.5
- val^? %20.6 = LdVar array, e9.5
- val %20.7 = Force %20.6, e9.5
- val^? %20.8 = LdVar i, e9.5
- val %20.9 = Force %20.8, e9.5
- val^ %20.10 = EnsureNamed %20.5
- val %20.11 = Force %20.10, e9.5
- val %20.12 = Subassign2_1D %20.11, %20.7, %20.9, e9.5
- void StVar array, %20.12, e9.5
- goto BB15
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %18.2], env=e9.5, next=%19.0
- void Deopt %19.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline Promises: == 392
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB24 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB24
- cls %24.0 = LdFun c, e0.2
- prom %24.1 = MkArg missing, Prom(4), e0.2
- fs %24.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %24.3 = Call %24.0(%24.1) %24.2, e0.2
- goto BB25
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB25
- val^ %25.0 = Phi %6.0:BB23, %24.3:BB24
- val %25.1 = Force %25.0, e0.2
- void Return %25.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %26.7:BB26
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB26
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB23 (if true) | BB7 (if false)
- BB23
- goto BB25
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB22 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB22
- cls %22.0 = LdFun c, e9.5
- prom %22.1 = MkArg missing, Prom(5), e9.5
- fs %22.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%22.2
- val^ %22.4 = Call %22.0(%22.1) %22.3, e9.5
- goto BB26
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB26
- val^ %26.0 = Phi %15.0:BB21, %22.4:BB22
- val %26.1 = Force %26.0, e9.5
- val^? %26.2 = LdVar array, e0.2
- val %26.3 = Force %26.2, e0.2
- val^? %26.4 = LdVar i, e0.2
- val %26.5 = Force %26.4, e0.2
- val %26.6 = EnsureNamed %26.1
- val %26.7 = Subassign2_1D %26.6, %26.3, %26.5, e0.2
- void StVar array, %26.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %20.12:BB20
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB20
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- goto BB16
- BB16
- lgl' %16.0 = Lt %14.11, %15.3, elided
- t %16.1 = AsTest %16.0
- void Branch %16.1 -> BB21 (if true) | BB17 (if false)
- BB21
- goto BB26
- BB17
- goto BB18
- BB18
- val$' %18.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %18.0, e9.5
- cls %18.2 = LdFun buildTreeDepth, e9.5
- prom %18.3 = MkArg missing, Prom(8), e9.5
- prom %18.4 = MkArg missing, Prom(9), e9.5
- cp %18.5 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB20
- cls' %20.0 = LdConst function (depth, random) { if (d...
- t %20.1 = Identical %18.2, %20.0
- void Assume %20.1, %18.5
- fs %20.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%20.3
- val^ %20.5 = StaticCall buildTreeDepth[0x7f92446010b0](%18.3, %18.4) %20.4, e9.5
- val^? %20.6 = LdVar array, e9.5
- val %20.7 = Force %20.6, e9.5
- val^? %20.8 = LdVar i, e9.5
- val %20.9 = Force %20.8, e9.5
- val^ %20.10 = EnsureNamed %20.5
- val %20.11 = Force %20.10, e9.5
- val %20.12 = Subassign2_1D %20.11, %20.7, %20.9, e9.5
- void StVar array, %20.12, e9.5
- goto BB15
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %18.2], env=e9.5, next=%19.0
- void Deopt %19.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Scope resolution: == 399
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB24 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB24
- cls %24.0 = LdFun c, e0.2
- prom %24.1 = MkArg missing, Prom(4), e0.2
- fs %24.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %24.3 = Call %24.0(%24.1) %24.2, e0.2
- goto BB25
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB25
- val^ %25.0 = Phi %6.0:BB23, %24.3:BB24
- val %25.1 = Force %25.0, e0.2
- void Return %25.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %26.7:BB26
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB26
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB23 (if true) | BB7 (if false)
- BB23
- goto BB25
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB22 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB22
- cls %22.0 = LdFun c, e9.5
- prom %22.1 = MkArg missing, Prom(5), e9.5
- fs %22.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%22.2
- val^ %22.4 = Call %22.0(%22.1) %22.3, e9.5
- goto BB26
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB26
- val^ %26.0 = Phi %15.0:BB21, %22.4:BB22
- val %26.1 = Force %26.0, e9.5
- val^? %26.2 = LdVar array, e0.2
- val %26.3 = Force %26.2, e0.2
- val^? %26.4 = LdVar i, e0.2
- val %26.5 = Force %26.4, e0.2
- val %26.6 = EnsureNamed %26.1
- val %26.7 = Subassign2_1D %26.6, %26.3, %26.5, e0.2
- void StVar array, %26.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %20.12:BB20
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB20
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- goto BB16
- BB16
- lgl' %16.0 = Lt %14.11, %15.3, elided
- t %16.1 = AsTest %16.0
- void Branch %16.1 -> BB21 (if true) | BB17 (if false)
- BB21
- goto BB26
- BB17
- goto BB18
- BB18
- val$' %18.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %18.0, e9.5
- cls %18.2 = LdFun buildTreeDepth, e9.5
- prom %18.3 = MkArg missing, Prom(8), e9.5
- prom %18.4 = MkArg missing, Prom(9), e9.5
- cp %18.5 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB20
- cls' %20.0 = LdConst function (depth, random) { if (d...
- t %20.1 = Identical %18.2, %20.0
- void Assume %20.1, %18.5
- fs %20.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%20.3
- val^ %20.5 = StaticCall buildTreeDepth[0x7f92446010b0](%18.3, %18.4) %20.4, e9.5
- val^? %20.6 = LdVar array, e9.5
- val %20.7 = Force %20.6, e9.5
- val^? %20.8 = LdVar i, e9.5
- val %20.9 = Force %20.8, e9.5
- val^ %20.10 = EnsureNamed %20.5
- val %20.11 = Force %20.10, e9.5
- val %20.12 = Subassign2_1D %20.11, %20.7, %20.9, e9.5
- void StVar array, %20.12, e9.5
- goto BB15
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %18.2], env=e9.5, next=%19.0
- void Deopt %19.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Constant folding: == 406
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB24 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB24
- cls %24.0 = LdFun c, e0.2
- prom %24.1 = MkArg missing, Prom(4), e0.2
- fs %24.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %24.3 = Call %24.0(%24.1) %24.2, e0.2
- goto BB25
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB25
- val^ %25.0 = Phi %6.0:BB23, %24.3:BB24
- val %25.1 = Force %25.0, e0.2
- void Return %25.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %26.7:BB26
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB26
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB23 (if true) | BB7 (if false)
- BB23
- goto BB25
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB22 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB22
- cls %22.0 = LdFun c, e9.5
- prom %22.1 = MkArg missing, Prom(5), e9.5
- fs %22.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %22.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%22.2
- val^ %22.4 = Call %22.0(%22.1) %22.3, e9.5
- goto BB26
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB26
- val^ %26.0 = Phi %15.0:BB21, %22.4:BB22
- val %26.1 = Force %26.0, e9.5
- val^? %26.2 = LdVar array, e0.2
- val %26.3 = Force %26.2, e0.2
- val^? %26.4 = LdVar i, e0.2
- val %26.5 = Force %26.4, e0.2
- val %26.6 = EnsureNamed %26.1
- val %26.7 = Subassign2_1D %26.6, %26.3, %26.5, e0.2
- void StVar array, %26.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %20.12:BB20
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB20
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- goto BB16
- BB16
- lgl' %16.0 = Lt %14.11, %15.3, elided
- t %16.1 = AsTest %16.0
- void Branch %16.1 -> BB21 (if true) | BB17 (if false)
- BB21
- goto BB26
- BB17
- goto BB18
- BB18
- val$' %18.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %18.0, e9.5
- cls %18.2 = LdFun buildTreeDepth, e9.5
- prom %18.3 = MkArg missing, Prom(8), e9.5
- prom %18.4 = MkArg missing, Prom(9), e9.5
- cp %18.5 = Checkpoint -> BB20 (by default) | BB19 (if coming from expect)
- BB20
- cls' %20.0 = LdConst function (depth, random) { if (d...
- t %20.1 = Identical %18.2, %20.0
- void Assume %20.1, %18.5
- fs %20.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%20.3
- val^ %20.5 = StaticCall buildTreeDepth[0x7f92446010b0](%18.3, %18.4) %20.4, e9.5
- val^? %20.6 = LdVar array, e9.5
- val %20.7 = Force %20.6, e9.5
- val^? %20.8 = LdVar i, e9.5
- val %20.9 = Force %20.8, e9.5
- val^ %20.10 = EnsureNamed %20.5
- val %20.11 = Force %20.10, e9.5
- val %20.12 = Subassign2_1D %20.11, %20.7, %20.9, e9.5
- void StVar array, %20.12, e9.5
- goto BB15
- BB19
- fs %19.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %19.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %18.2], env=e9.5, next=%19.0
- void Deopt %19.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 413
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB23 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB23
- cls %23.0 = LdFun c, e0.2
- prom %23.1 = MkArg missing, Prom(4), e0.2
- fs %23.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %23.3 = Call %23.0(%23.1) %23.2, e0.2
- goto BB24
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB24
- val^ %24.0 = Phi %6.0:BB22, %23.3:BB23
- val %24.1 = Force %24.0, e0.2
- void Return %24.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %25.7:BB25
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB25
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB22 (if true) | BB7 (if false)
- BB22
- goto BB24
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB21 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB21
- cls %21.0 = LdFun c, e9.5
- prom %21.1 = MkArg missing, Prom(5), e9.5
- fs %21.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%21.2
- val^ %21.4 = Call %21.0(%21.1) %21.3, e9.5
- goto BB25
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB25
- val^ %25.0 = Phi %15.0:BB20, %21.4:BB21
- val %25.1 = Force %25.0, e9.5
- val^? %25.2 = LdVar array, e0.2
- val %25.3 = Force %25.2, e0.2
- val^? %25.4 = LdVar i, e0.2
- val %25.5 = Force %25.4, e0.2
- val %25.6 = EnsureNamed %25.1
- val %25.7 = Subassign2_1D %25.6, %25.3, %25.5, e0.2
- void StVar array, %25.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %19.12:BB19
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB19
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB20 (if true) | BB16 (if false)
- BB20
- goto BB25
- BB16
- goto BB17
- BB17
- val$' %17.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %17.0, e9.5
- cls %17.2 = LdFun buildTreeDepth, e9.5
- prom %17.3 = MkArg missing, Prom(8), e9.5
- prom %17.4 = MkArg missing, Prom(9), e9.5
- cp %17.5 = Checkpoint -> BB19 (by default) | BB18 (if coming from expect)
- BB19
- cls' %19.0 = LdConst function (depth, random) { if (d...
- t %19.1 = Identical %17.2, %19.0
- void Assume %19.1, %17.5
- fs %19.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %19.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%19.3
- val^ %19.5 = StaticCall buildTreeDepth[0x7f92446010b0](%17.3, %17.4) %19.4, e9.5
- val^? %19.6 = LdVar array, e9.5
- val %19.7 = Force %19.6, e9.5
- val^? %19.8 = LdVar i, e9.5
- val %19.9 = Force %19.8, e9.5
- val^ %19.10 = EnsureNamed %19.5
- val %19.11 = Force %19.10, e9.5
- val %19.12 = Subassign2_1D %19.11, %19.7, %19.9, e9.5
- void StVar array, %19.12, e9.5
- goto BB15
- BB18
- fs %18.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %17.2], env=e9.5, next=%18.0
- void Deopt %18.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Delay instructions: == 420
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB23 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB23
- cls %23.0 = LdFun c, e0.2
- prom %23.1 = MkArg missing, Prom(4), e0.2
- fs %23.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %23.3 = Call %23.0(%23.1) %23.2, e0.2
- goto BB24
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB24
- val^ %24.0 = Phi %6.0:BB22, %23.3:BB23
- val %24.1 = Force %24.0, e0.2
- void Return %24.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %25.7:BB25
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB25
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB22 (if true) | BB7 (if false)
- BB22
- goto BB24
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB21 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB21
- cls %21.0 = LdFun c, e9.5
- prom %21.1 = MkArg missing, Prom(5), e9.5
- fs %21.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%21.2
- val^ %21.4 = Call %21.0(%21.1) %21.3, e9.5
- goto BB25
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB25
- val^ %25.0 = Phi %15.0:BB20, %21.4:BB21
- val %25.1 = Force %25.0, e9.5
- val^? %25.2 = LdVar array, e0.2
- val %25.3 = Force %25.2, e0.2
- val^? %25.4 = LdVar i, e0.2
- val %25.5 = Force %25.4, e0.2
- val %25.6 = EnsureNamed %25.1
- val %25.7 = Subassign2_1D %25.6, %25.3, %25.5, e0.2
- void StVar array, %25.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %19.12:BB19
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB19
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB20 (if true) | BB16 (if false)
- BB20
- goto BB25
- BB16
- goto BB17
- BB17
- val$' %17.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %17.0, e9.5
- cls %17.2 = LdFun buildTreeDepth, e9.5
- prom %17.3 = MkArg missing, Prom(8), e9.5
- prom %17.4 = MkArg missing, Prom(9), e9.5
- cp %17.5 = Checkpoint -> BB19 (by default) | BB18 (if coming from expect)
- BB19
- cls' %19.0 = LdConst function (depth, random) { if (d...
- t %19.1 = Identical %17.2, %19.0
- void Assume %19.1, %17.5
- fs %19.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %19.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%19.3
- val^ %19.5 = StaticCall buildTreeDepth[0x7f92446010b0](%17.3, %17.4) %19.4, e9.5
- val^? %19.6 = LdVar array, e9.5
- val %19.7 = Force %19.6, e9.5
- val^? %19.8 = LdVar i, e9.5
- val %19.9 = Force %19.8, e9.5
- val^ %19.10 = EnsureNamed %19.5
- val %19.11 = Force %19.10, e9.5
- val %19.12 = Subassign2_1D %19.11, %19.7, %19.9, e9.5
- void StVar array, %19.12, e9.5
- goto BB15
- BB18
- fs %18.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %17.2], env=e9.5, next=%18.0
- void Deopt %18.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Elide environments not needed: == 427
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB23 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB23
- cls %23.0 = LdFun c, e0.2
- prom %23.1 = MkArg missing, Prom(4), e0.2
- fs %23.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %23.3 = Call %23.0(%23.1) %23.2, e0.2
- goto BB24
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB24
- val^ %24.0 = Phi %6.0:BB22, %23.3:BB23
- val %24.1 = Force %24.0, e0.2
- void Return %24.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %25.7:BB25
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB25
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB22 (if true) | BB7 (if false)
- BB22
- goto BB24
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB21 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB21
- cls %21.0 = LdFun c, e9.5
- prom %21.1 = MkArg missing, Prom(5), e9.5
- fs %21.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%21.2
- val^ %21.4 = Call %21.0(%21.1) %21.3, e9.5
- goto BB25
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB25
- val^ %25.0 = Phi %15.0:BB20, %21.4:BB21
- val %25.1 = Force %25.0, e9.5
- val^? %25.2 = LdVar array, e0.2
- val %25.3 = Force %25.2, e0.2
- val^? %25.4 = LdVar i, e0.2
- val %25.5 = Force %25.4, e0.2
- val %25.6 = EnsureNamed %25.1
- val %25.7 = Subassign2_1D %25.6, %25.3, %25.5, e0.2
- void StVar array, %25.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %19.12:BB19
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB19
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB20 (if true) | BB16 (if false)
- BB20
- goto BB25
- BB16
- goto BB17
- BB17
- val$' %17.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %17.0, e9.5
- cls %17.2 = LdFun buildTreeDepth, e9.5
- prom %17.3 = MkArg missing, Prom(8), e9.5
- prom %17.4 = MkArg missing, Prom(9), e9.5
- cp %17.5 = Checkpoint -> BB19 (by default) | BB18 (if coming from expect)
- BB19
- cls' %19.0 = LdConst function (depth, random) { if (d...
- t %19.1 = Identical %17.2, %19.0
- void Assume %19.1, %17.5
- fs %19.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %19.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%19.3
- val^ %19.5 = StaticCall buildTreeDepth[0x7f92446010b0](%17.3, %17.4) %19.4, e9.5
- val^? %19.6 = LdVar array, e9.5
- val %19.7 = Force %19.6, e9.5
- val^? %19.8 = LdVar i, e9.5
- val %19.9 = Force %19.8, e9.5
- val^ %19.10 = EnsureNamed %19.5
- val %19.11 = Force %19.10, e9.5
- val %19.12 = Subassign2_1D %19.11, %19.7, %19.9, e9.5
- void StVar array, %19.12, e9.5
- goto BB15
- BB18
- fs %18.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %17.2], env=e9.5, next=%18.0
- void Deopt %18.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Move environment creation as far as possible: == 434
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB23 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB23
- cls %23.0 = LdFun c, e0.2
- prom %23.1 = MkArg missing, Prom(4), e0.2
- fs %23.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %23.3 = Call %23.0(%23.1) %23.2, e0.2
- goto BB24
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB24
- val^ %24.0 = Phi %6.0:BB22, %23.3:BB23
- val %24.1 = Force %24.0, e0.2
- void Return %24.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %25.7:BB25
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB25
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB22 (if true) | BB7 (if false)
- BB22
- goto BB24
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB21 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB21
- cls %21.0 = LdFun c, e9.5
- prom %21.1 = MkArg missing, Prom(5), e9.5
- fs %21.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %21.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%21.2
- val^ %21.4 = Call %21.0(%21.1) %21.3, e9.5
- goto BB25
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB25
- val^ %25.0 = Phi %15.0:BB20, %21.4:BB21
- val %25.1 = Force %25.0, e9.5
- val^? %25.2 = LdVar array, e0.2
- val %25.3 = Force %25.2, e0.2
- val^? %25.4 = LdVar i, e0.2
- val %25.5 = Force %25.4, e0.2
- val %25.6 = EnsureNamed %25.1
- val %25.7 = Subassign2_1D %25.6, %25.3, %25.5, e0.2
- void StVar array, %25.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %19.12:BB19
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB19
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB20 (if true) | BB16 (if false)
- BB20
- goto BB25
- BB16
- goto BB17
- BB17
- val$' %17.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %17.0, e9.5
- cls %17.2 = LdFun buildTreeDepth, e9.5
- prom %17.3 = MkArg missing, Prom(8), e9.5
- prom %17.4 = MkArg missing, Prom(9), e9.5
- cp %17.5 = Checkpoint -> BB19 (by default) | BB18 (if coming from expect)
- BB19
- cls' %19.0 = LdConst function (depth, random) { if (d...
- t %19.1 = Identical %17.2, %19.0
- void Assume %19.1, %17.5
- fs %19.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %19.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%19.3
- val^ %19.5 = StaticCall buildTreeDepth[0x7f92446010b0](%17.3, %17.4) %19.4, e9.5
- val^? %19.6 = LdVar array, e9.5
- val %19.7 = Force %19.6, e9.5
- val^? %19.8 = LdVar i, e9.5
- val %19.9 = Force %19.8, e9.5
- val^ %19.10 = EnsureNamed %19.5
- val %19.11 = Force %19.10, e9.5
- val %19.12 = Subassign2_1D %19.11, %19.7, %19.9, e9.5
- void StVar array, %19.12, e9.5
- goto BB15
- BB18
- fs %18.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %17.2], env=e9.5, next=%18.0
- void Deopt %18.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 441
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline closures: == 448
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline Promises: == 455
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Scope resolution: == 462
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Constant folding: == 469
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 476
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Delay instructions: == 483
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Elide environments not needed: == 490
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Move environment creation as far as possible: == 497
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 504
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline closures: == 511
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Speculate on values to elide environments: == 518
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup unused checkpoints: == 525
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) %22.2, e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) %20.3, e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) %18.4, e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup framestates unused by checkpoints: == 532
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline Promises: == 539
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Scope resolution: == 546
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Constant folding: == 553
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- fs %22.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %22.3 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.3:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %20.3 = FrameState 0x7f924457f3d0+410: [], env=e9.5, next=%20.2
- val^ %20.4 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.4:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.12:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %18.4 = FrameState 0x7f924457f3d0+290: [%14.10, %14.11, %15.3], env=e9.5, next=%18.3
- val^ %18.5 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.6 = LdVar array, e9.5
- val %18.7 = Force %18.6, e9.5
- val^? %18.8 = LdVar i, e9.5
- val %18.9 = Force %18.8, e9.5
- val^ %18.10 = EnsureNamed %18.5
- val %18.11 = Force %18.10, e9.5
- val %18.12 = Subassign2_1D %18.11, %18.7, %18.9, e9.5
- void StVar array, %18.12, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 560
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %20.3 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.3:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.11:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %18.4 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.5 = LdVar array, e9.5
- val %18.6 = Force %18.5, e9.5
- val^? %18.7 = LdVar i, e9.5
- val %18.8 = Force %18.7, e9.5
- val^ %18.9 = EnsureNamed %18.4
- val %18.10 = Force %18.9, e9.5
- val %18.11 = Subassign2_1D %18.10, %18.6, %18.8, e9.5
- void StVar array, %18.11, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Delay instructions: == 567
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %20.3 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.3:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.11:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %18.4 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.5 = LdVar array, e9.5
- val %18.6 = Force %18.5, e9.5
- val^? %18.7 = LdVar i, e9.5
- val %18.8 = Force %18.7, e9.5
- val^ %18.9 = EnsureNamed %18.4
- val %18.10 = Force %18.9, e9.5
- val %18.11 = Subassign2_1D %18.10, %18.6, %18.8, e9.5
- void StVar array, %18.11, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Elide environments not needed: == 574
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %20.3 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.3:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.11:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %18.4 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.5 = LdVar array, e9.5
- val %18.6 = Force %18.5, e9.5
- val^? %18.7 = LdVar i, e9.5
- val %18.8 = Force %18.7, e9.5
- val^ %18.9 = EnsureNamed %18.4
- val %18.10 = Force %18.9, e9.5
- val %18.11 = Subassign2_1D %18.10, %18.6, %18.8, e9.5
- void StVar array, %18.11, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Move environment creation as far as possible: == 581
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- fs %20.2 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %20.3 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.3:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.11:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- fs %18.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %18.4 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.5 = LdVar array, e9.5
- val %18.6 = Force %18.5, e9.5
- val^? %18.7 = LdVar i, e9.5
- val %18.8 = Force %18.7, e9.5
- val^ %18.9 = EnsureNamed %18.4
- val %18.10 = Force %18.9, e9.5
- val %18.11 = Subassign2_1D %18.10, %18.6, %18.8, e9.5
- void StVar array, %18.11, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 588
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline closures: == 595
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline Promises: == 602
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Scope resolution: == 609
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Constant folding: == 616
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 623
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Delay instructions: == 630
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Elide environments not needed: == 637
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Move environment creation as far as possible: == 644
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 651
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline closures: == 658
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline Promises: == 665
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Scope resolution: == 672
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Constant folding: == 679
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 686
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Delay instructions: == 693
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Elide environments not needed: == 700
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Move environment creation as far as possible: == 707
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 714
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline closures: == 721
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline Promises: == 728
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Scope resolution: == 735
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Constant folding: == 742
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 749
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- str$' %14.3 = LdConst [1] "list"
- real$' %14.4 = LdConst [1] 4
- val %14.5 = CallSafeBuiltin vector(%14.3, %14.4)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 1
- real$' %14.8 = LdConst [1] 4
- val' %14.9 = Colon %14.7, %14.8, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Delay instructions: == 756
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Elide environments not needed: == 763
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Move environment creation as far as possible: == 770
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup redundant operations: == 777
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Inline closures: == 784
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Speculate on values to elide environments: == 791
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- ├────── Cleanup unused checkpoints: == 798
- buildTreeDepth[0x7f92446010b0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=<environment: 0x7f9246b48c88>
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB22 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB22
- cls %22.0 = LdFun c, e0.2
- prom %22.1 = MkArg missing, Prom(4), e0.2
- val^ %22.2 = Call %22.0(%22.1) e0.2
- goto BB23
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB23
- val^ %23.0 = Phi %6.0:BB21, %22.2:BB22
- val %23.1 = Force %23.0, e0.2
- void Return %23.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %24.7:BB24
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB24
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB21 (if true) | BB7 (if false)
- BB21
- goto BB23
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^? %9.3 = CastType %7.3
- val^? %9.4 = CastType %7.4
- env e9.5 = MkEnv depth=%9.3, random=%9.4, parent=<environment: 0x7f9246b48c88>
- val %9.6 = Force %9.3, e9.5
- real$' %9.7 = LdConst [1] 1
- cp %9.8 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- BB11
- t %11.0 = IsObject %9.6
- void AssumeNot %11.0, %9.8
- lgl' %11.2 = Eq %9.6, %9.7, elided
- lgl %11.3 = AsLogical %11.2
- t %11.4 = AsTest %11.3
- void Branch %11.4 -> BB20 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %10.1 = FrameState 0x7f924457f3d0+58: [%9.6, %9.7], env=e9.5, next=%10.0
- void Deopt %10.1
- BB20
- cls %20.0 = LdFun c, e9.5
- prom %20.1 = MkArg missing, Prom(5), e9.5
- val^ %20.2 = Call %20.0(%20.1) e9.5
- goto BB24
- BB12
- cls %12.0 = LdFun vector, e9.5
- cp %12.1 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB24
- val^ %24.0 = Phi %15.0:BB19, %20.2:BB20
- val %24.1 = Force %24.0, e9.5
- val^? %24.2 = LdVar array, e0.2
- val %24.3 = Force %24.2, e0.2
- val^? %24.4 = LdVar i, e0.2
- val %24.5 = Force %24.4, e0.2
- val %24.6 = EnsureNamed %24.1
- val %24.7 = Subassign2_1D %24.6, %24.3, %24.5, e0.2
- void StVar array, %24.7, e0.2
- goto BB6
- BB14
- cls' %14.0 = LdConst function (mode = "logical", length = ...
- t %14.1 = Identical %12.0, %14.0
- void Assume %14.1, %12.1
- real$' %14.3 = LdConst [1] 4
- str$' %14.4 = LdConst [1] "list"
- val %14.5 = CallSafeBuiltin vector(%14.4, %14.3)
- void StVar array, %14.5, e9.5
- real$' %14.7 = LdConst [1] 4
- real$' %14.8 = LdConst [1] 1
- val' %14.9 = Colon %14.8, %14.7, elided
- val' %14.10 = SetShared %14.9
- int$' %14.11 = ForSeqSize %14.10
- int$' %14.12 = LdConst [1] 0
- goto BB15
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %13.1 = FrameState 0x7f924457f3d0+113: [%12.0], env=e9.5, next=%13.0
- void Deopt %13.1
- BB15
- val %15.0 = Phi %14.5:BB14, %18.10:BB18
- int$' %15.1 = Phi %14.12:BB14, %15.3:BB18
- int$' %15.2 = Inc %15.1
- int$' %15.3 = EnsureNamed %15.2
- lgl' %15.4 = Lt %14.11, %15.3, elided
- t %15.5 = AsTest %15.4
- void Branch %15.5 -> BB19 (if true) | BB16 (if false)
- BB19
- goto BB24
- BB16
- val$' %16.0 = Extract2_1D %14.10, %15.3, elided
- void StVar i, %16.0, e9.5
- cls %16.2 = LdFun buildTreeDepth, e9.5
- prom %16.3 = MkArg missing, Prom(8), e9.5
- prom %16.4 = MkArg missing, Prom(9), e9.5
- cp %16.5 = Checkpoint -> BB18 (by default) | BB17 (if coming from expect)
- BB18
- cls' %18.0 = LdConst function (depth, random) { if (d...
- t %18.1 = Identical %16.2, %18.0
- void Assume %18.1, %16.5
- val^ %18.3 = StaticCall buildTreeDepth[0x7f92446010b0](%16.3, %16.4) e9.5
- val^? %18.4 = LdVar array, e9.5
- val %18.5 = Force %18.4, e9.5
- val^? %18.6 = LdVar i, e9.5
- val %18.7 = Force %18.6, e9.5
- val^ %18.8 = EnsureNamed %18.3
- val %18.9 = Force %18.8, e9.5
- val %18.10 = Subassign2_1D %18.9, %18.5, %18.7, e9.5
- void StVar array, %18.10, e9.5
- goto BB15
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- fs %17.1 = FrameState 0x7f924457f3d0+273: [%14.10, %14.11, %15.3, %16.2], env=e9.5, next=%17.0
- void Deopt %17.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 5:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- Prom 8:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 9:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- │ buildTreeDepth[0x7f92446010b0] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ test[0x7f9244567f20] │
- ├────── Inline Promises: == 6
- test[0x7f9244567f20]
- BB0
- env e0.0 = MkEnv parent=<environment: R_GlobalEnv>
- real$' %0.1 = LdConst [1] 74755
- real$' %0.2 = SetShared %0.1
- void StVar seed, %0.2, e0.0
- cls %0.4 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.0
- cls %0.5 = SetShared %0.4
- void StVar nextRandom, %0.5, e0.0
- cls %0.7 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.0
- cls %0.8 = SetShared %0.7
- void StVar buildTreeDepth, %0.8, e0.0
- cls %0.10 = LdFun buildTreeDepth, e0.0
- real$' %0.11 = LdConst [1] 2
- prom %0.12 = MkArg %0.11, Prom(0), e0.0
- prom %0.13 = MkArg missing, Prom(1), e0.0
- cls' %0.14 = LdConst function (depth, random) { if (d...
- t %0.15 = Identical %0.10, %0.14
- cp %0.16 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.15, %0.16
- fs %1.1 = FrameState 0x7f924457e060+155: [], env=e0.0
- val^ %1.2 = StaticCall buildTreeDepth[0x7f92446010b0](%0.12, %0.13) %1.1, e0.0
- val %1.3 = Force %1.2, e0.0
- void Return %1.3
- BB2
- fs %2.0 = FrameState 0x7f924457e060+138: [%0.10], env=e0.0
- void Deopt %2.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Scope resolution: == 13
- test[0x7f9244567f20]
- BB0
- env e0.0 = MkEnv parent=<environment: R_GlobalEnv>
- real$' %0.1 = LdConst [1] 74755
- real$' %0.2 = SetShared %0.1
- void StVar seed, %0.2, e0.0
- cls %0.4 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.0
- cls %0.5 = SetShared %0.4
- void StVar nextRandom, %0.5, e0.0
- cls %0.7 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.0
- cls %0.8 = SetShared %0.7
- void StVar buildTreeDepth, %0.8, e0.0
- real$' %0.10 = LdConst [1] 2
- prom %0.11 = MkArg %0.10, Prom(0), e0.0
- prom %0.12 = MkArg missing, Prom(1), e0.0
- cls' %0.13 = LdConst function (depth, random) { if (d...
- t %0.14 = Identical %0.8, %0.13
- cp %0.15 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.14, %0.15
- fs %1.1 = FrameState 0x7f924457e060+155: [], env=e0.0
- val^ %1.2 = StaticCall buildTreeDepth[0x7f92446010b0](%0.11, %0.12) %1.1, e0.0
- val %1.3 = Force %1.2, e0.0
- void Return %1.3
- BB2
- fs %2.0 = FrameState 0x7f924457e060+138: [%0.8], env=e0.0
- void Deopt %2.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Constant folding: == 20
- test[0x7f9244567f20]
- BB0
- env e0.0 = MkEnv parent=<environment: R_GlobalEnv>
- real$' %0.1 = LdConst [1] 74755
- real$' %0.2 = SetShared %0.1
- void StVar seed, %0.2, e0.0
- cls %0.4 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.0
- cls %0.5 = SetShared %0.4
- void StVar nextRandom, %0.5, e0.0
- cls %0.7 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.0
- cls %0.8 = SetShared %0.7
- void StVar buildTreeDepth, %0.8, e0.0
- real$' %0.10 = LdConst [1] 2
- prom %0.11 = MkArg %0.10, Prom(0), e0.0
- prom %0.12 = MkArg missing, Prom(1), e0.0
- cls' %0.13 = LdConst function (depth, random) { if (d...
- t %0.14 = Identical %0.8, %0.13
- cp %0.15 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.14, %0.15
- fs %1.1 = FrameState 0x7f924457e060+155: [], env=e0.0
- val^ %1.2 = StaticCall buildTreeDepth[0x7f92446010b0](%0.11, %0.12) %1.1, e0.0
- val %1.3 = Force %1.2, e0.0
- void Return %1.3
- BB2
- fs %2.0 = FrameState 0x7f924457e060+138: [%0.8], env=e0.0
- void Deopt %2.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 27
- test[0x7f9244567f20]
- BB0
- env e0.0 = MkEnv parent=<environment: R_GlobalEnv>
- real$' %0.1 = LdConst [1] 74755
- real$' %0.2 = SetShared %0.1
- void StVar seed, %0.1, e0.0
- cls %0.4 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.0
- cls %0.5 = SetShared %0.4
- void StVar nextRandom, %0.4, e0.0
- cls %0.7 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.0
- cls %0.8 = SetShared %0.7
- void StVar buildTreeDepth, %0.8, e0.0
- real$' %0.10 = LdConst [1] 2
- prom %0.11 = MkArg %0.10, Prom(0), e0.0
- prom %0.12 = MkArg missing, Prom(1), e0.0
- cls' %0.13 = LdConst function (depth, random) { if (d...
- t %0.14 = Identical %0.8, %0.13
- cp %0.15 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.14, %0.15
- fs %2.1 = FrameState 0x7f924457e060+155: [], env=e0.0
- val^ %2.2 = StaticCall buildTreeDepth[0x7f92446010b0](%0.11, %0.12) %2.1, e0.0
- val %2.3 = Force %2.2, e0.0
- void Return %2.3
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.8], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Delay instructions: == 34
- test[0x7f9244567f20]
- BB0
- env e0.0 = MkEnv parent=<environment: R_GlobalEnv>
- real$' %0.1 = LdConst [1] 74755
- real$' %0.2 = SetShared %0.1
- void StVar seed, %0.1, e0.0
- cls %0.4 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.0
- cls %0.5 = SetShared %0.4
- void StVar nextRandom, %0.4, e0.0
- cls %0.7 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.0
- cls %0.8 = SetShared %0.7
- void StVar buildTreeDepth, %0.8, e0.0
- real$' %0.10 = LdConst [1] 2
- prom %0.11 = MkArg %0.10, Prom(0), e0.0
- prom %0.12 = MkArg missing, Prom(1), e0.0
- cls' %0.13 = LdConst function (depth, random) { if (d...
- cp %0.14 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.8, %0.13
- void Assume %2.0, %0.14
- fs %2.2 = FrameState 0x7f924457e060+155: [], env=e0.0
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.11, %0.12) %2.2, e0.0
- val %2.4 = Force %2.3, e0.0
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.8], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Elide environments not needed: == 41
- test[0x7f9244567f20]
- BB0
- env e0.0 = MkEnv parent=<environment: R_GlobalEnv>
- real$' %0.1 = LdConst [1] 74755
- real$' %0.2 = SetShared %0.1
- void StVar seed, %0.1, e0.0
- cls %0.4 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.0
- cls %0.5 = SetShared %0.4
- void StVar nextRandom, %0.4, e0.0
- cls %0.7 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.0
- cls %0.8 = SetShared %0.7
- void StVar buildTreeDepth, %0.8, e0.0
- real$' %0.10 = LdConst [1] 2
- prom %0.11 = MkArg %0.10, Prom(0), e0.0
- prom %0.12 = MkArg missing, Prom(1), e0.0
- cls' %0.13 = LdConst function (depth, random) { if (d...
- cp %0.14 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.8, %0.13
- void Assume %2.0, %0.14
- fs %2.2 = FrameState 0x7f924457e060+155: [], env=e0.0
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.11, %0.12) %2.2, e0.0
- val %2.4 = Force %2.3, e0.0
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.8], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Move environment creation as far as possible: == 48
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- real$' %0.1 = SetShared %0.0
- env e0.2 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.3 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.2
- cls %0.4 = SetShared %0.3
- void StVar nextRandom, %0.3, e0.2
- cls %0.6 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.2
- cls %0.7 = SetShared %0.6
- void StVar buildTreeDepth, %0.7, e0.2
- real$' %0.9 = LdConst [1] 2
- prom %0.10 = MkArg %0.9, Prom(0), e0.2
- prom %0.11 = MkArg missing, Prom(1), e0.2
- cls' %0.12 = LdConst function (depth, random) { if (d...
- cp %0.13 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.7, %0.12
- void Assume %2.0, %0.13
- fs %2.2 = FrameState 0x7f924457e060+155: [], env=e0.2
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.10, %0.11) %2.2, e0.2
- val %2.4 = Force %2.3, e0.2
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.7], env=e0.2
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 55
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cls' %0.10 = LdConst function (depth, random) { if (d...
- cp %0.11 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.5, %0.10
- void Assume %2.0, %0.11
- fs %2.2 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.2, e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline closures: == 62
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cls' %0.10 = LdConst function (depth, random) { if (d...
- cp %0.11 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.5, %0.10
- void Assume %2.0, %0.11
- fs %2.2 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.2, e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline Promises: == 69
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cls' %0.10 = LdConst function (depth, random) { if (d...
- cp %0.11 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.5, %0.10
- void Assume %2.0, %0.11
- fs %2.2 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.2, e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Scope resolution: == 76
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cls' %0.10 = LdConst function (depth, random) { if (d...
- cp %0.11 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.5, %0.10
- void Assume %2.0, %0.11
- fs %2.2 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.2, e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Constant folding: == 83
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cls' %0.10 = LdConst function (depth, random) { if (d...
- cp %0.11 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.5, %0.10
- void Assume %2.0, %0.11
- fs %2.2 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.2, e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 90
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cls' %0.10 = LdConst function (depth, random) { if (d...
- cp %0.11 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.5, %0.10
- void Assume %2.0, %0.11
- fs %2.2 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.2, e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Delay instructions: == 97
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Elide environments not needed: == 104
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Move environment creation as far as possible: == 111
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 118
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline closures: == 125
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline Promises: == 132
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Scope resolution: == 139
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Constant folding: == 146
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 153
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Delay instructions: == 160
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Elide environments not needed: == 167
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Move environment creation as far as possible: == 174
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 181
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline closures: == 188
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline Promises: == 195
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Scope resolution: == 202
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Constant folding: == 209
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 216
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Delay instructions: == 223
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Elide environments not needed: == 230
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Move environment creation as far as possible: == 237
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 244
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline closures: == 251
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Speculate on values to elide environments: == 258
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup unused checkpoints: == 265
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline Promises: == 272
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Scope resolution: == 279
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Constant folding: == 286
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 293
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Delay instructions: == 300
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Elide environments not needed: == 307
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Move environment creation as far as possible: == 314
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 321
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline closures: == 328
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline Promises: == 335
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Scope resolution: == 342
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Constant folding: == 349
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 356
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Delay instructions: == 363
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Elide environments not needed: == 370
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Move environment creation as far as possible: == 377
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 384
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline closures: == 391
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline Promises: == 398
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Scope resolution: == 405
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Constant folding: == 412
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 419
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Delay instructions: == 426
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Elide environments not needed: == 433
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Move environment creation as far as possible: == 440
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 447
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline closures: == 454
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline Promises: == 461
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Scope resolution: == 468
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Constant folding: == 475
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 482
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Delay instructions: == 489
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Elide environments not needed: == 496
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Move environment creation as far as possible: == 503
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 510
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline closures: == 517
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Speculate on values to elide environments: == 524
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup unused checkpoints: == 531
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) %2.3, e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() %0.2, e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup framestates unused by checkpoints: == 538
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline Promises: == 545
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Scope resolution: == 552
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Constant folding: == 559
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- fs %2.3 = FrameState 0x7f924457e060+155: [], env=e0.1
- val^ %2.4 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.5 = Force %2.4, e0.1
- void Return %2.5
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 566
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Delay instructions: == 573
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Elide environments not needed: == 580
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Move environment creation as far as possible: == 587
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 594
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline closures: == 601
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline Promises: == 608
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Scope resolution: == 615
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Constant folding: == 622
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 629
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Delay instructions: == 636
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Elide environments not needed: == 643
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Move environment creation as far as possible: == 650
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 657
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline closures: == 664
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline Promises: == 671
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Scope resolution: == 678
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Constant folding: == 685
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 692
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Delay instructions: == 699
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Elide environments not needed: == 706
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Move environment creation as far as possible: == 713
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 720
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline closures: == 727
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline Promises: == 734
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Scope resolution: == 741
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Constant folding: == 748
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 755
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Delay instructions: == 762
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Elide environments not needed: == 769
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Move environment creation as far as possible: == 776
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup redundant operations: == 783
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Inline closures: == 790
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Speculate on values to elide environments: == 797
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- ├────── Cleanup unused checkpoints: == 804
- test[0x7f9244567f20]
- BB0
- real$' %0.0 = LdConst [1] 74755
- env e0.1 = MkEnv seed=%0.0, parent=<environment: R_GlobalEnv>
- cls %0.2 = MkFunCls test>nextRandom@53[0x7f9244559020], e0.1
- void StVar nextRandom, %0.2, e0.1
- cls %0.4 = MkFunCls test>buildTreeDepth@91[0x7f92445596d0], e0.1
- cls %0.5 = SetShared %0.4
- void StVar buildTreeDepth, %0.5, e0.1
- real$' %0.7 = LdConst [1] 2
- prom %0.8 = MkArg %0.7, Prom(0), e0.1
- prom %0.9 = MkArg missing, Prom(1), e0.1
- cp %0.10 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (depth, random) { if (d...
- t %2.1 = Identical %0.5, %2.0
- void Assume %2.1, %0.10
- val^ %2.3 = StaticCall buildTreeDepth[0x7f92446010b0](%0.8, %0.9) e0.1
- val %2.4 = Force %2.3, e0.1
- void Return %2.4
- BB1
- fs %1.0 = FrameState 0x7f924457e060+138: [%0.5], env=e0.1
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 2
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- fs %0.2 = FrameState 0x7f9247265dd8+31: [], env=e0.0
- val^ %0.3 = Call %0.1() e0.0
- val %0.4 = Force %0.3, e0.0
- void Return %0.4
- │ test[0x7f9244567f20] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ bitwAnd[0x7f92445706c0] │
- ├────── Inline Promises: == 2
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv a=%0.1, b=%0.0, parent=<environment: namespace:base>
- val^? %0.3 = LdVar a, e0.2
- val %0.4 = Force %0.3, e0.2
- val^? %0.5 = LdVar b, e0.2
- val %0.6 = Force %0.5, e0.2
- val^ %0.7 = CallBuiltin bitwiseAnd(%0.4, %0.6) e0.2
- val %0.8 = Force %0.7, e0.2
- void Return %0.8
- ├────── Scope resolution: == 9
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv a=%0.1, b=%0.0, parent=<environment: namespace:base>
- val %0.3 = Force %0.1, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Constant folding: == 16
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv a=%0.1, b=%0.0, parent=<environment: namespace:base>
- val %0.3 = Force %0.1, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 23
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv a=%0.1, b=%0.0, parent=<environment: namespace:base>
- val %0.3 = Force %0.1, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Delay instructions: == 30
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Elide environments not needed: == 37
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Move environment creation as far as possible: == 44
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 51
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline closures: == 58
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline Promises: == 65
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Scope resolution: == 72
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Constant folding: == 79
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 86
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Delay instructions: == 93
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Elide environments not needed: == 100
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Move environment creation as far as possible: == 107
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 114
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline closures: == 121
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline Promises: == 128
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Scope resolution: == 135
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Constant folding: == 142
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 149
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Delay instructions: == 156
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Elide environments not needed: == 163
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Move environment creation as far as possible: == 170
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 177
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline closures: == 184
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline Promises: == 191
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Scope resolution: == 198
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Constant folding: == 205
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 212
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Delay instructions: == 219
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Elide environments not needed: == 226
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Move environment creation as far as possible: == 233
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 240
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline closures: == 247
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Speculate on values to elide environments: == 254
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup unused checkpoints: == 261
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline Promises: == 268
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Scope resolution: == 275
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Constant folding: == 282
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 289
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Delay instructions: == 296
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Elide environments not needed: == 303
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Move environment creation as far as possible: == 310
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 317
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline closures: == 324
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline Promises: == 331
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Scope resolution: == 338
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Constant folding: == 345
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 352
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Delay instructions: == 359
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Elide environments not needed: == 366
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Move environment creation as far as possible: == 373
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 380
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline closures: == 387
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline Promises: == 394
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Scope resolution: == 401
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Constant folding: == 408
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 415
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Delay instructions: == 422
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Elide environments not needed: == 429
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Move environment creation as far as possible: == 436
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 443
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline closures: == 450
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline Promises: == 457
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Scope resolution: == 464
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Constant folding: == 471
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 478
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Delay instructions: == 485
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Elide environments not needed: == 492
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Move environment creation as far as possible: == 499
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 506
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline closures: == 513
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Speculate on values to elide environments: == 520
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup unused checkpoints: == 527
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup framestates unused by checkpoints: == 534
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline Promises: == 541
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Scope resolution: == 548
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Constant folding: == 555
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 562
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Delay instructions: == 569
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Elide environments not needed: == 576
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Move environment creation as far as possible: == 583
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 590
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline closures: == 597
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline Promises: == 604
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Scope resolution: == 611
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Constant folding: == 618
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 625
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Delay instructions: == 632
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Elide environments not needed: == 639
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Move environment creation as far as possible: == 646
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 653
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline closures: == 660
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline Promises: == 667
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Scope resolution: == 674
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Constant folding: == 681
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 688
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Delay instructions: == 695
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Elide environments not needed: == 702
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Move environment creation as far as possible: == 709
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 716
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline closures: == 723
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline Promises: == 730
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Scope resolution: == 737
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Constant folding: == 744
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 751
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Delay instructions: == 758
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Elide environments not needed: == 765
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Move environment creation as far as possible: == 772
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup redundant operations: == 779
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Inline closures: == 786
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Speculate on values to elide environments: == 793
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- ├────── Cleanup unused checkpoints: == 800
- bitwAnd[0x7f92445706c0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv a=%0.0, b=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar b, e0.2
- val %0.5 = Force %0.4, e0.2
- val^ %0.6 = CallBuiltin bitwiseAnd(%0.3, %0.5) e0.2
- val %0.7 = Force %0.6, e0.2
- void Return %0.7
- │ bitwAnd[0x7f92445706c0] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ vector[0x7f92445590f0] │
- ├────── Inline Promises: == 3
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv mode=%0.1, length=%0.0, parent=<environment: namespace:base>
- val^? %0.3 = LdVar mode, e0.2
- val %0.4 = Force %0.3, e0.2
- val^? %0.5 = LdVar length, e0.2
- val %0.6 = Force %0.5, e0.2
- val %0.7 = CallSafeBuiltin vector(%0.4, %0.6)
- void Return %0.7
- ├────── Scope resolution: == 10
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv mode=%0.1, length=%0.0, parent=<environment: namespace:base>
- val %0.3 = Force %0.1, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Constant folding: == 17
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv mode=%0.1, length=%0.0, parent=<environment: namespace:base>
- val %0.3 = Force %0.1, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 24
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv mode=%0.1, length=%0.0, parent=<environment: namespace:base>
- val %0.3 = Force %0.1, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Delay instructions: == 31
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Elide environments not needed: == 38
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Move environment creation as far as possible: == 45
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 52
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline closures: == 59
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline Promises: == 66
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Scope resolution: == 73
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Constant folding: == 80
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 87
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Delay instructions: == 94
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Elide environments not needed: == 101
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Move environment creation as far as possible: == 108
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 115
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline closures: == 122
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline Promises: == 129
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Scope resolution: == 136
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Constant folding: == 143
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 150
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Delay instructions: == 157
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Elide environments not needed: == 164
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Move environment creation as far as possible: == 171
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 178
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline closures: == 185
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline Promises: == 192
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Scope resolution: == 199
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Constant folding: == 206
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 213
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Delay instructions: == 220
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Elide environments not needed: == 227
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Move environment creation as far as possible: == 234
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 241
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline closures: == 248
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Speculate on values to elide environments: == 255
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup unused checkpoints: == 262
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline Promises: == 269
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Scope resolution: == 276
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Constant folding: == 283
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 290
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Delay instructions: == 297
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Elide environments not needed: == 304
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Move environment creation as far as possible: == 311
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 318
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline closures: == 325
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline Promises: == 332
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Scope resolution: == 339
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Constant folding: == 346
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 353
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Delay instructions: == 360
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Elide environments not needed: == 367
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Move environment creation as far as possible: == 374
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 381
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline closures: == 388
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline Promises: == 395
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Scope resolution: == 402
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Constant folding: == 409
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 416
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Delay instructions: == 423
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Elide environments not needed: == 430
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Move environment creation as far as possible: == 437
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 444
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline closures: == 451
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline Promises: == 458
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Scope resolution: == 465
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Constant folding: == 472
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 479
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Delay instructions: == 486
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Elide environments not needed: == 493
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Move environment creation as far as possible: == 500
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 507
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline closures: == 514
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Speculate on values to elide environments: == 521
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup unused checkpoints: == 528
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup framestates unused by checkpoints: == 535
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline Promises: == 542
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Scope resolution: == 549
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Constant folding: == 556
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 563
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Delay instructions: == 570
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Elide environments not needed: == 577
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Move environment creation as far as possible: == 584
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 591
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline closures: == 598
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline Promises: == 605
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Scope resolution: == 612
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Constant folding: == 619
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 626
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Delay instructions: == 633
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Elide environments not needed: == 640
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Move environment creation as far as possible: == 647
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 654
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline closures: == 661
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline Promises: == 668
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Scope resolution: == 675
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Constant folding: == 682
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 689
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Delay instructions: == 696
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Elide environments not needed: == 703
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Move environment creation as far as possible: == 710
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 717
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline closures: == 724
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline Promises: == 731
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Scope resolution: == 738
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Constant folding: == 745
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 752
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Delay instructions: == 759
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Elide environments not needed: == 766
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Move environment creation as far as possible: == 773
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup redundant operations: == 780
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Inline closures: == 787
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Speculate on values to elide environments: == 794
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- ├────── Cleanup unused checkpoints: == 801
- vector[0x7f92445590f0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv mode=%0.0, length=%0.1, parent=<environment: namespace:base>
- val %0.3 = Force! %0.0, e0.2
- val^? %0.4 = LdVar length, e0.2
- val %0.5 = Force %0.4, e0.2
- val %0.6 = CallSafeBuiltin vector(%0.3, %0.5)
- void Return %0.6
- │ vector[0x7f92445590f0] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ test>buildTreeDepth@91[0x7f92445596d0] │
- ├────── Inline Promises: == 1
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv depth=%0.1, random=%0.0, parent=?
- val^? %0.3 = LdVar depth, e0.2
- val %0.4 = Force %0.3, e0.2
- real$' %0.5 = LdConst [1] 1
- cp %0.6 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- lgl %1.0 = Eq %0.4, %0.5, e0.2
- lgl %1.1 = AsLogical %1.0
- t %1.2 = AsTest %1.1
- void Branch %1.2 -> BB3 (if true) | BB4 (if false)
- BB2
- fs %2.0 = FrameState 0x7f924457f3d0+58: [%0.4, %0.5], env=e0.2
- void Deopt %2.0
- BB3
- cls %3.0 = LdFun c, e0.2
- prom %3.1 = MkArg missing, Prom(4), e0.2
- fs %3.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %3.3 = Call %3.0(%3.1) %3.2, e0.2
- goto BB18
- BB4
- cls %4.0 = LdFun vector, e0.2
- str$' %4.1 = LdConst [1] "list"
- prom %4.2 = MkArg %4.1, Prom(0), e0.2
- real$' %4.3 = LdConst [1] 4
- prom %4.4 = MkArg %4.3, Prom(1), e0.2
- cls' %4.5 = LdConst function (mode = "logical", length = ...
- t %4.6 = Identical %4.0, %4.5
- cp %4.7 = Checkpoint -> BB5 (by default) | BB6 (if coming from expect)
- BB18
- val^ %18.0 = Phi %12.2:BB12, %3.3:BB3
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- void Assume %4.6, %4.7
- fs %5.1 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.2 = StaticCall vector[0x7f92445590f0](%4.2, %4.4) %5.1, e0.2
- val^ %5.3 = SetShared %5.2
- val %5.4 = Force %5.3, e0.2
- void StVar array, %5.4, e0.2
- real$' %5.6 = LdConst [1] 1
- real$' %5.7 = LdConst [1] 4
- cp %5.8 = Checkpoint -> BB7 (by default) | BB8 (if coming from expect)
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+113: [%4.0], env=e0.2
- void Deopt %6.0
- BB7
- val %7.0 = Colon %5.6, %5.7, e0.2
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB9
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+192: [%5.6, %5.7], env=e0.2
- void Deopt %8.0
- BB9
- int$' %9.0 = Phi %7.3:BB7, %9.2:BB16
- int$' %9.1 = Inc %9.0
- int$' %9.2 = EnsureNamed %9.1
- cp %9.3 = Checkpoint -> BB10 (by default) | BB11 (if coming from expect)
- BB10
- lgl %10.0 = Lt %7.2, %9.2, e0.2
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB12 (if true) | BB13 (if false)
- BB11
- fs %11.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %9.2, %7.2, %9.2], env=e0.2
- void Deopt %11.0
- BB12
- nil' %12.0 = LdConst NULL
- val^? %12.1 = LdVar array, e0.2
- val %12.2 = Force %12.1, e0.2
- goto BB18
- BB13
- cp %13.0 = Checkpoint -> BB14 (by default) | BB15 (if coming from expect)
- BB14
- val$ %14.0 = Extract2_1D %7.1, %9.2, e0.2
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cls' %14.5 = LdConst function (depth, random) { if (d...
- t %14.6 = Identical %14.2, %14.5
- cp %14.7 = Checkpoint -> BB16 (by default) | BB17 (if coming from expect)
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %9.2, %7.1, %9.2], env=e0.2
- void Deopt %15.0
- BB16
- void Assume %14.6, %14.7
- fs %16.1 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %9.2], env=e0.2
- val^ %16.2 = StaticCall buildTreeDepth[0x7f92446010b0](%14.3, %14.4) %16.1, e0.2
- val^ %16.3 = EnsureNamed %16.2
- val^? %16.4 = LdVar array, e0.2
- val %16.5 = Force %16.4, e0.2
- val^? %16.6 = LdVar i, e0.2
- val %16.7 = Force %16.6, e0.2
- val %16.8 = Force %16.3, e0.2
- val %16.9 = Subassign2_1D %16.8, %16.5, %16.7, e0.2
- void StVar array, %16.9, e0.2
- goto BB9
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %9.2, %14.2], env=e0.2
- void Deopt %17.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- BB2
- fs %2.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.3, %0.4
- fs %1.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %1.2 = StaticCall nextRandom[0x7f9244606500]() %1.1, e0.0
- real$' %1.3 = LdConst [1] 10
- cp %1.4 = Checkpoint -> BB3 (by default) | BB4 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Force %1.2, e0.0
- val %3.1 = Mod %3.0, %1.3, e0.0
- real$' %3.2 = LdConst [1] 1
- cp %3.3 = Checkpoint -> BB5 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f9244580470+71: [%1.2, %1.3], env=e0.0
- void Deopt %4.0
- BB5
- val %5.0 = Add %3.1, %3.2, e0.0
- void Return %5.0
- BB6
- fs %6.0 = FrameState 0x7f9244580470+86: [%3.1, %3.2], env=e0.0
- void Deopt %6.0
- ├────── Scope resolution: == 8
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv depth=%0.1, random=%0.0, parent=?
- val %0.3 = Force %0.1, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- lgl %1.0 = Eq %0.3, %0.4, e0.2
- lgl %1.1 = AsLogical %1.0
- t %1.2 = AsTest %1.1
- void Branch %1.2 -> BB3 (if true) | BB4 (if false)
- BB2
- fs %2.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %2.0
- BB3
- cls %3.0 = LdFun c, e0.2
- prom %3.1 = MkArg missing, Prom(4), e0.2
- fs %3.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %3.3 = Call %3.0(%3.1) %3.2, e0.2
- goto BB18
- BB4
- cls %4.0 = LdFun vector, e0.2
- str$' %4.1 = LdConst [1] "list"
- prom %4.2 = MkArg %4.1, Prom(0), e0.2
- real$' %4.3 = LdConst [1] 4
- prom %4.4 = MkArg %4.3, Prom(1), e0.2
- cls' %4.5 = LdConst function (mode = "logical", length = ...
- t %4.6 = Identical %4.0, %4.5
- cp %4.7 = Checkpoint -> BB5 (by default) | BB6 (if coming from expect)
- BB18
- val^ %18.0 = Phi %9.0:BB12, %3.3:BB3
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- void Assume %4.6, %4.7
- fs %5.1 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.2 = StaticCall vector[0x7f92445590f0](%4.2, %4.4) %5.1, e0.2
- val^ %5.3 = SetShared %5.2
- val %5.4 = Force %5.3, e0.2
- void StVar array, %5.4, e0.2
- real$' %5.6 = LdConst [1] 1
- real$' %5.7 = LdConst [1] 4
- cp %5.8 = Checkpoint -> BB7 (by default) | BB8 (if coming from expect)
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+113: [%4.0], env=e0.2
- void Deopt %6.0
- BB7
- val %7.0 = Colon %5.6, %5.7, e0.2
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB9
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+192: [%5.6, %5.7], env=e0.2
- void Deopt %8.0
- BB9
- val %9.0 = Phi %5.4:BB5, %16.9:BB16
- int$' %9.1 = Phi %7.3:BB7, %9.3:BB16
- int$' %9.2 = Inc %9.1
- int$' %9.3 = EnsureNamed %9.2
- cp %9.4 = Checkpoint -> BB10 (by default) | BB11 (if coming from expect)
- BB10
- lgl %10.0 = Lt %7.2, %9.3, e0.2
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB12 (if true) | BB13 (if false)
- BB11
- fs %11.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %9.3, %7.2, %9.3], env=e0.2
- void Deopt %11.0
- BB12
- nil' %12.0 = LdConst NULL
- goto BB18
- BB13
- cp %13.0 = Checkpoint -> BB14 (by default) | BB15 (if coming from expect)
- BB14
- val$ %14.0 = Extract2_1D %7.1, %9.3, e0.2
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cls' %14.5 = LdConst function (depth, random) { if (d...
- t %14.6 = Identical %14.2, %14.5
- cp %14.7 = Checkpoint -> BB16 (by default) | BB17 (if coming from expect)
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %9.3, %7.1, %9.3], env=e0.2
- void Deopt %15.0
- BB16
- void Assume %14.6, %14.7
- fs %16.1 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %9.3], env=e0.2
- val^ %16.2 = StaticCall buildTreeDepth[0x7f92446010b0](%14.3, %14.4) %16.1, e0.2
- val^ %16.3 = EnsureNamed %16.2
- val^? %16.4 = LdVar array, e0.2
- val %16.5 = Force %16.4, e0.2
- val^? %16.6 = LdVar i, e0.2
- val %16.7 = Force %16.6, e0.2
- val %16.8 = Force %16.3, e0.2
- val %16.9 = Subassign2_1D %16.8, %16.5, %16.7, e0.2
- void StVar array, %16.9, e0.2
- goto BB9
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %9.3, %14.2], env=e0.2
- void Deopt %17.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- BB2
- fs %2.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.3, %0.4
- fs %1.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %1.2 = StaticCall nextRandom[0x7f9244606500]() %1.1, e0.0
- real$' %1.3 = LdConst [1] 10
- cp %1.4 = Checkpoint -> BB3 (by default) | BB4 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Force %1.2, e0.0
- val %3.1 = Mod %3.0, %1.3, e0.0
- real$' %3.2 = LdConst [1] 1
- cp %3.3 = Checkpoint -> BB5 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f9244580470+71: [%1.2, %1.3], env=e0.0
- void Deopt %4.0
- BB5
- val %5.0 = Add %3.1, %3.2, e0.0
- void Return %5.0
- BB6
- fs %6.0 = FrameState 0x7f9244580470+86: [%3.1, %3.2], env=e0.0
- void Deopt %6.0
- ├────── Constant folding: == 15
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv depth=%0.1, random=%0.0, parent=?
- val %0.3 = Force %0.1, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- lgl %1.0 = Eq %0.3, %0.4, e0.2
- lgl %1.1 = AsLogical %1.0
- t %1.2 = AsTest %1.1
- void Branch %1.2 -> BB3 (if true) | BB4 (if false)
- BB2
- fs %2.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %2.0
- BB3
- cls %3.0 = LdFun c, e0.2
- prom %3.1 = MkArg missing, Prom(4), e0.2
- fs %3.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %3.3 = Call %3.0(%3.1) %3.2, e0.2
- goto BB18
- BB4
- cls %4.0 = LdFun vector, e0.2
- str$' %4.1 = LdConst [1] "list"
- prom %4.2 = MkArg %4.1, Prom(0), e0.2
- real$' %4.3 = LdConst [1] 4
- prom %4.4 = MkArg %4.3, Prom(1), e0.2
- cls' %4.5 = LdConst function (mode = "logical", length = ...
- t %4.6 = Identical %4.0, %4.5
- cp %4.7 = Checkpoint -> BB5 (by default) | BB6 (if coming from expect)
- BB18
- val^ %18.0 = Phi %9.0:BB12, %3.3:BB3
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- void Assume %4.6, %4.7
- fs %5.1 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.2 = StaticCall vector[0x7f92445590f0](%4.2, %4.4) %5.1, e0.2
- val^ %5.3 = SetShared %5.2
- val %5.4 = Force %5.3, e0.2
- void StVar array, %5.4, e0.2
- real$' %5.6 = LdConst [1] 1
- real$' %5.7 = LdConst [1] 4
- cp %5.8 = Checkpoint -> BB7 (by default) | BB8 (if coming from expect)
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+113: [%4.0], env=e0.2
- void Deopt %6.0
- BB7
- val %7.0 = Colon %5.6, %5.7, e0.2
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB9
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+192: [%5.6, %5.7], env=e0.2
- void Deopt %8.0
- BB9
- val %9.0 = Phi %5.4:BB5, %16.9:BB16
- int$' %9.1 = Phi %7.3:BB7, %9.3:BB16
- int$' %9.2 = Inc %9.1
- int$' %9.3 = EnsureNamed %9.2
- cp %9.4 = Checkpoint -> BB10 (by default) | BB11 (if coming from expect)
- BB10
- lgl %10.0 = Lt %7.2, %9.3, e0.2
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB12 (if true) | BB13 (if false)
- BB11
- fs %11.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %9.3, %7.2, %9.3], env=e0.2
- void Deopt %11.0
- BB12
- nil' %12.0 = LdConst NULL
- goto BB18
- BB13
- cp %13.0 = Checkpoint -> BB14 (by default) | BB15 (if coming from expect)
- BB14
- val$ %14.0 = Extract2_1D %7.1, %9.3, e0.2
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cls' %14.5 = LdConst function (depth, random) { if (d...
- t %14.6 = Identical %14.2, %14.5
- cp %14.7 = Checkpoint -> BB16 (by default) | BB17 (if coming from expect)
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %9.3, %7.1, %9.3], env=e0.2
- void Deopt %15.0
- BB16
- void Assume %14.6, %14.7
- fs %16.1 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %9.3], env=e0.2
- val^ %16.2 = StaticCall buildTreeDepth[0x7f92446010b0](%14.3, %14.4) %16.1, e0.2
- val^ %16.3 = EnsureNamed %16.2
- val^? %16.4 = LdVar array, e0.2
- val %16.5 = Force %16.4, e0.2
- val^? %16.6 = LdVar i, e0.2
- val %16.7 = Force %16.6, e0.2
- val %16.8 = Force %16.3, e0.2
- val %16.9 = Subassign2_1D %16.8, %16.5, %16.7, e0.2
- void StVar array, %16.9, e0.2
- goto BB9
- BB17
- fs %17.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %9.3, %14.2], env=e0.2
- void Deopt %17.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- BB2
- fs %2.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.3, %0.4
- fs %1.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %1.2 = StaticCall nextRandom[0x7f9244606500]() %1.1, e0.0
- real$' %1.3 = LdConst [1] 10
- cp %1.4 = Checkpoint -> BB3 (by default) | BB4 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Force %1.2, e0.0
- val %3.1 = Mod %3.0, %1.3, e0.0
- real$' %3.2 = LdConst [1] 1
- cp %3.3 = Checkpoint -> BB5 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f9244580470+71: [%1.2, %1.3], env=e0.0
- void Deopt %4.0
- BB5
- val %5.0 = Add %3.1, %3.2, e0.0
- void Return %5.0
- BB6
- fs %6.0 = FrameState 0x7f9244580470+86: [%3.1, %3.2], env=e0.0
- void Deopt %6.0
- ├────── Cleanup redundant operations: == 22
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 1
- val^ %0.1 = LdArg 0
- env e0.2 = MkEnv depth=%0.1, random=%0.0, parent=?
- val %0.3 = Force %0.1, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- t %3.6 = Identical %3.0, %3.5
- cp %3.7 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- void Assume %3.6, %3.7
- fs %5.1 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.2 = StaticCall vector[0x7f92445590f0](%3.2, %3.4) %5.1, e0.2
- val^ %5.3 = SetShared %5.2
- val %5.4 = Force %5.3, e0.2
- void StVar array, %5.4, e0.2
- real$' %5.6 = LdConst [1] 1
- real$' %5.7 = LdConst [1] 4
- cp %5.8 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val %7.0 = Colon %5.6, %5.7, e0.2
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.6, %5.7], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.4:BB5, %15.9:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl %10.0 = Lt %7.2, %8.3, e0.2
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- t %13.6 = Identical %13.2, %13.5
- cp %13.7 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- void Assume %13.6, %13.7
- fs %15.1 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.2 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.1, e0.2
- val^ %15.3 = EnsureNamed %15.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val %15.8 = Force %15.3, e0.2
- val %15.9 = Subassign2_1D %15.8, %15.5, %15.7, e0.2
- void StVar array, %15.9, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Delay instructions: == 29
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.3 = StaticCall vector[0x7f92445590f0](%3.2, %3.4) %5.2, e0.2
- val^ %5.4 = SetShared %5.3
- val %5.5 = Force %5.4, e0.2
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val %7.0 = Colon %5.7, %5.8, e0.2
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.10:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl %10.0 = Lt %7.2, %8.3, e0.2
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.3 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.2, e0.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val^ %15.8 = EnsureNamed %15.3
- val %15.9 = Force %15.8, e0.2
- val %15.10 = Subassign2_1D %15.9, %15.5, %15.7, e0.2
- void StVar array, %15.10, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Elide environments not needed: == 36
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.3 = StaticCall vector[0x7f92445590f0](%3.2, %3.4) %5.2, e0.2
- val^ %5.4 = SetShared %5.3
- val %5.5 = Force %5.4, e0.2
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.10:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.3 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.2, e0.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val^ %15.8 = EnsureNamed %15.3
- val %15.9 = Force %15.8, e0.2
- val %15.10 = Subassign2_1D %15.9, %15.5, %15.7, e0.2
- void StVar array, %15.10, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Move environment creation as far as possible: == 43
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.3 = StaticCall vector[0x7f92445590f0](%3.2, %3.4) %5.2, e0.2
- val^ %5.4 = SetShared %5.3
- val %5.5 = Force %5.4, e0.2
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.10:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.3 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.2, e0.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val^ %15.8 = EnsureNamed %15.3
- val %15.9 = Force %15.8, e0.2
- val %15.10 = Subassign2_1D %15.9, %15.5, %15.7, e0.2
- void StVar array, %15.10, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Cleanup redundant operations: == 50
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- val^ %5.3 = StaticCall vector[0x7f92445590f0](%3.2, %3.4) %5.2, e0.2
- val^ %5.4 = SetShared %5.3
- val %5.5 = Force %5.4, e0.2
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.10:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.3 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.2, e0.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val^ %15.8 = EnsureNamed %15.3
- val %15.9 = Force %15.8, e0.2
- val %15.10 = Subassign2_1D %15.9, %15.5, %15.7, e0.2
- void StVar array, %15.10, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Inline closures: == 57
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- goto BB20
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB20
- val^? %20.0 = CastType %3.2
- val^? %20.1 = CastType %3.4
- env e20.2 = MkEnv mode=%20.0, length=%20.1, parent=<environment: namespace:base>
- val %20.3 = Force %20.0, e20.2
- val^? %20.4 = LdVar length, e20.2
- val %20.5 = Force %20.4, e20.2
- val %20.6 = CallSafeBuiltin vector(%20.3, %20.5)
- goto BB19
- BB19
- val^ %19.0 = SetShared %20.6
- val %19.1 = Force %19.0, e0.2
- void StVar array, %19.1, e0.2
- real$' %19.3 = LdConst [1] 1
- real$' %19.4 = LdConst [1] 4
- cp %19.5 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB7
- val' %7.0 = Colon %19.3, %19.4, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%19.3, %19.4], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %19.1:BB19, %15.10:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.3 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.2, e0.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val^ %15.8 = EnsureNamed %15.3
- val %15.9 = Force %15.8, e0.2
- val %15.10 = Subassign2_1D %15.9, %15.5, %15.7, e0.2
- void StVar array, %15.10, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Inline Promises: == 64
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- goto BB20
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB20
- env e20.0 = MkEnv mode=%3.1, length=%3.3, parent=<environment: namespace:base>
- val %20.1 = Force %3.1, e20.0
- val^? %20.2 = LdVar length, e20.0
- val %20.3 = Force %20.2, e20.0
- val %20.4 = CallSafeBuiltin vector(%20.1, %20.3)
- goto BB19
- BB19
- val^ %19.0 = SetShared %20.4
- val %19.1 = Force %19.0, e0.2
- void StVar array, %19.1, e0.2
- real$' %19.3 = LdConst [1] 1
- real$' %19.4 = LdConst [1] 4
- cp %19.5 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB7
- val' %7.0 = Colon %19.3, %19.4, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%19.3, %19.4], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %19.1:BB19, %15.10:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.3 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.2, e0.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val^ %15.8 = EnsureNamed %15.3
- val %15.9 = Force %15.8, e0.2
- val %15.10 = Subassign2_1D %15.9, %15.5, %15.7, e0.2
- void StVar array, %15.10, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Scope resolution: == 71
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- goto BB20
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB20
- env e20.0 = MkEnv mode=%3.1, length=%3.3, parent=<environment: namespace:base>
- val %20.1 = CallSafeBuiltin vector(%3.1, %3.3)
- goto BB19
- BB19
- val^ %19.0 = SetShared %20.1
- val %19.1 = Force %19.0, e0.2
- void StVar array, %19.1, e0.2
- real$' %19.3 = LdConst [1] 1
- real$' %19.4 = LdConst [1] 4
- cp %19.5 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB7
- val' %7.0 = Colon %19.3, %19.4, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%19.3, %19.4], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %19.1:BB19, %15.10:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.3 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.2, e0.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val^ %15.8 = EnsureNamed %15.3
- val %15.9 = Force %15.8, e0.2
- val %15.10 = Subassign2_1D %15.9, %15.5, %15.7, e0.2
- void StVar array, %15.10, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Constant folding: == 78
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- prom %3.2 = MkArg %3.1, Prom(0), e0.2
- real$' %3.3 = LdConst [1] 4
- prom %3.4 = MkArg %3.3, Prom(1), e0.2
- cls' %3.5 = LdConst function (mode = "logical", length = ...
- cp %3.6 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- t %5.0 = Identical %3.0, %3.5
- void Assume %5.0, %3.6
- fs %5.2 = FrameState 0x7f924457f3d0+138: [], env=e0.2
- goto BB20
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB20
- env e20.0 = MkEnv mode=%3.1, length=%3.3, parent=<environment: namespace:base>
- val %20.1 = CallSafeBuiltin vector(%3.1, %3.3)
- goto BB19
- BB19
- val^ %19.0 = SetShared %20.1
- val %19.1 = Force %19.0, e0.2
- void StVar array, %19.1, e0.2
- real$' %19.3 = LdConst [1] 1
- real$' %19.4 = LdConst [1] 4
- cp %19.5 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB7
- val' %7.0 = Colon %19.3, %19.4, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%19.3, %19.4], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %19.1:BB19, %15.10:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$ %13.0 = Extract2_1D %7.1, %8.3, e0.2
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cls' %13.5 = LdConst function (depth, random) { if (d...
- cp %13.6 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- t %15.0 = Identical %13.2, %13.5
- void Assume %15.0, %13.6
- fs %15.2 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.3 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.2, e0.2
- val^? %15.4 = LdVar array, e0.2
- val %15.5 = Force %15.4, e0.2
- val^? %15.6 = LdVar i, e0.2
- val %15.7 = Force %15.6, e0.2
- val^ %15.8 = EnsureNamed %15.3
- val %15.9 = Force %15.8, e0.2
- val %15.10 = Subassign2_1D %15.9, %15.5, %15.7, e0.2
- void StVar array, %15.10, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- str$' %0.1 = LdConst [1] "list"
- void Return %0.1
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 4
- void Return %0.1
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Cleanup redundant operations: == 85
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB18 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB18
- cls %18.0 = LdFun c, e0.2
- prom %18.1 = MkArg missing, Prom(4), e0.2
- fs %18.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %18.3 = Call %18.0(%18.1) %18.2, e0.2
- goto BB19
- BB3
- cls %3.0 = LdFun vector, e0.2
- str$' %3.1 = LdConst [1] "list"
- real$' %3.2 = LdConst [1] 4
- cls' %3.3 = LdConst function (mode = "logical", length = ...
- cp %3.4 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB19
- val^ %19.0 = Phi %9.0:BB17, %18.3:BB18
- val %19.1 = Force %19.0, e0.2
- void Return %19.1
- BB5
- t %5.0 = Identical %3.0, %3.3
- void Assume %5.0, %3.4
- val %5.2 = CallSafeBuiltin vector(%3.1, %3.2)
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = SetShared %5.2
- void StVar array, %5.2, e0.2
- real$' %6.2 = LdConst [1] 1
- real$' %6.3 = LdConst [1] 4
- cp %6.4 = Checkpoint -> BB8 (by default) | BB7 (if coming from expect)
- BB8
- val' %8.0 = Colon %6.2, %6.3, elided
- val' %8.1 = SetShared %8.0
- int$' %8.2 = ForSeqSize %8.1
- int$' %8.3 = LdConst [1] 0
- goto BB9
- BB7
- fs %7.0 = FrameState 0x7f924457f3d0+192: [%6.2, %6.3], env=e0.2
- void Deopt %7.0
- BB9
- val %9.0 = Phi %5.2:BB6, %16.10:BB16
- int$' %9.1 = Phi %8.3:BB8, %9.3:BB16
- int$' %9.2 = Inc %9.1
- int$' %9.3 = EnsureNamed %9.2
- cp %9.4 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- lgl' %11.0 = Lt %8.2, %9.3, elided
- t %11.1 = AsTest %11.0
- void Branch %11.1 -> BB17 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+203: [%8.1, %8.2, %9.3, %8.2, %9.3], env=e0.2
- void Deopt %10.0
- BB17
- goto BB19
- BB12
- cp %12.0 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB14
- val$ %14.0 = Extract2_1D %8.1, %9.3, e0.2
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cls' %14.5 = LdConst function (depth, random) { if (d...
- cp %14.6 = Checkpoint -> BB16 (by default) | BB15 (if coming from expect)
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+219: [%8.1, %8.2, %9.3, %8.1, %9.3], env=e0.2
- void Deopt %13.0
- BB16
- t %16.0 = Identical %14.2, %14.5
- void Assume %16.0, %14.6
- fs %16.2 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- val^ %16.3 = StaticCall buildTreeDepth[0x7f92446010b0](%14.3, %14.4) %16.2, e0.2
- val^? %16.4 = LdVar array, e0.2
- val %16.5 = Force %16.4, e0.2
- val^? %16.6 = LdVar i, e0.2
- val %16.7 = Force %16.6, e0.2
- val^ %16.8 = EnsureNamed %16.3
- val %16.9 = Force %16.8, e0.2
- val %16.10 = Subassign2_1D %16.9, %16.5, %16.7, e0.2
- void StVar array, %16.10, e0.2
- goto BB9
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+273: [%8.1, %8.2, %9.3, %14.2], env=e0.2
- void Deopt %15.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Delay instructions: == 92
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB18 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB18
- cls %18.0 = LdFun c, e0.2
- prom %18.1 = MkArg missing, Prom(4), e0.2
- fs %18.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %18.3 = Call %18.0(%18.1) %18.2, e0.2
- goto BB19
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB19
- val^ %19.0 = Phi %9.0:BB17, %18.3:BB18
- val %19.1 = Force %19.0, e0.2
- void Return %19.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = SetShared %5.5
- void StVar array, %5.5, e0.2
- real$' %6.2 = LdConst [1] 1
- real$' %6.3 = LdConst [1] 4
- cp %6.4 = Checkpoint -> BB8 (by default) | BB7 (if coming from expect)
- BB8
- val' %8.0 = Colon %6.2, %6.3, elided
- val' %8.1 = SetShared %8.0
- int$' %8.2 = ForSeqSize %8.1
- int$' %8.3 = LdConst [1] 0
- goto BB9
- BB7
- fs %7.0 = FrameState 0x7f924457f3d0+192: [%6.2, %6.3], env=e0.2
- void Deopt %7.0
- BB9
- val %9.0 = Phi %5.5:BB6, %16.11:BB16
- int$' %9.1 = Phi %8.3:BB8, %9.3:BB16
- int$' %9.2 = Inc %9.1
- int$' %9.3 = EnsureNamed %9.2
- cp %9.4 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- lgl' %11.0 = Lt %8.2, %9.3, elided
- t %11.1 = AsTest %11.0
- void Branch %11.1 -> BB17 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+203: [%8.1, %8.2, %9.3, %8.2, %9.3], env=e0.2
- void Deopt %10.0
- BB17
- goto BB19
- BB12
- cp %12.0 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB14
- val$ %14.0 = Extract2_1D %8.1, %9.3, e0.2
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cp %14.5 = Checkpoint -> BB16 (by default) | BB15 (if coming from expect)
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+219: [%8.1, %8.2, %9.3, %8.1, %9.3], env=e0.2
- void Deopt %13.0
- BB16
- cls' %16.0 = LdConst function (depth, random) { if (d...
- t %16.1 = Identical %14.2, %16.0
- void Assume %16.1, %14.5
- fs %16.3 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- val^ %16.4 = StaticCall buildTreeDepth[0x7f92446010b0](%14.3, %14.4) %16.3, e0.2
- val^? %16.5 = LdVar array, e0.2
- val %16.6 = Force %16.5, e0.2
- val^? %16.7 = LdVar i, e0.2
- val %16.8 = Force %16.7, e0.2
- val^ %16.9 = EnsureNamed %16.4
- val %16.10 = Force %16.9, e0.2
- val %16.11 = Subassign2_1D %16.10, %16.6, %16.8, e0.2
- void StVar array, %16.11, e0.2
- goto BB9
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+273: [%8.1, %8.2, %9.3, %14.2], env=e0.2
- void Deopt %15.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Elide environments not needed: == 99
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB18 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB18
- cls %18.0 = LdFun c, e0.2
- prom %18.1 = MkArg missing, Prom(4), e0.2
- fs %18.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %18.3 = Call %18.0(%18.1) %18.2, e0.2
- goto BB19
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB19
- val^ %19.0 = Phi %9.0:BB17, %18.3:BB18
- val %19.1 = Force %19.0, e0.2
- void Return %19.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = SetShared %5.5
- void StVar array, %5.5, e0.2
- real$' %6.2 = LdConst [1] 1
- real$' %6.3 = LdConst [1] 4
- cp %6.4 = Checkpoint -> BB8 (by default) | BB7 (if coming from expect)
- BB8
- val' %8.0 = Colon %6.2, %6.3, elided
- val' %8.1 = SetShared %8.0
- int$' %8.2 = ForSeqSize %8.1
- int$' %8.3 = LdConst [1] 0
- goto BB9
- BB7
- fs %7.0 = FrameState 0x7f924457f3d0+192: [%6.2, %6.3], env=e0.2
- void Deopt %7.0
- BB9
- val %9.0 = Phi %5.5:BB6, %16.11:BB16
- int$' %9.1 = Phi %8.3:BB8, %9.3:BB16
- int$' %9.2 = Inc %9.1
- int$' %9.3 = EnsureNamed %9.2
- cp %9.4 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- lgl' %11.0 = Lt %8.2, %9.3, elided
- t %11.1 = AsTest %11.0
- void Branch %11.1 -> BB17 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+203: [%8.1, %8.2, %9.3, %8.2, %9.3], env=e0.2
- void Deopt %10.0
- BB17
- goto BB19
- BB12
- cp %12.0 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB14
- val$' %14.0 = Extract2_1D %8.1, %9.3, elided
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cp %14.5 = Checkpoint -> BB16 (by default) | BB15 (if coming from expect)
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+219: [%8.1, %8.2, %9.3, %8.1, %9.3], env=e0.2
- void Deopt %13.0
- BB16
- cls' %16.0 = LdConst function (depth, random) { if (d...
- t %16.1 = Identical %14.2, %16.0
- void Assume %16.1, %14.5
- fs %16.3 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- val^ %16.4 = StaticCall buildTreeDepth[0x7f92446010b0](%14.3, %14.4) %16.3, e0.2
- val^? %16.5 = LdVar array, e0.2
- val %16.6 = Force %16.5, e0.2
- val^? %16.7 = LdVar i, e0.2
- val %16.8 = Force %16.7, e0.2
- val^ %16.9 = EnsureNamed %16.4
- val %16.10 = Force %16.9, e0.2
- val %16.11 = Subassign2_1D %16.10, %16.6, %16.8, e0.2
- void StVar array, %16.11, e0.2
- goto BB9
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+273: [%8.1, %8.2, %9.3, %14.2], env=e0.2
- void Deopt %15.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Move environment creation as far as possible: == 106
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB18 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB18
- cls %18.0 = LdFun c, e0.2
- prom %18.1 = MkArg missing, Prom(4), e0.2
- fs %18.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %18.3 = Call %18.0(%18.1) %18.2, e0.2
- goto BB19
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB19
- val^ %19.0 = Phi %9.0:BB17, %18.3:BB18
- val %19.1 = Force %19.0, e0.2
- void Return %19.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = SetShared %5.5
- void StVar array, %5.5, e0.2
- real$' %6.2 = LdConst [1] 1
- real$' %6.3 = LdConst [1] 4
- cp %6.4 = Checkpoint -> BB8 (by default) | BB7 (if coming from expect)
- BB8
- val' %8.0 = Colon %6.2, %6.3, elided
- val' %8.1 = SetShared %8.0
- int$' %8.2 = ForSeqSize %8.1
- int$' %8.3 = LdConst [1] 0
- goto BB9
- BB7
- fs %7.0 = FrameState 0x7f924457f3d0+192: [%6.2, %6.3], env=e0.2
- void Deopt %7.0
- BB9
- val %9.0 = Phi %5.5:BB6, %16.11:BB16
- int$' %9.1 = Phi %8.3:BB8, %9.3:BB16
- int$' %9.2 = Inc %9.1
- int$' %9.3 = EnsureNamed %9.2
- cp %9.4 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- lgl' %11.0 = Lt %8.2, %9.3, elided
- t %11.1 = AsTest %11.0
- void Branch %11.1 -> BB17 (if true) | BB12 (if false)
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+203: [%8.1, %8.2, %9.3, %8.2, %9.3], env=e0.2
- void Deopt %10.0
- BB17
- goto BB19
- BB12
- cp %12.0 = Checkpoint -> BB14 (by default) | BB13 (if coming from expect)
- BB14
- val$' %14.0 = Extract2_1D %8.1, %9.3, elided
- void StVar i, %14.0, e0.2
- cls %14.2 = LdFun buildTreeDepth, e0.2
- prom %14.3 = MkArg missing, Prom(2), e0.2
- prom %14.4 = MkArg missing, Prom(3), e0.2
- cp %14.5 = Checkpoint -> BB16 (by default) | BB15 (if coming from expect)
- BB13
- fs %13.0 = FrameState 0x7f924457f3d0+219: [%8.1, %8.2, %9.3, %8.1, %9.3], env=e0.2
- void Deopt %13.0
- BB16
- cls' %16.0 = LdConst function (depth, random) { if (d...
- t %16.1 = Identical %14.2, %16.0
- void Assume %16.1, %14.5
- fs %16.3 = FrameState 0x7f924457f3d0+290: [%8.1, %8.2, %9.3], env=e0.2
- val^ %16.4 = StaticCall buildTreeDepth[0x7f92446010b0](%14.3, %14.4) %16.3, e0.2
- val^? %16.5 = LdVar array, e0.2
- val %16.6 = Force %16.5, e0.2
- val^? %16.7 = LdVar i, e0.2
- val %16.8 = Force %16.7, e0.2
- val^ %16.9 = EnsureNamed %16.4
- val %16.10 = Force %16.9, e0.2
- val %16.11 = Subassign2_1D %16.10, %16.6, %16.8, e0.2
- void StVar array, %16.11, e0.2
- goto BB9
- BB15
- fs %15.0 = FrameState 0x7f924457f3d0+273: [%8.1, %8.2, %9.3, %14.2], env=e0.2
- void Deopt %15.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Cleanup redundant operations: == 113
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Inline closures: == 120
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Inline Promises: == 127
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Scope resolution: == 134
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Constant folding: == 141
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Cleanup redundant operations: == 148
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- real$' %5.0 = LdConst [1] 4
- cls' %5.1 = LdConst function (mode = "logical", length = ...
- t %5.2 = Identical %3.0, %5.1
- void Assume %5.2, %3.1
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.0)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Delay instructions: == 155
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Elide environments not needed: == 162
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Move environment creation as far as possible: == 169
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Cleanup redundant operations: == 176
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Inline closures: == 183
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Inline Promises: == 190
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Scope resolution: == 197
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Constant folding: == 204
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Cleanup redundant operations: == 211
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Delay instructions: == 218
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Elide environments not needed: == 225
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Move environment creation as far as possible: == 232
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Cleanup redundant operations: == 239
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Inline closures: == 246
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- lgl %2.0 = Eq %0.3, %0.4, e0.2
- lgl %2.1 = AsLogical %2.0
- t %2.2 = AsTest %2.1
- void Branch %2.2 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Speculate on values to elide environments: == 253
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- cp %5.9 = Checkpoint -> BB7 (by default) | BB6 (if coming from expect)
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB6
- fs %6.0 = FrameState 0x7f924457f3d0+192: [%5.7, %5.8], env=e0.2
- void Deopt %6.0
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- cp %8.4 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+203: [%7.1, %7.2, %8.3, %7.2, %8.3], env=e0.2
- void Deopt %9.0
- BB16
- goto BB18
- BB11
- cp %11.0 = Checkpoint -> BB13 (by default) | BB12 (if coming from expect)
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB12
- fs %12.0 = FrameState 0x7f924457f3d0+219: [%7.1, %7.2, %8.3, %7.1, %8.3], env=e0.2
- void Deopt %12.0
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- BB1
- fs %1.0 = FrameState 0x7f9247265858+32: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- cp %2.4 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- cp %4.3 = Checkpoint -> BB6 (by default) | BB5 (if coming from expect)
- BB3
- fs %3.0 = FrameState 0x7f9244580470+71: [%2.2, %2.3], env=e0.0
- void Deopt %3.0
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- BB5
- fs %5.0 = FrameState 0x7f9244580470+86: [%4.1, %4.2], env=e0.0
- void Deopt %5.0
- ├────── Cleanup unused checkpoints: == 260
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- goto BB7
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- goto BB10
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB16
- goto BB18
- BB11
- goto BB13
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB2
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- goto BB6
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- ├────── Inline Promises: == 267
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- goto BB7
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- goto BB10
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB16
- goto BB18
- BB11
- goto BB13
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB2
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- goto BB6
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- ├────── Scope resolution: == 274
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- goto BB7
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- goto BB10
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB16
- goto BB18
- BB11
- goto BB13
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB2
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- goto BB6
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- ├────── Constant folding: == 281
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB17 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB17
- cls %17.0 = LdFun c, e0.2
- prom %17.1 = MkArg missing, Prom(4), e0.2
- fs %17.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %17.3 = Call %17.0(%17.1) %17.2, e0.2
- goto BB18
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB18
- val^ %18.0 = Phi %8.0:BB16, %17.3:BB17
- val %18.1 = Force %18.0, e0.2
- void Return %18.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- goto BB7
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB7
- val' %7.0 = Colon %5.7, %5.8, elided
- val' %7.1 = SetShared %7.0
- int$' %7.2 = ForSeqSize %7.1
- int$' %7.3 = LdConst [1] 0
- goto BB8
- BB8
- val %8.0 = Phi %5.5:BB5, %15.11:BB15
- int$' %8.1 = Phi %7.3:BB7, %8.3:BB15
- int$' %8.2 = Inc %8.1
- int$' %8.3 = EnsureNamed %8.2
- goto BB10
- BB10
- lgl' %10.0 = Lt %7.2, %8.3, elided
- t %10.1 = AsTest %10.0
- void Branch %10.1 -> BB16 (if true) | BB11 (if false)
- BB16
- goto BB18
- BB11
- goto BB13
- BB13
- val$' %13.0 = Extract2_1D %7.1, %8.3, elided
- void StVar i, %13.0, e0.2
- cls %13.2 = LdFun buildTreeDepth, e0.2
- prom %13.3 = MkArg missing, Prom(2), e0.2
- prom %13.4 = MkArg missing, Prom(3), e0.2
- cp %13.5 = Checkpoint -> BB15 (by default) | BB14 (if coming from expect)
- BB15
- cls' %15.0 = LdConst function (depth, random) { if (d...
- t %15.1 = Identical %13.2, %15.0
- void Assume %15.1, %13.5
- fs %15.3 = FrameState 0x7f924457f3d0+290: [%7.1, %7.2, %8.3], env=e0.2
- val^ %15.4 = StaticCall buildTreeDepth[0x7f92446010b0](%13.3, %13.4) %15.3, e0.2
- val^? %15.5 = LdVar array, e0.2
- val %15.6 = Force %15.5, e0.2
- val^? %15.7 = LdVar i, e0.2
- val %15.8 = Force %15.7, e0.2
- val^ %15.9 = EnsureNamed %15.4
- val %15.10 = Force %15.9, e0.2
- val %15.11 = Subassign2_1D %15.10, %15.6, %15.8, e0.2
- void StVar array, %15.11, e0.2
- goto BB8
- BB14
- fs %14.0 = FrameState 0x7f924457f3d0+273: [%7.1, %7.2, %8.3, %13.2], env=e0.2
- void Deopt %14.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB2
- BB2
- val %2.0 = Sub %0.2, %0.3, e0.0
- void Return %2.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Force %2.2, e0.0
- val %4.1 = Mod %4.0, %2.3, e0.0
- real$' %4.2 = LdConst [1] 1
- goto BB6
- BB6
- val %6.0 = Add %4.1, %4.2, e0.0
- void Return %6.0
- ├────── Cleanup redundant operations: == 288
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB13 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB13
- cls %13.0 = LdFun c, e0.2
- prom %13.1 = MkArg missing, Prom(4), e0.2
- fs %13.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %13.3 = Call %13.0(%13.1) %13.2, e0.2
- goto BB14
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB14
- val^ %14.0 = Phi %6.0:BB12, %13.3:BB13
- val %14.1 = Force %14.0, e0.2
- void Return %14.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %11.11:BB11
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB11
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- goto BB7
- BB7
- lgl' %7.0 = Lt %5.11, %6.3, elided
- t %7.1 = AsTest %7.0
- void Branch %7.1 -> BB12 (if true) | BB8 (if false)
- BB12
- goto BB14
- BB8
- goto BB9
- BB9
- val$' %9.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %9.0, e0.2
- cls %9.2 = LdFun buildTreeDepth, e0.2
- prom %9.3 = MkArg missing, Prom(2), e0.2
- prom %9.4 = MkArg missing, Prom(3), e0.2
- cp %9.5 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- cls' %11.0 = LdConst function (depth, random) { if (d...
- t %11.1 = Identical %9.2, %11.0
- void Assume %11.1, %9.5
- fs %11.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %11.4 = StaticCall buildTreeDepth[0x7f92446010b0](%9.3, %9.4) %11.3, e0.2
- val^? %11.5 = LdVar array, e0.2
- val %11.6 = Force %11.5, e0.2
- val^? %11.7 = LdVar i, e0.2
- val %11.8 = Force %11.7, e0.2
- val^ %11.9 = EnsureNamed %11.4
- val %11.10 = Force %11.9, e0.2
- val %11.11 = Subassign2_1D %11.10, %11.6, %11.8, e0.2
- void StVar array, %11.11, e0.2
- goto BB6
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %9.2], env=e0.2
- void Deopt %10.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Delay instructions: == 295
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB13 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB13
- cls %13.0 = LdFun c, e0.2
- prom %13.1 = MkArg missing, Prom(4), e0.2
- fs %13.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %13.3 = Call %13.0(%13.1) %13.2, e0.2
- goto BB14
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB14
- val^ %14.0 = Phi %6.0:BB12, %13.3:BB13
- val %14.1 = Force %14.0, e0.2
- void Return %14.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %11.11:BB11
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB11
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- goto BB7
- BB7
- lgl' %7.0 = Lt %5.11, %6.3, elided
- t %7.1 = AsTest %7.0
- void Branch %7.1 -> BB12 (if true) | BB8 (if false)
- BB12
- goto BB14
- BB8
- goto BB9
- BB9
- val$' %9.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %9.0, e0.2
- cls %9.2 = LdFun buildTreeDepth, e0.2
- prom %9.3 = MkArg missing, Prom(2), e0.2
- prom %9.4 = MkArg missing, Prom(3), e0.2
- cp %9.5 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- cls' %11.0 = LdConst function (depth, random) { if (d...
- t %11.1 = Identical %9.2, %11.0
- void Assume %11.1, %9.5
- fs %11.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %11.4 = StaticCall buildTreeDepth[0x7f92446010b0](%9.3, %9.4) %11.3, e0.2
- val^? %11.5 = LdVar array, e0.2
- val %11.6 = Force %11.5, e0.2
- val^? %11.7 = LdVar i, e0.2
- val %11.8 = Force %11.7, e0.2
- val^ %11.9 = EnsureNamed %11.4
- val %11.10 = Force %11.9, e0.2
- val %11.11 = Subassign2_1D %11.10, %11.6, %11.8, e0.2
- void StVar array, %11.11, e0.2
- goto BB6
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %9.2], env=e0.2
- void Deopt %10.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Elide environments not needed: == 302
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB13 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB13
- cls %13.0 = LdFun c, e0.2
- prom %13.1 = MkArg missing, Prom(4), e0.2
- fs %13.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %13.3 = Call %13.0(%13.1) %13.2, e0.2
- goto BB14
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB14
- val^ %14.0 = Phi %6.0:BB12, %13.3:BB13
- val %14.1 = Force %14.0, e0.2
- void Return %14.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %11.11:BB11
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB11
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- goto BB7
- BB7
- lgl' %7.0 = Lt %5.11, %6.3, elided
- t %7.1 = AsTest %7.0
- void Branch %7.1 -> BB12 (if true) | BB8 (if false)
- BB12
- goto BB14
- BB8
- goto BB9
- BB9
- val$' %9.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %9.0, e0.2
- cls %9.2 = LdFun buildTreeDepth, e0.2
- prom %9.3 = MkArg missing, Prom(2), e0.2
- prom %9.4 = MkArg missing, Prom(3), e0.2
- cp %9.5 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- cls' %11.0 = LdConst function (depth, random) { if (d...
- t %11.1 = Identical %9.2, %11.0
- void Assume %11.1, %9.5
- fs %11.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %11.4 = StaticCall buildTreeDepth[0x7f92446010b0](%9.3, %9.4) %11.3, e0.2
- val^? %11.5 = LdVar array, e0.2
- val %11.6 = Force %11.5, e0.2
- val^? %11.7 = LdVar i, e0.2
- val %11.8 = Force %11.7, e0.2
- val^ %11.9 = EnsureNamed %11.4
- val %11.10 = Force %11.9, e0.2
- val %11.11 = Subassign2_1D %11.10, %11.6, %11.8, e0.2
- void StVar array, %11.11, e0.2
- goto BB6
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %9.2], env=e0.2
- void Deopt %10.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Move environment creation as far as possible: == 309
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB13 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB13
- cls %13.0 = LdFun c, e0.2
- prom %13.1 = MkArg missing, Prom(4), e0.2
- fs %13.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %13.3 = Call %13.0(%13.1) %13.2, e0.2
- goto BB14
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB14
- val^ %14.0 = Phi %6.0:BB12, %13.3:BB13
- val %14.1 = Force %14.0, e0.2
- void Return %14.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %11.11:BB11
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB11
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- goto BB7
- BB7
- lgl' %7.0 = Lt %5.11, %6.3, elided
- t %7.1 = AsTest %7.0
- void Branch %7.1 -> BB12 (if true) | BB8 (if false)
- BB12
- goto BB14
- BB8
- goto BB9
- BB9
- val$' %9.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %9.0, e0.2
- cls %9.2 = LdFun buildTreeDepth, e0.2
- prom %9.3 = MkArg missing, Prom(2), e0.2
- prom %9.4 = MkArg missing, Prom(3), e0.2
- cp %9.5 = Checkpoint -> BB11 (by default) | BB10 (if coming from expect)
- BB11
- cls' %11.0 = LdConst function (depth, random) { if (d...
- t %11.1 = Identical %9.2, %11.0
- void Assume %11.1, %9.5
- fs %11.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %11.4 = StaticCall buildTreeDepth[0x7f92446010b0](%9.3, %9.4) %11.3, e0.2
- val^? %11.5 = LdVar array, e0.2
- val %11.6 = Force %11.5, e0.2
- val^? %11.7 = LdVar i, e0.2
- val %11.8 = Force %11.7, e0.2
- val^ %11.9 = EnsureNamed %11.4
- val %11.10 = Force %11.9, e0.2
- val %11.11 = Subassign2_1D %11.10, %11.6, %11.8, e0.2
- void StVar array, %11.11, e0.2
- goto BB6
- BB10
- fs %10.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %9.2], env=e0.2
- void Deopt %10.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 316
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB12 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB12
- cls %12.0 = LdFun c, e0.2
- prom %12.1 = MkArg missing, Prom(4), e0.2
- fs %12.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %12.3 = Call %12.0(%12.1) %12.2, e0.2
- goto BB13
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB13
- val^ %13.0 = Phi %6.0:BB11, %12.3:BB12
- val %13.1 = Force %13.0, e0.2
- void Return %13.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %10.11:BB10
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB10
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB11 (if true) | BB7 (if false)
- BB11
- goto BB13
- BB7
- goto BB8
- BB8
- val$' %8.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %8.0, e0.2
- cls %8.2 = LdFun buildTreeDepth, e0.2
- prom %8.3 = MkArg missing, Prom(2), e0.2
- prom %8.4 = MkArg missing, Prom(3), e0.2
- cp %8.5 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- cls' %10.0 = LdConst function (depth, random) { if (d...
- t %10.1 = Identical %8.2, %10.0
- void Assume %10.1, %8.5
- fs %10.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %10.4 = StaticCall buildTreeDepth[0x7f92446010b0](%8.3, %8.4) %10.3, e0.2
- val^? %10.5 = LdVar array, e0.2
- val %10.6 = Force %10.5, e0.2
- val^? %10.7 = LdVar i, e0.2
- val %10.8 = Force %10.7, e0.2
- val^ %10.9 = EnsureNamed %10.4
- val %10.10 = Force %10.9, e0.2
- val %10.11 = Subassign2_1D %10.10, %10.6, %10.8, e0.2
- void StVar array, %10.11, e0.2
- goto BB6
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %8.2], env=e0.2
- void Deopt %9.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline closures: == 323
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB12 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB12
- cls %12.0 = LdFun c, e0.2
- prom %12.1 = MkArg missing, Prom(4), e0.2
- fs %12.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %12.3 = Call %12.0(%12.1) %12.2, e0.2
- goto BB13
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB13
- val^ %13.0 = Phi %6.0:BB11, %12.3:BB12
- val %13.1 = Force %13.0, e0.2
- void Return %13.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %10.11:BB10
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB10
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB11 (if true) | BB7 (if false)
- BB11
- goto BB13
- BB7
- goto BB8
- BB8
- val$' %8.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %8.0, e0.2
- cls %8.2 = LdFun buildTreeDepth, e0.2
- prom %8.3 = MkArg missing, Prom(2), e0.2
- prom %8.4 = MkArg missing, Prom(3), e0.2
- cp %8.5 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- cls' %10.0 = LdConst function (depth, random) { if (d...
- t %10.1 = Identical %8.2, %10.0
- void Assume %10.1, %8.5
- fs %10.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %10.4 = StaticCall buildTreeDepth[0x7f92446010b0](%8.3, %8.4) %10.3, e0.2
- val^? %10.5 = LdVar array, e0.2
- val %10.6 = Force %10.5, e0.2
- val^? %10.7 = LdVar i, e0.2
- val %10.8 = Force %10.7, e0.2
- val^ %10.9 = EnsureNamed %10.4
- val %10.10 = Force %10.9, e0.2
- val %10.11 = Subassign2_1D %10.10, %10.6, %10.8, e0.2
- void StVar array, %10.11, e0.2
- goto BB6
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %8.2], env=e0.2
- void Deopt %9.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline Promises: == 330
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB12 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB12
- cls %12.0 = LdFun c, e0.2
- prom %12.1 = MkArg missing, Prom(4), e0.2
- fs %12.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %12.3 = Call %12.0(%12.1) %12.2, e0.2
- goto BB13
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB13
- val^ %13.0 = Phi %6.0:BB11, %12.3:BB12
- val %13.1 = Force %13.0, e0.2
- void Return %13.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %10.11:BB10
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB10
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB11 (if true) | BB7 (if false)
- BB11
- goto BB13
- BB7
- goto BB8
- BB8
- val$' %8.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %8.0, e0.2
- cls %8.2 = LdFun buildTreeDepth, e0.2
- prom %8.3 = MkArg missing, Prom(2), e0.2
- prom %8.4 = MkArg missing, Prom(3), e0.2
- cp %8.5 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- cls' %10.0 = LdConst function (depth, random) { if (d...
- t %10.1 = Identical %8.2, %10.0
- void Assume %10.1, %8.5
- fs %10.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %10.4 = StaticCall buildTreeDepth[0x7f92446010b0](%8.3, %8.4) %10.3, e0.2
- val^? %10.5 = LdVar array, e0.2
- val %10.6 = Force %10.5, e0.2
- val^? %10.7 = LdVar i, e0.2
- val %10.8 = Force %10.7, e0.2
- val^ %10.9 = EnsureNamed %10.4
- val %10.10 = Force %10.9, e0.2
- val %10.11 = Subassign2_1D %10.10, %10.6, %10.8, e0.2
- void StVar array, %10.11, e0.2
- goto BB6
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %8.2], env=e0.2
- void Deopt %9.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Scope resolution: == 337
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB12 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB12
- cls %12.0 = LdFun c, e0.2
- prom %12.1 = MkArg missing, Prom(4), e0.2
- fs %12.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %12.3 = Call %12.0(%12.1) %12.2, e0.2
- goto BB13
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB13
- val^ %13.0 = Phi %6.0:BB11, %12.3:BB12
- val %13.1 = Force %13.0, e0.2
- void Return %13.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %10.11:BB10
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB10
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB11 (if true) | BB7 (if false)
- BB11
- goto BB13
- BB7
- goto BB8
- BB8
- val$' %8.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %8.0, e0.2
- cls %8.2 = LdFun buildTreeDepth, e0.2
- prom %8.3 = MkArg missing, Prom(2), e0.2
- prom %8.4 = MkArg missing, Prom(3), e0.2
- cp %8.5 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- cls' %10.0 = LdConst function (depth, random) { if (d...
- t %10.1 = Identical %8.2, %10.0
- void Assume %10.1, %8.5
- fs %10.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %10.4 = StaticCall buildTreeDepth[0x7f92446010b0](%8.3, %8.4) %10.3, e0.2
- val^? %10.5 = LdVar array, e0.2
- val %10.6 = Force %10.5, e0.2
- val^? %10.7 = LdVar i, e0.2
- val %10.8 = Force %10.7, e0.2
- val^ %10.9 = EnsureNamed %10.4
- val %10.10 = Force %10.9, e0.2
- val %10.11 = Subassign2_1D %10.10, %10.6, %10.8, e0.2
- void StVar array, %10.11, e0.2
- goto BB6
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %8.2], env=e0.2
- void Deopt %9.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Constant folding: == 344
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB12 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB12
- cls %12.0 = LdFun c, e0.2
- prom %12.1 = MkArg missing, Prom(4), e0.2
- fs %12.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %12.3 = Call %12.0(%12.1) %12.2, e0.2
- goto BB13
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB13
- val^ %13.0 = Phi %6.0:BB11, %12.3:BB12
- val %13.1 = Force %13.0, e0.2
- void Return %13.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %10.11:BB10
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB10
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB11 (if true) | BB7 (if false)
- BB11
- goto BB13
- BB7
- goto BB8
- BB8
- val$' %8.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %8.0, e0.2
- cls %8.2 = LdFun buildTreeDepth, e0.2
- prom %8.3 = MkArg missing, Prom(2), e0.2
- prom %8.4 = MkArg missing, Prom(3), e0.2
- cp %8.5 = Checkpoint -> BB10 (by default) | BB9 (if coming from expect)
- BB10
- cls' %10.0 = LdConst function (depth, random) { if (d...
- t %10.1 = Identical %8.2, %10.0
- void Assume %10.1, %8.5
- fs %10.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %10.4 = StaticCall buildTreeDepth[0x7f92446010b0](%8.3, %8.4) %10.3, e0.2
- val^? %10.5 = LdVar array, e0.2
- val %10.6 = Force %10.5, e0.2
- val^? %10.7 = LdVar i, e0.2
- val %10.8 = Force %10.7, e0.2
- val^ %10.9 = EnsureNamed %10.4
- val %10.10 = Force %10.9, e0.2
- val %10.11 = Subassign2_1D %10.10, %10.6, %10.8, e0.2
- void StVar array, %10.11, e0.2
- goto BB6
- BB9
- fs %9.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %8.2], env=e0.2
- void Deopt %9.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 351
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Delay instructions: == 358
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Elide environments not needed: == 365
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Move environment creation as far as possible: == 372
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 379
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline closures: == 386
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline Promises: == 393
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Scope resolution: == 400
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Constant folding: == 407
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 414
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Delay instructions: == 421
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Elide environments not needed: == 428
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Move environment creation as far as possible: == 435
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 442
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline closures: == 449
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline Promises: == 456
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Scope resolution: == 463
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Constant folding: == 470
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 477
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Delay instructions: == 484
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Elide environments not needed: == 491
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Move environment creation as far as possible: == 498
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 505
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline closures: == 512
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Speculate on values to elide environments: == 519
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup unused checkpoints: == 526
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) %11.2, e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) %9.3, e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() %2.1, e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup framestates unused by checkpoints: == 533
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline Promises: == 540
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Scope resolution: == 547
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Constant folding: == 554
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- fs %11.2 = FrameState 0x7f924457f3d0+410: [], env=e0.2
- val^ %11.3 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.3:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.11:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- fs %9.3 = FrameState 0x7f924457f3d0+290: [%5.10, %5.11, %6.3], env=e0.2
- val^ %9.4 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.5 = LdVar array, e0.2
- val %9.6 = Force %9.5, e0.2
- val^? %9.7 = LdVar i, e0.2
- val %9.8 = Force %9.7, e0.2
- val^ %9.9 = EnsureNamed %9.4
- val %9.10 = Force %9.9, e0.2
- val %9.11 = Subassign2_1D %9.10, %9.6, %9.8, e0.2
- void StVar array, %9.11, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 561
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Delay instructions: == 568
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Elide environments not needed: == 575
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Move environment creation as far as possible: == 582
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 589
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline closures: == 596
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline Promises: == 603
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Scope resolution: == 610
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Constant folding: == 617
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 624
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Delay instructions: == 631
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Elide environments not needed: == 638
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Move environment creation as far as possible: == 645
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 652
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline closures: == 659
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline Promises: == 666
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Scope resolution: == 673
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Constant folding: == 680
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 687
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Delay instructions: == 694
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Elide environments not needed: == 701
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Move environment creation as far as possible: == 708
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 715
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline closures: == 722
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline Promises: == 729
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Scope resolution: == 736
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Constant folding: == 743
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 750
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- real$' %5.3 = LdConst [1] 4
- str$' %5.4 = LdConst [1] "list"
- val %5.5 = CallSafeBuiltin vector(%5.4, %5.3)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 4
- real$' %5.8 = LdConst [1] 1
- val' %5.9 = Colon %5.8, %5.7, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Delay instructions: == 757
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Elide environments not needed: == 764
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Move environment creation as far as possible: == 771
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 778
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Inline closures: == 785
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Speculate on values to elide environments: == 792
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- ├────── Cleanup unused checkpoints: == 799
- test>buildTreeDepth@91[0x7f92445596d0]
- BB0
- val^ %0.0 = LdArg 0
- val^ %0.1 = LdArg 1
- env e0.2 = MkEnv depth=%0.0, random=%0.1, parent=?
- val %0.3 = Force! %0.0, e0.2
- real$' %0.4 = LdConst [1] 1
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = IsObject %0.3
- void AssumeNot %2.0, %0.5
- lgl' %2.2 = Eq %0.3, %0.4, elided
- lgl %2.3 = AsLogical %2.2
- t %2.4 = AsTest %2.3
- void Branch %2.4 -> BB11 (if true) | BB3 (if false)
- BB1
- fs %1.0 = FrameState 0x7f924457f3d0+58: [%0.3, %0.4], env=e0.2
- void Deopt %1.0
- BB11
- cls %11.0 = LdFun c, e0.2
- prom %11.1 = MkArg missing, Prom(4), e0.2
- val^ %11.2 = Call %11.0(%11.1) e0.2
- goto BB12
- BB3
- cls %3.0 = LdFun vector, e0.2
- cp %3.1 = Checkpoint -> BB5 (by default) | BB4 (if coming from expect)
- BB12
- val^ %12.0 = Phi %6.0:BB10, %11.2:BB11
- val %12.1 = Force %12.0, e0.2
- void Return %12.1
- BB5
- cls' %5.0 = LdConst function (mode = "logical", length = ...
- t %5.1 = Identical %3.0, %5.0
- void Assume %5.1, %3.1
- str$' %5.3 = LdConst [1] "list"
- real$' %5.4 = LdConst [1] 4
- val %5.5 = CallSafeBuiltin vector(%5.3, %5.4)
- void StVar array, %5.5, e0.2
- real$' %5.7 = LdConst [1] 1
- real$' %5.8 = LdConst [1] 4
- val' %5.9 = Colon %5.7, %5.8, elided
- val' %5.10 = SetShared %5.9
- int$' %5.11 = ForSeqSize %5.10
- int$' %5.12 = LdConst [1] 0
- goto BB6
- BB4
- fs %4.0 = FrameState 0x7f924457f3d0+113: [%3.0], env=e0.2
- void Deopt %4.0
- BB6
- val %6.0 = Phi %5.5:BB5, %9.10:BB9
- int$' %6.1 = Phi %5.12:BB5, %6.3:BB9
- int$' %6.2 = Inc %6.1
- int$' %6.3 = EnsureNamed %6.2
- lgl' %6.4 = Lt %5.11, %6.3, elided
- t %6.5 = AsTest %6.4
- void Branch %6.5 -> BB10 (if true) | BB7 (if false)
- BB10
- goto BB12
- BB7
- val$' %7.0 = Extract2_1D %5.10, %6.3, elided
- void StVar i, %7.0, e0.2
- cls %7.2 = LdFun buildTreeDepth, e0.2
- prom %7.3 = MkArg missing, Prom(2), e0.2
- prom %7.4 = MkArg missing, Prom(3), e0.2
- cp %7.5 = Checkpoint -> BB9 (by default) | BB8 (if coming from expect)
- BB9
- cls' %9.0 = LdConst function (depth, random) { if (d...
- t %9.1 = Identical %7.2, %9.0
- void Assume %9.1, %7.5
- val^ %9.3 = StaticCall buildTreeDepth[0x7f92446010b0](%7.3, %7.4) e0.2
- val^? %9.4 = LdVar array, e0.2
- val %9.5 = Force %9.4, e0.2
- val^? %9.6 = LdVar i, e0.2
- val %9.7 = Force %9.6, e0.2
- val^ %9.8 = EnsureNamed %9.3
- val %9.9 = Force %9.8, e0.2
- val %9.10 = Subassign2_1D %9.9, %9.5, %9.7, e0.2
- void StVar array, %9.10, e0.2
- goto BB6
- BB8
- fs %8.0 = FrameState 0x7f924457f3d0+273: [%5.10, %5.11, %6.3, %7.2], env=e0.2
- void Deopt %8.0
- Prom 2:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar depth, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1
- goto BB1
- BB1
- val %1.0 = Sub %0.2, %0.3, e0.0
- void Return %1.0
- Prom 3:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar random, e0.0
- val %0.2 = Force %0.1, e0.0
- void Return %0.2
- Prom 4:
- BB0
- env e0.0 = LdFunctionEnv
- cls %0.1 = LdFun nextRandom, e0.0
- cls' %0.2 = LdConst function () { seed <<- bitwAnd((...
- t %0.3 = Identical %0.1, %0.2
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.3, %0.4
- fs %2.1 = FrameState 0x7f9244580470+57: [], env=e0.0
- val^ %2.2 = StaticCall nextRandom[0x7f9244606500]() e0.0
- real$' %2.3 = LdConst [1] 10
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f9244580470+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = Force %2.2, e0.0
- val %3.1 = Mod %3.0, %2.3, e0.0
- real$' %3.2 = LdConst [1] 1
- goto BB4
- BB4
- val %4.0 = Add %3.1, %3.2, e0.0
- void Return %4.0
- │ test>buildTreeDepth@91[0x7f92445596d0] │
- └──────────────────────────────────────────────────────────────────────────────┘
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ test>nextRandom@53[0x7f9244559020] │
- ├────── Inline Promises: == 5
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %0.6 = Identical %0.1, %0.5
- cp %0.7 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.6, %0.7
- fs %1.1 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %1.2 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %1.1, e0.0
- val^ %1.3 = SetShared %1.2
- val %1.4 = Force %1.3, e0.0
- void StVarSuper seed, %1.4, e0.0
- val^? %1.6 = LdVar seed, e0.0
- val %1.7 = Force %1.6, e0.0
- void Return %1.7
- BB2
- fs %2.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %2.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- cp %1.2 = Checkpoint -> BB3 (by default) | BB4 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Add %1.0, %1.1, e0.0
- void Return %3.0
- BB4
- fs %4.0 = FrameState 0x7f92445874c0+74: [%1.0, %1.1], env=e0.0
- void Deopt %4.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Scope resolution: == 12
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %0.6 = Identical %0.1, %0.5
- cp %0.7 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.6, %0.7
- fs %1.1 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %1.2 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %1.1, e0.0
- val^ %1.3 = SetShared %1.2
- val %1.4 = Force %1.3, e0.0
- void StVarSuper seed, %1.4, e0.0
- val^? %1.6 = LdVar seed, e0.0
- val %1.7 = Force %1.6, e0.0
- void Return %1.7
- BB2
- fs %2.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %2.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- cp %1.2 = Checkpoint -> BB3 (by default) | BB4 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Add %1.0, %1.1, e0.0
- void Return %3.0
- BB4
- fs %4.0 = FrameState 0x7f92445874c0+74: [%1.0, %1.1], env=e0.0
- void Deopt %4.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Constant folding: == 19
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %0.6 = Identical %0.1, %0.5
- cp %0.7 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- void Assume %0.6, %0.7
- fs %1.1 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %1.2 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %1.1, e0.0
- val^ %1.3 = SetShared %1.2
- val %1.4 = Force %1.3, e0.0
- void StVarSuper seed, %1.4, e0.0
- val^? %1.6 = LdVar seed, e0.0
- val %1.7 = Force %1.6, e0.0
- void Return %1.7
- BB2
- fs %2.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %2.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB1 (by default) | BB2 (if coming from expect)
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- cp %1.2 = Checkpoint -> BB3 (by default) | BB4 (if coming from expect)
- BB2
- fs %2.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %2.0
- BB3
- val %3.0 = Add %1.0, %1.1, e0.0
- void Return %3.0
- BB4
- fs %4.0 = FrameState 0x7f92445874c0+74: [%1.0, %1.1], env=e0.0
- void Deopt %4.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Cleanup redundant operations: == 26
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %0.6 = Identical %0.1, %0.5
- cp %0.7 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- void Assume %0.6, %0.7
- fs %2.1 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %2.2 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %2.1, e0.0
- val^ %2.3 = SetShared %2.2
- val %2.4 = Force %2.3, e0.0
- void StVarSuper seed, %2.4, e0.0
- val^? %2.6 = LdVar seed, e0.0
- val %2.7 = Force %2.6, e0.0
- void Return %2.7
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Delay instructions: == 33
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %2.3 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %2.2, e0.0
- val^ %2.4 = SetShared %2.3
- val %2.5 = Force %2.4, e0.0
- void StVarSuper seed, %2.5, e0.0
- val^? %2.7 = LdVar seed, e0.0
- val %2.8 = Force %2.7, e0.0
- void Return %2.8
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Elide environments not needed: == 40
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %2.3 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %2.2, e0.0
- val^ %2.4 = SetShared %2.3
- val %2.5 = Force %2.4, e0.0
- void StVarSuper seed, %2.5, e0.0
- val^? %2.7 = LdVar seed, e0.0
- val %2.8 = Force %2.7, e0.0
- void Return %2.8
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Move environment creation as far as possible: == 47
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %2.3 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %2.2, e0.0
- val^ %2.4 = SetShared %2.3
- val %2.5 = Force %2.4, e0.0
- void StVarSuper seed, %2.5, e0.0
- val^? %2.7 = LdVar seed, e0.0
- val %2.8 = Force %2.7, e0.0
- void Return %2.8
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Cleanup redundant operations: == 54
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- val^ %2.3 = StaticCall bitwAnd[0x7f92445706c0](%0.2, %0.4) %2.2, e0.0
- val^ %2.4 = SetShared %2.3
- val %2.5 = Force %2.4, e0.0
- void StVarSuper seed, %2.5, e0.0
- val^? %2.7 = LdVar seed, e0.0
- val %2.8 = Force %2.7, e0.0
- void Return %2.8
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Inline closures: == 61
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val^? %4.0 = CastType %0.2
- val^? %4.1 = CastType %0.4
- env e4.2 = MkEnv a=%4.0, b=%4.1, parent=<environment: namespace:base>
- val %4.3 = Force %4.0, e4.2
- val^? %4.4 = LdVar b, e4.2
- val %4.5 = Force %4.4, e4.2
- val^ %4.6 = CallBuiltin bitwiseAnd(%4.3, %4.5) e4.2
- val %4.7 = Force %4.6, e4.2
- goto BB3
- BB3
- val^ %3.0 = SetShared %4.7
- val %3.1 = Force %3.0, e0.0
- void StVarSuper seed, %3.1, e0.0
- val^? %3.3 = LdVar seed, e0.0
- val %3.4 = Force %3.3, e0.0
- void Return %3.4
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Inline Promises: == 68
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val^? %4.0 = CastType %0.2
- env e4.1 = MkEnv a=%4.0, b=%0.3, parent=<environment: namespace:base>
- val %4.2 = Force! %4.0, e4.1
- val^? %4.3 = LdVar b, e4.1
- val %4.4 = Force %4.3, e4.1
- val^ %4.5 = CallBuiltin bitwiseAnd(%4.2, %4.4) e4.1
- val %4.6 = Force %4.5, e4.1
- goto BB3
- BB3
- val^ %3.0 = SetShared %4.6
- val %3.1 = Force %3.0, e0.0
- void StVarSuper seed, %3.1, e0.0
- val^? %3.3 = LdVar seed, e0.0
- val %3.4 = Force %3.3, e0.0
- void Return %3.4
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Scope resolution: == 75
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val^? %4.0 = CastType %0.2
- env e4.1 = MkEnv a=%4.0, b=%0.3, parent=<environment: namespace:base>
- val %4.2 = Force! %4.0, e4.1
- val^ %4.3 = CallBuiltin bitwiseAnd(%4.2, %0.3) e4.1
- val %4.4 = Force %4.3, e4.1
- goto BB3
- BB3
- val^ %3.0 = SetShared %4.4
- val %3.1 = Force %3.0, e0.0
- void StVarSuper seed, %3.1, e0.0
- val^? %3.3 = LdVar seed, e0.0
- val %3.4 = Force %3.3, e0.0
- void Return %3.4
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Constant folding: == 82
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- prom %0.4 = MkArg %0.3, Prom(1), e0.0
- cls' %0.5 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.6 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.5
- void Assume %2.0, %0.6
- fs %2.2 = FrameState 0x7f924450b7b0+65: [], env=e0.0
- goto BB4
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB4
- val^? %4.0 = CastType %0.2
- env e4.1 = MkEnv a=%4.0, b=%0.3, parent=<environment: namespace:base>
- val %4.2 = Force! %4.0, e4.1
- val^ %4.3 = CallBuiltin bitwiseAnd(%4.2, %0.3) e4.1
- val %4.4 = Force %4.3, e4.1
- goto BB3
- BB3
- val^ %3.0 = SetShared %4.4
- val %3.1 = Force %3.0, e0.0
- void StVarSuper seed, %3.1, e0.0
- val^? %3.3 = LdVar seed, e0.0
- val %3.4 = Force %3.3, e0.0
- void Return %3.4
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- Prom 1:
- BB0
- env e0.0 = LdFunctionEnv
- real$' %0.1 = LdConst [1] 65535
- void Return %0.1
- ├────── Cleanup redundant operations: == 89
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cls' %0.4 = LdConst function (a, b) .Internal(bitwiseAnd...
- cp %0.5 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- t %2.0 = Identical %0.1, %0.4
- void Assume %2.0, %0.5
- val^? %2.2 = CastType %0.2
- env e2.3 = MkEnv a=%2.2, b=%0.3, parent=<environment: namespace:base>
- val %2.4 = Force! %2.2, e2.3
- val^ %2.5 = CallBuiltin bitwiseAnd(%2.4, %0.3) e2.3
- val %2.6 = Force %2.5, e2.3
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = SetShared %2.6
- void StVarSuper seed, %2.6, e0.0
- val^? %3.2 = LdVar seed, e0.0
- val %3.3 = Force %3.2, e0.0
- void Return %3.3
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Delay instructions: == 96
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = SetShared %2.7
- void StVarSuper seed, %2.7, e0.0
- val^? %3.2 = LdVar seed, e0.0
- val %3.3 = Force %3.2, e0.0
- void Return %3.3
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Elide environments not needed: == 103
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = SetShared %2.7
- void StVarSuper seed, %2.7, e0.0
- val^? %3.2 = LdVar seed, e0.0
- val %3.3 = Force %3.2, e0.0
- void Return %3.3
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Move environment creation as far as possible: == 110
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- goto BB3
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- BB3
- val %3.0 = SetShared %2.7
- void StVarSuper seed, %2.7, e0.0
- val^? %3.2 = LdVar seed, e0.0
- val %3.3 = Force %3.2, e0.0
- void Return %3.3
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Cleanup redundant operations: == 117
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Inline closures: == 124
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Inline Promises: == 131
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Scope resolution: == 138
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Constant folding: == 145
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Cleanup redundant operations: == 152
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Delay instructions: == 159
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Elide environments not needed: == 166
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Move environment creation as far as possible: == 173
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Cleanup redundant operations: == 180
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Inline closures: == 187
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Inline Promises: == 194
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Scope resolution: == 201
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Constant folding: == 208
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Cleanup redundant operations: == 215
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Delay instructions: == 222
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Elide environments not needed: == 229
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Move environment creation as far as possible: == 236
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Cleanup redundant operations: == 243
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Inline closures: == 250
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Speculate on values to elide environments: == 257
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- cp %2.2 = Checkpoint -> BB4 (by default) | BB3 (if coming from expect)
- BB1
- fs %1.0 = FrameState 0x7f92445874c0+58: [%0.2, %0.3], env=e0.0
- void Deopt %1.0
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- BB3
- fs %3.0 = FrameState 0x7f92445874c0+74: [%2.0, %2.1], env=e0.0
- void Deopt %3.0
- ├────── Cleanup unused checkpoints: == 264
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB2
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- goto BB4
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- ├────── Inline Promises: == 271
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB2
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- goto BB4
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- ├────── Scope resolution: == 278
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB2
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- goto BB4
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- ├────── Constant folding: == 285
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB2
- BB2
- val %2.0 = Mul %0.2, %0.3, e0.0
- real$' %2.1 = LdConst [1] 13849
- goto BB4
- BB4
- val %4.0 = Add %2.0, %2.1, e0.0
- void Return %4.0
- ├────── Cleanup redundant operations: == 292
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 299
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 306
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 313
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 320
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 327
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 334
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 341
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 348
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 355
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 362
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 369
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 376
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 383
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 390
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 397
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 404
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 411
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 418
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 425
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 432
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 439
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 446
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 453
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 460
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 467
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 474
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 481
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 488
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 495
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 502
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 509
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 516
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Speculate on values to elide environments: == 523
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup unused checkpoints: == 530
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup framestates unused by checkpoints: == 537
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 544
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 551
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 558
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 565
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 572
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 579
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 586
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 593
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 600
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 607
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 614
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 621
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 628
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 635
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 642
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 649
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 656
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 663
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 670
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 677
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 684
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 691
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 698
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 705
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 712
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 719
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 726
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline Promises: == 733
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Scope resolution: == 740
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Constant folding: == 747
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 754
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Delay instructions: == 761
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Elide environments not needed: == 768
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Move environment creation as far as possible: == 775
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup redundant operations: == 782
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Inline closures: == 789
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Speculate on values to elide environments: == 796
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- ├────── Cleanup unused checkpoints: == 803
- test>nextRandom@53[0x7f9244559020]
- BB0
- env e0.0 = MkEnv parent=?
- cls %0.1 = LdFun bitwAnd, e0.0
- prom %0.2 = MkArg missing, Prom(0), e0.0
- real$' %0.3 = LdConst [1] 65535
- cp %0.4 = Checkpoint -> BB2 (by default) | BB1 (if coming from expect)
- BB2
- cls' %2.0 = LdConst function (a, b) .Internal(bitwiseAnd...
- t %2.1 = Identical %0.1, %2.0
- void Assume %2.1, %0.4
- val^? %2.3 = CastType %0.2
- env e2.4 = MkEnv a=%2.3, b=%0.3, parent=<environment: namespace:base>
- val %2.5 = Force! %2.3, e2.4
- val^ %2.6 = CallBuiltin bitwiseAnd(%2.5, %0.3) e2.4
- val %2.7 = Force %2.6, e2.4
- void StVarSuper seed, %2.7, e0.0
- val^? %2.9 = LdVar seed, e0.0
- val %2.10 = Force %2.9, e0.0
- void Return %2.10
- BB1
- fs %1.0 = FrameState 0x7f924450b7b0+48: [%0.1], env=e0.0
- void Deopt %1.0
- Prom 0:
- BB0
- env e0.0 = LdFunctionEnv
- val^? %0.1 = LdVar seed, e0.0
- val %0.2 = Force %0.1, e0.0
- real$' %0.3 = LdConst [1] 1309
- goto BB1
- BB1
- val %1.0 = Mul %0.2, %0.3, e0.0
- real$' %1.1 = LdConst [1] 13849
- goto BB2
- BB2
- val %2.0 = Add %1.0, %1.1, e0.0
- void Return %2.0
- │ test>nextRandom@53[0x7f9244559020] │
- └──────────────────────────────────────────────────────────────────────────────┘
- function ()
- {
- seed <- 74755
- nextRandom <- function() {
- seed <<- bitwAnd((seed * 1309) + 13849, 65535)
- return(seed)
- }
- buildTreeDepth <- function(depth, random) {
- if (depth == 1) {
- return(c(nextRandom()%%10 + 1))
- }
- else {
- array <- vector("list", length = 4)
- for (i in 1:4) {
- array[[i]] <- buildTreeDepth(depth - 1, random)
- }
- return(array)
- }
- }
- buildTreeDepth(2, nextRandom())
- }
- <bytecode: 0x7f9247266118>
- >
Add Comment
Please, Sign In to add comment