Consider
fun = a+b+c+d/e
If we want to get the number of summands, we can use Length[fun], which properly gives 5 in this case. However, if fun contains only a single term
fun = d/e
Then applying Length[fun] gives 2 since now it actually counts the number of terms in the multiplication instead of summation.
Therefore, Length is rather a hack than an actually reliable function to get the number of summands. Is there an efficient function that returns the number of summands reliably?
Cos[a + b] + Sin[c + d]? And in this case, is the answer 2? – march Dec 03 '15 at 17:04(a + b)^2be treated as having length 1 or length 3? (i.e should the expressions be expanded as much as possible before calculating a length?) – march Dec 03 '15 at 17:07fun//Expand. Otherwise the summand counting function will probably get really slow. – Kagaratsch Dec 03 '15 at 17:09