def root_exp(x): """ helper for hadamard decomp. """ return jnp.sqrt(exp(x))
def bottom(x): """ helper for hadamard decomp. """ return jnp.sqrt(exp_min_1(x) * under_right(x))
def in_the_arc(x): """ helper for hadamard decomp. """ return -2 / (jnp.sqrt(3 + jnp.cos(pi * x)))
def under_right(x): """ helper for hadamard decomp. """ return 3 + 2 * jnp.sqrt(2) + exp(x)
def in_the_arc(x): return -2 / (jnp.sqrt(3 + jnp.cos(pi * x)))
def bottom(x): return jnp.sqrt(exp_min_1(x) * under_right(x))
def under_right(x): return 3 + 2 * jnp.sqrt(2) + exp(x)
def root_exp(x): return jnp.sqrt(exp(x))