Consider regular expressions on some alphabet $\Sigma$, without the empty word: $$e,f:=a\in\Sigma\mid e\cdot f \mid e+f\mid e^+$$
These $\varepsilon$⁻free expressions can define all regular languages that do not contain the empty word ($\varepsilon$-free languages). Does it come at a cost in terms of expression size ? In particular, is there an exponential blow-up for translating a classical regular expression (with $\varepsilon$), that accepts an $\varepsilon$-free language, into an $\varepsilon$-free expression?
It could seem that for instance the expression $a_0(a_1+\varepsilon)(a_2+\varepsilon)(a_3+\varepsilon)\dots(a_n+\varepsilon)$ would require such an exponential blow-up. But actually it looks like we can use a recursive algorithm that splits the product in the middle, computes expressions $e,f$ for $(a_1+\varepsilon)\dots(a_{n/2}+\varepsilon)$ and $(a_{n/2+1}+\varepsilon)\dots(a_n+\varepsilon)$ respectively, and returns $(e+f+e\cdot f)$. This will produce an expression $E$ of quadratic size only, and we can return $a_0+a_0E$.
It seems non-trivial however to generalize this idea to any input expression, if possible.
Do you know of any reference on the subject?