Handbook
Glossary
branch-phi-constraints ( output values booleans -- )
Vocabulary
compiler
.
tree
.
propagation
.
branches
Inputs
output
an
object
values
an
object
booleans
an
object
Outputs
None
Definition
USING:
arrays
combinators
compiler.tree.propagation.constraints
kernel
namespaces
sequences
;
IN:
compiler.tree.propagation.branches
:
branch-phi-constraints
( output values booleans -- )
{
{
{
{
t
}
{
f
}
}
[
drop
condition-value
get
[
[
=t
]
[
=t
]
bi*
<-->
]
[
[
=f
]
[
=f
]
bi*
<-->
]
2bi
2array
]
}
{
{
{
f
}
{
t
}
}
[
drop
condition-value
get
[
[
=t
]
[
=f
]
bi*
<-->
]
[
[
=f
]
[
=t
]
bi*
<-->
]
2bi
2array
]
}
{
{
{
t
f
}
{
f
}
}
[
first
=t
condition-value
get
=t
2array
swap
t-->
]
}
{
{
{
f
}
{
t
f
}
}
[
second
=t
condition-value
get
=f
2array
swap
t-->
]
}
{
{
{
t
f
}
{
t
}
}
[
first
=f
condition-value
get
=t
2array
swap
f-->
]
}
{
{
{
t
}
{
t
f
}
}
[
second
=f
condition-value
get
=f
2array
swap
f-->
]
}
{
{
{
t
f
}
{
}
}
[
first
[
[
=t
]
bi@
<-->
]
[
[
=f
]
bi@
<-->
]
2bi
2array
0
include-child-constraints
]
}
{
{
{
}
{
t
f
}
}
[
second
[
[
=t
]
bi@
<-->
]
[
[
=f
]
bi@
<-->
]
2bi
2array
1
include-child-constraints
]
}
[
3drop
f
]
}
case
assume
;