Why is the function evaluation with more allocations faster?

Interesting. How can you tell that exp and log are are inlined? I know you can use @code_typed to check inlining for a function you wrote, but does it work for special functions too?

When I call @code_llvm on f(x), I get (buried within the output)

                 %55 = call double @j_log_609(double %52)
                  ...(some broadcast output here)
                 %56 = call double @j_exp_610(double %55)

while for h(x), I get

               %55 = call double @j_log_615(double %52)
               %56 = call double @j_exp_616(double %55)

I’m not sure how to conclude that one function is inlined and the other isn’t based on @code_llvm output.