<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>MaplePrimes - comments on Post, One more argument for long double</title>
    <link>http://www.mapleprimes.com/posts/130249-One-More-Argument-For-Long-Double</link>
    <language>en-us</language>
    <copyright>2026 Maplesoft, A Division of Waterloo Maple Inc.</copyright>
    <generator>Maplesoft Document System</generator>
    <lastBuildDate>Wed, 10 Jun 2026 21:00:13 GMT</lastBuildDate>
    <pubDate>Wed, 10 Jun 2026 21:00:13 GMT</pubDate>
    <itunes:subtitle />
    <itunes:summary />
    <description>The latest comments added to the Post, One more argument for long double</description>
    <image>
      <url>http://www.mapleprimes.com/images/mapleprimeswhite.jpg</url>
      <title>MaplePrimes - comments on Post, One more argument for long double</title>
      <link>http://www.mapleprimes.com/posts/130249-One-More-Argument-For-Long-Double</link>
    </image>
    <item>
      <title>DBL_MIN, DBL_MAX</title>
      <link>http://www.mapleprimes.com/posts/130249-One-More-Argument-For-Long-Double?ref=Feed:MaplePrimes:One more argument for long double:Comments#comment130254</link>
      <itunes:summary>&lt;pre&gt;I do not understand your sheet in detail, but before the final section&lt;br&gt;you say the error comes by &lt;strong&gt;L&lt;/strong&gt;DBL_MIN, &lt;strong&gt;L&lt;/strong&gt;DBL_MAX&lt;/pre&gt;
&lt;pre&gt;Note, that evalhf is not even IEEE compliant. Using Digits:=18 and Maple 15: &lt;/pre&gt;
&lt;pre&gt;DBL_MIN; evalhf(%);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -307&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.00000010000000001 10&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;&lt;br&gt;DBL_MAX; evalhf(%);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 307&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9.9999999000000002 10&amp;nbsp; &amp;nbsp;&lt;br&gt;&lt;br&gt;The first is 5060056838688399/9007199254740992*pow(2,-1019),&lt;br&gt;and the last 5010420849918223/9007199254740992*pow(2,+1024)&lt;br&gt;&lt;br&gt;But DBL_EPSILON is correct (have not checked other constants.&lt;br&gt;&lt;br&gt;I think there have been posts by 'acer' about that.&lt;/pre&gt;</itunes:summary>
      <description>The latest comments added to the Post, One more argument for long double</description>
      <guid>130254</guid>
      <pubDate>Wed, 01 Feb 2012 23:39:28 Z</pubDate>
      <itunes:author>Axel Vogt</itunes:author>
      <author>Axel Vogt</author>
    </item>
    <item>
      <title>of course, DBL_MIN, DBL_MAX</title>
      <link>http://www.mapleprimes.com/posts/130249-One-More-Argument-For-Long-Double?ref=Feed:MaplePrimes:One more argument for long double:Comments#comment130260</link>
      <itunes:summary>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/posts/130249-One-More-Argument-For-Long-Double#comment130254"&gt;@Axel Vogt&lt;/a&gt; , oh, of course&lt;/p&gt;
&lt;pre&gt;&lt;strong&gt;&lt;/strong&gt;DBL_MIN, &lt;strong&gt;&lt;/strong&gt;DBL_MAX because we have double calculation for now. Thank you. &lt;br&gt;&lt;br&gt;About sheet... It's, of course, rather a piece of main sheet. Purpose - fastest calculation of FMain.&lt;br&gt;So, keys to do so&lt;br&gt;1) All calculations are in &lt;strong&gt;evalhf&lt;/strong&gt; environment&lt;br&gt;2) For noncalculable in &lt;strong&gt;evalhf&lt;/strong&gt; functions create callback to evalf to calculate them too. &lt;br&gt;3) Precision of &lt;strong&gt;eval/evalf&lt;/strong&gt; environment could variate to do best fit in precision/time of calculation (&lt;em&gt;eval_callback_toler&lt;/em&gt; variable)&lt;br&gt;4) If arguments are close enought to calculated before - function value simply retrieved from cache.&lt;br&gt;For now it's simply=7 (map(proc() evalf[7](args); end proc, func))&lt;br&gt;5) All variables in FMain, created in symbolical stage when this FMain was formed, are packed in &lt;em&gt;hfarray&lt;/em&gt;&lt;br&gt;&amp;nbsp;(it seems to be little bit faster than packing them into simply array, what `&lt;em&gt;codegen/packlocals&lt;/em&gt;` do).&lt;br&gt;&lt;br&gt;And main drawback are round-offs... And if i satisfied with &lt;strong&gt;eval&lt;/strong&gt; environment (so far, &lt;br&gt;if you know method to create NonEvalhfCacheWithRemember even faster, i would appreciate;&lt;br&gt;my simple profiler shows that in this case of LerchPhi NonEvalhfCacheWithRemember takes 30% more to &lt;br&gt;cache/retrieve values),&lt;br&gt;there are still many nuances in &lt;strong&gt;evalhf&lt;/strong&gt; itself, includding those overflows...With long double situation should be&lt;br&gt;only little bit slower but defenetly better. Without them... I actually  don't know how to calculate this one in&lt;br&gt;fast way and prevent at least those unnecessarry errors. I completly understand why calculation take such strategy.&lt;br&gt;I beleive that  '&lt;em&gt;codegen/optimize&lt;/em&gt;' within other things just minimizes division operations =&amp;gt; &lt;br&gt;both numerator and denominator become big out of DBL_MAX.&lt;/pre&gt;</itunes:summary>
      <description>The latest comments added to the Post, One more argument for long double</description>
      <guid>130260</guid>
      <pubDate>Thu, 02 Feb 2012 03:48:54 Z</pubDate>
      <itunes:author>icegood</itunes:author>
      <author>icegood</author>
    </item>
    <item>
      <title>More or less (but vaguely) I understand</title>
      <link>http://www.mapleprimes.com/posts/130249-One-More-Argument-For-Long-Double?ref=Feed:MaplePrimes:One more argument for long double:Comments#comment130293</link>
      <itunes:summary>&lt;pre&gt;More or less (but vaguely) I understand: &lt;br&gt;&lt;br&gt;NonEvalhfCacheWithRemember is a kind of test-evaluation for evalhf.&lt;br&gt;&lt;br&gt;I do not have a feeling, where those problem may come from the code or how&lt;br&gt;to improve it, since I guess your FMain is an example (otherwise you would&lt;br&gt;have treated the 2 occurrencies of LerchPhi in a different way.&lt;br&gt;&lt;br&gt;And for that example I would have tried with 'option hfloat'.&lt;br&gt;&lt;br&gt;I guess it is part of your efforts to use evalhf for non-evalhf'able functions&lt;br&gt;in a seemingless way?&lt;br&gt;&lt;br&gt;&lt;strong&gt;Edited&lt;/strong&gt; (about 1 hour later) for the following:&lt;br&gt;&lt;br&gt;I think the 'correct' value for lpu=200,lpv=100,lpw=1 is&lt;br&gt;-.130870138625117831910143506853e-7&lt;br&gt;&lt;br&gt;For that I used Digits=30, took the 'body' in your FMain to get the&lt;br&gt;final expression, converted to rational and evaluated the input&lt;br&gt;with Digits=300 (and the usual LerchPhi without the construction)&lt;br&gt;&lt;br&gt;So there is a cancellation problem in both evalf and evalhf, if the&lt;br&gt;digits are too low (may be towards your guess on rationals and&lt;br&gt;differences).&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/pre&gt;</itunes:summary>
      <description>The latest comments added to the Post, One more argument for long double</description>
      <guid>130293</guid>
      <pubDate>Fri, 03 Feb 2012 00:11:31 Z</pubDate>
      <itunes:author>Axel Vogt</itunes:author>
      <author>Axel Vogt</author>
    </item>
    <item>
      <title>Problem is other one</title>
      <link>http://www.mapleprimes.com/posts/130249-One-More-Argument-For-Long-Double?ref=Feed:MaplePrimes:One more argument for long double:Comments#comment130305</link>
      <itunes:summary>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/posts/130249-One-More-Argument-For-Long-Double#comment130293"&gt;@Axel Vogt&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Forget for one minute about all that callback stuff. I'm totally satisfied with round-off value, i don't need exact otherwise calculation will be too slow because LerchPhi is slow itself.&lt;/p&gt;
&lt;p&gt;For exact value in this example you can apply&lt;/p&gt;
&lt;p&gt;MakeExactEvalfProc:=proc(p::procedure)&lt;br&gt;&amp;nbsp; local lv:=convert(eval(p),list), arrdim:=eval(op(2,op(2,(op(2,lv[1]))))),arrname:=eval(op(op(2,eval(p))));&lt;br&gt;&amp;nbsp; lv := eval(subsop(1 = 'arrname = 'Array'(1 .. arrdim)', lv));&lt;br&gt;&amp;nbsp; lv:=`codegen/makeproc`(lv,locals=[arrname],parameters=[op(1,eval(p))]);&lt;br&gt;&amp;nbsp; return eval(lv);&lt;br&gt;end proc:&lt;/p&gt;
&lt;p&gt;on FMain as parameter. Sorry that you waste your time on this.&lt;/p&gt;
&lt;p&gt;-------------------&lt;/p&gt;
&lt;p&gt;Let's consider much simpler example:&lt;/p&gt;
&lt;p&gt;p:=proc(x) local larr; larr:=Array(1..3); larr[1]:=x; larr[2]:=larr[1]*larr[1]; larr[3]:=larr[2]/x; end proc;&lt;/p&gt;
&lt;p&gt;Even with Digits=10 evalf(p(10^180)) returns correct value 10^180 while&lt;/p&gt;
&lt;p&gt;evalhf(p(10^180)) returns Float(infinity). And with former example i showed that&amp;nbsp; it's not enough to have&amp;nbsp;double precision for practical functions while software floats are great in that sense that they not seem to have bounds for exponenta, i.e. Digits applicable for mantissa only. &lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, One more argument for long double</description>
      <guid>130305</guid>
      <pubDate>Fri, 03 Feb 2012 15:46:39 Z</pubDate>
      <itunes:author>icegood</itunes:author>
      <author>icegood</author>
    </item>
    <item>
      <title>now i got it</title>
      <link>http://www.mapleprimes.com/posts/130249-One-More-Argument-For-Long-Double?ref=Feed:MaplePrimes:One more argument for long double:Comments#comment130310</link>
      <itunes:summary>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/posts/130249-One-More-Argument-For-Long-Double#comment130305"&gt;@icegood&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now I got it.&lt;/p&gt;
&lt;p&gt;So besides the precision problem with evalhf you&lt;br&gt;would appreciate a &lt;strong&gt;fast&lt;/strong&gt; numerical LerchPhi?&lt;/p&gt;
&lt;p&gt;And if it is so: what are the (typical) ranges for&lt;br&gt;the 3 inputs?&lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, One more argument for long double</description>
      <guid>130310</guid>
      <pubDate>Fri, 03 Feb 2012 19:14:47 Z</pubDate>
      <itunes:author>Axel Vogt</itunes:author>
      <author>Axel Vogt</author>
    </item>
    <item>
      <title>@Axel Vogt&amp;nbsp;

So besides the precision</title>
      <link>http://www.mapleprimes.com/posts/130249-One-More-Argument-For-Long-Double?ref=Feed:MaplePrimes:One more argument for long double:Comments#comment130312</link>
      <itunes:summary>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/posts/130249-One-More-Argument-For-Long-Double#comment130310"&gt;@Axel Vogt&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;So besides the precision problem with evalhf you&lt;br&gt;would appreciate a &lt;strong&gt;fast&lt;/strong&gt; numerical LerchPhi?&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Yes&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;And if it is so: what are the (typical) ranges for&lt;br&gt;the 3 inputs?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span&gt;Physical sense have values lpv&amp;gt;0, lpw&amp;gt;1. Last one principally "more is better". I planned to analyze up to 1000. For lpu&amp;nbsp; - it's just &amp;gt;0 and will be what will be. I mean, question there is not about "typical" values, it's rather about "what happens in those big values" i.e. it's just research scope.&lt;br&gt;&lt;/span&gt;&lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, One more argument for long double</description>
      <guid>130312</guid>
      <pubDate>Fri, 03 Feb 2012 20:37:48 Z</pubDate>
      <itunes:author>icegood</itunes:author>
      <author>icegood</author>
    </item>
  </channel>
</rss>