(([][()]){[{}({}[({})])]{{}()(<()>)}{}([][()])}<>)
Try it online!
Since everyone is posting their 50 byte solutions here is mine (I have a 48 byte one but it was a simple modification of DjMcMayhem's so I did feel it worth posting)
Explanation
This answer extensively uses value canceling.
Un-golfed it looks like
([][()])({<{}({}[({})])>{<{}>()(<()>)}{}<([][()])>}<>)
Here we compute the delta's until the stack has one item left, each time we accumulate one value from the inner loop if the delta is non zero.
This is a pretty straight forward way of doing it.
To make this golfy we begin value canceling. The first one and the one that should be obvious to any hardened brain-flak golfer is the stack heights. It is a well known fact that
([])({<{}>...<([])>}{})
is the same as
(([]){[{}]...([])}{})
When the values are modified by one, the same holds. This gives us
(([][()]){[{}]<({}[({})])>{<{}>()(<()>)}{}([][()])}<>)
You may notice this didn't even save us bytes, but don't fret it will become more useful as we go on.
We can perform another reduction, if you see a statement
<(...)>{<{}> ...
you can actually reduce it to
[(...)]{{} ...
This works because if we enter the loop [(...)]
and {}
will cancel, and if we don't the value of [(...)]
already was zero in the first place and doesn't need to be canceled. Since we have an occurrence of this pattern in our code we can reduce it.
(([][()]){[{}][({}[({})])]{{}()(<()>)}{}([][()])}<>)
That saved us 2 bytes but it also put two negs next to each other. These can be combined to save us another 2.
(([][()]){[{}({}[({})])]{{}()(<()>)}{}([][()])}<>)
And that's our code.
False
viene invece stampato?