You are not. Due to the terrain generator's nature as a massively SIMD virtual machine, it does not support lazily-evaluated function calls or if-else chains, meaning that every subexpression needs to be evaluated for each point on the map. Adding procedure delimiters probably won't help much in this case, since that only deduplicates the work of identical expressions across different named noise expressions (within one, identical subexpressions are automatically detected and only calculated once).
I can imagine solutions involving new, table-backed expression types, similar to spot noise, but that may have to wait until Factorio gets open-sourced (or someone gets me source access and a long vacation. )