solidity/test/libyul/yulOptimizerTests/functionSpecializer/recursion.yul

35 lines
622 B
Plaintext
Raw Normal View History

2020-11-26 17:52:25 +00:00
{
sstore(0, fib(8))
function fib(i) -> y
{
y := 1
if gt(i, 2)
{
y := add(fib(sub(i, 1)), fib(sub(i, 2)))
}
}
}
// ----
// step: functionSpecializer
//
// {
// sstore(0, fib_1())
// function fib_1() -> y_2
// {
// let i_3 := 8
// y_2 := 1
// if gt(i_3, 2)
// {
// y_2 := add(fib(sub(i_3, 1)), fib(sub(i_3, 2)))
// }
// }
// function fib(i) -> y
// {
// y := 1
// if gt(i, 2)
// {
// y := add(fib(sub(i, 1)), fib(sub(i, 2)))
// }
// }
// }