# FullSimplify Produces Result that Includes Hold

Bug fixed in 10.2.0

In the course of developing a solution to Question 79183, I solved the equation

g[k2_] := (-510 k2 + (25761/4 - 6619 E^-k2) Log[26476/23721])/
(-k2 + Log[26476/23721])
ans = Solve[g[k2] == 0, k2, Reals][[1, 1, 2]]

(* 1/680 (17174 Log - 8587 Log + 8587 Log - 8587 Log +
680 ProductLog[-((10579732023355105126853211737189792087286301059526347
(23721/6619)^(427/680) (2 Log - Log + Log - Log))/
(6094176174584836754563581701959401731388819751567360 2^(87/340)))]) *)


and attempted to simplify it by

FullSimplify[ans]


However, the result included Hold,

(* 8587/680 Log[26476/23721] +
ProductLog[-((10579732023355105126853211737189792087286301059526347
Log[Hold[(26476/23721)^((23721/6619)^(427/680)/2^(87/340))]])/
6094176174584836754563581701959401731388819751567360) *)


and

ReleaseHold[%]


produced the error message,

\$IterationLimit::itlim: Iteration limit of 4096 exceeded. >>


without eliminating the Hold.

Surely, this is not proper behavior. I have tried many approaches to work around this issue, but only

Simplify[ans - ans[] ans[[2, 5]]] + Simplify[ans[] ans[[2, 5]]]


produced good results

(* 8587/680 Log[26476/23721] +
ProductLog[-((10579732023355105126853211737189792087286301059526347
(23721/6619)^(427/680) Log[26476/23721])/
(6094176174584836754563581701959401731388819751567360 2^(87/340)))]


Less satisfactory are results from

FullSimplify[ans, ComplexityFunction -> cf]


with

cf[e_] := ByteCount[e] + 100 Count[e, _Log, Infinity] +
100 Count[e, _ArcTanh, Infinity]


or

cf[e_] := LeafCount[e] + 100 Count[e, _Log, Infinity]


My questions are, how can I eliminate or avoid Hold from FullSimplify[ans]  and, if that is not possible, is there an easier way to simplify ans than splitting it and then applying Simplify to each half, as shown above?

• Offending expression: (26476/23721)^((23721/6619)^(427/680)/2^(87/340)) . Will investigate. – Daniel Lichtblau Apr 9 '15 at 2:46
• Simpler example: x^((5/3)^(23/28)/2^(1/14)). Trace show what appears to be an infinite loop in which the exponent by itself evaluates to one form while the full x^... evaluates to a form with the exponent in a different form. As if it cannot decide which form is simpler. – Michael E2 May 24 '15 at 22:41

This bug has been fixed as of version 10.2.0.

g[k2_] := (-510 k2 + (25761/4 - 6619 E^-k2) Log[26476/23721])/(-k2 +
Log[26476/23721])
ans = Solve[g[k2] == 0, k2, Reals][[1, 1, 2]];
FullSimplify[ans]

(* 8587/680 Log[26476/23721] +
ProductLog[-((
10579732023355105126853211737189792087286301059526347 (23721/
6619)^(427/680) Log[26476/23721])/(
6094176174584836754563581701959401731388819751567360 2^(87/340)))] *)

• Is there a workaround for previous versions? – Mr.Wizard Jul 21 '15 at 15:54
• I am not aware of any workaround for the underlying cause (arithmetic recursion). – ilian Jul 21 '15 at 16:04
• Okay; thank you. – Mr.Wizard Jul 21 '15 at 16:05