<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>MaplePrimes - Unanswered Questions</title>
    <link>http://www.mapleprimes.com/questions</link>
    <language>en-us</language>
    <copyright>2026 Maplesoft, A Division of Waterloo Maple Inc.</copyright>
    <generator>Maplesoft Document System</generator>
    <lastBuildDate>Sun, 24 May 2026 22:50:22 GMT</lastBuildDate>
    <pubDate>Sun, 24 May 2026 22:50:22 GMT</pubDate>
    <itunes:subtitle />
    <itunes:summary />
    <description>Questions asked on MaplePrimes that have not yet received an answer</description>
    <image>
      <url>http://www.mapleprimes.com/images/mapleprimeswhite.jpg</url>
      <title>MaplePrimes - Unanswered Questions</title>
      <link>http://www.mapleprimes.com/questions</link>
    </image>
    <item>
      <title>How to tweak a procedure, for use with Grid?</title>
      <link>http://www.mapleprimes.com/questions/243609-How-To-Tweak-A-Procedure-For-Use-With-Grid?ref=Feed:MaplePrimes:Unanswered Questions</link>
      <itunes:summary>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I need to run the following procedure a couple of million times. Although it works, Maple sometimes chokes for no apparent reason (if there is a reason, please let me know). I was wondering whether an expert could help me tweak the procedure (or possibly rewrite it) to achieve the best possible performance. I am planning to use &lt;code&gt;Grid:-Map&lt;/code&gt; or, if possible, &lt;code&gt;Threads:-Map&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;pre class="prettyprint"&gt;
generateNonlinearModelsPlus := proc(model::list,fullmodel::list,vars::list:=[x,y,z])
description &amp;quot;This function generates a list of all models with one more monomial from the full model&amp;quot;:
local tab::table(),n:=nops(model),i,j,k:=1,ans,terms,aaa,allmoncoefThreads:
# local procedure
allmoncoefThreads := proc(f::list,vars::list)
description &amp;quot;This function finds the monomials multipled by their coefficients for each expression (equation) of a list.&amp;quot;:
local n:=numelems(f),i,mon:=[seq](0,i=1..n),M,cc:=[seq](0,i=1..n),ans:
for i from 1 to n do
  cc[i]:=[coeffs](expand(f[i]),vars, &amp;#39;M&amp;#39;):
  mon[i]:=[M]:
end do:
ans:=[seq](zip((ww,vv)-&amp;gt;ww*vv,cc[i],mon[i]),i=1..n):
return(ans)
end proc:
# main part
ans:=zip((w,v)-&amp;gt;expand(simplify(v-w)),model,fullmodel): # Find the monomials that are not in model
terms:=allmoncoefThreads(ans,vars): # Separate the monomials
#
for i from 1 to n do
   aaa:=model:
   for j from 1 to nops(terms[i]) do
       aaa[i]:=model[i]+terms[i,j]:
       tab[k]:=aaa:
       k:=k+1:
   end do:
end do:
tab:=convert(tab,list):
return(tab):
end proc:
&lt;/pre&gt;

&lt;p&gt;Here is an example of how I run it:&amp;nbsp;&lt;/p&gt;

&lt;pre class="prettyprint"&gt;
model:=[y*alpha[1, 2], z*alpha[2, 3], x^3*alpha[3, 10] + x*alpha[3, 1] + alpha[3, 0]]:

fullmodel:=[x^3*alpha[1, 10] + x^2*y*alpha[1, 11] + x^2*z*alpha[1, 12] + x*y^2*alpha[1, 13] + x*y*z*alpha[1, 14] + x*z^2*alpha[1, 15] + y^3*alpha[1, 16] + y^2*z*alpha[1, 17] + y*z^2*alpha[1, 18] + z^3*alpha[1, 19] + x^2*alpha[1, 4] + x*y*alpha[1, 5] + x*z*alpha[1, 6] + y^2*alpha[1, 7] + y*z*alpha[1, 8] + z^2*alpha[1, 9] + x*alpha[1, 1] + y*alpha[1, 2] + z*alpha[1, 3] + alpha[1, 0], x^3*alpha[2, 10] + x^2*y*alpha[2, 11] + x^2*z*alpha[2, 12] + x*y^2*alpha[2, 13] + x*y*z*alpha[2, 14] + x*z^2*alpha[2, 15] + y^3*alpha[2, 16] + y^2*z*alpha[2, 17] + y*z^2*alpha[2, 18] + z^3*alpha[2, 19] + x^2*alpha[2, 4] + x*y*alpha[2, 5] + x*z*alpha[2, 6] + y^2*alpha[2, 7] + y*z*alpha[2, 8] + z^2*alpha[2, 9] + x*alpha[2, 1] + y*alpha[2, 2] + z*alpha[2, 3] + alpha[2, 0], x^3*alpha[3, 10] + x^2*y*alpha[3, 11] + x^2*z*alpha[3, 12] + x*y^2*alpha[3, 13] + x*y*z*alpha[3, 14] + x*z^2*alpha[3, 15] + y^3*alpha[3, 16] + y^2*z*alpha[3, 17] + y*z^2*alpha[3, 18] + z^3*alpha[3, 19] + x^2*alpha[3, 4] + x*y*alpha[3, 5] + x*z*alpha[3, 6] + y^2*alpha[3, 7] + y*z*alpha[3, 8] + z^2*alpha[3, 9] + x*alpha[3, 1] + y*alpha[3, 2] + z*alpha[3, 3] + alpha[3, 0]]:

vars:=[x,y,z]:

ans:=generateNonlinearModelsPlus(model,fullmodel,vars)

&lt;/pre&gt;

&lt;p&gt;Many thanks.&lt;/p&gt;
</itunes:summary>
      <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I need to run the following procedure a couple of million times. Although it works, Maple sometimes chokes for no apparent reason (if there is a reason, please let me know). I was wondering whether an expert could help me tweak the procedure (or possibly rewrite it) to achieve the best possible performance. I am planning to use &lt;code dir="ltr"&gt;Grid:-Map&lt;/code&gt; or, if possible, &lt;code dir="ltr"&gt;Threads:-Map&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;pre class="prettyprint"&gt;
generateNonlinearModelsPlus := proc(model::list,fullmodel::list,vars::list:=[x,y,z])
description &amp;quot;This function generates a list of all models with one more monomial from the full model&amp;quot;:
local tab::table(),n:=nops(model),i,j,k:=1,ans,terms,aaa,allmoncoefThreads:
# local procedure
allmoncoefThreads := proc(f::list,vars::list)
description &amp;quot;This function finds the monomials multipled by their coefficients for each expression (equation) of a list.&amp;quot;:
local n:=numelems(f),i,mon:=[seq](0,i=1..n),M,cc:=[seq](0,i=1..n),ans:
for i from 1 to n do
  cc[i]:=[coeffs](expand(f[i]),vars, &amp;#39;M&amp;#39;):
  mon[i]:=[M]:
end do:
ans:=[seq](zip((ww,vv)-&amp;gt;ww*vv,cc[i],mon[i]),i=1..n):
return(ans)
end proc:
# main part
ans:=zip((w,v)-&amp;gt;expand(simplify(v-w)),model,fullmodel): # Find the monomials that are not in model
terms:=allmoncoefThreads(ans,vars): # Separate the monomials
#
for i from 1 to n do
   aaa:=model:
   for j from 1 to nops(terms[i]) do
       aaa[i]:=model[i]+terms[i,j]:
       tab[k]:=aaa:
       k:=k+1:
   end do:
end do:
tab:=convert(tab,list):
return(tab):
end proc:
&lt;/pre&gt;

&lt;p&gt;Here is an example of how I run it:&amp;nbsp;&lt;/p&gt;

&lt;pre class="prettyprint"&gt;
model:=[y*alpha[1, 2], z*alpha[2, 3], x^3*alpha[3, 10] + x*alpha[3, 1] + alpha[3, 0]]:

fullmodel:=[x^3*alpha[1, 10] + x^2*y*alpha[1, 11] + x^2*z*alpha[1, 12] + x*y^2*alpha[1, 13] + x*y*z*alpha[1, 14] + x*z^2*alpha[1, 15] + y^3*alpha[1, 16] + y^2*z*alpha[1, 17] + y*z^2*alpha[1, 18] + z^3*alpha[1, 19] + x^2*alpha[1, 4] + x*y*alpha[1, 5] + x*z*alpha[1, 6] + y^2*alpha[1, 7] + y*z*alpha[1, 8] + z^2*alpha[1, 9] + x*alpha[1, 1] + y*alpha[1, 2] + z*alpha[1, 3] + alpha[1, 0], x^3*alpha[2, 10] + x^2*y*alpha[2, 11] + x^2*z*alpha[2, 12] + x*y^2*alpha[2, 13] + x*y*z*alpha[2, 14] + x*z^2*alpha[2, 15] + y^3*alpha[2, 16] + y^2*z*alpha[2, 17] + y*z^2*alpha[2, 18] + z^3*alpha[2, 19] + x^2*alpha[2, 4] + x*y*alpha[2, 5] + x*z*alpha[2, 6] + y^2*alpha[2, 7] + y*z*alpha[2, 8] + z^2*alpha[2, 9] + x*alpha[2, 1] + y*alpha[2, 2] + z*alpha[2, 3] + alpha[2, 0], x^3*alpha[3, 10] + x^2*y*alpha[3, 11] + x^2*z*alpha[3, 12] + x*y^2*alpha[3, 13] + x*y*z*alpha[3, 14] + x*z^2*alpha[3, 15] + y^3*alpha[3, 16] + y^2*z*alpha[3, 17] + y*z^2*alpha[3, 18] + z^3*alpha[3, 19] + x^2*alpha[3, 4] + x*y*alpha[3, 5] + x*z*alpha[3, 6] + y^2*alpha[3, 7] + y*z*alpha[3, 8] + z^2*alpha[3, 9] + x*alpha[3, 1] + y*alpha[3, 2] + z*alpha[3, 3] + alpha[3, 0]]:

vars:=[x,y,z]:

ans:=generateNonlinearModelsPlus(model,fullmodel,vars)

&lt;/pre&gt;

&lt;p&gt;Many thanks.&lt;/p&gt;
</description>
      <guid>243609</guid>
      <pubDate>Fri, 22 May 2026 17:09:55 Z</pubDate>
      <itunes:author>emendes</itunes:author>
      <author>emendes</author>
    </item>
    <item>
      <title>System of nonlinear Diophantine equations</title>
      <link>http://www.mapleprimes.com/questions/243606-System-Of-Nonlinear-Diophantine-Equations?ref=Feed:MaplePrimes:Unanswered Questions</link>
      <itunes:summary>&lt;p&gt;For quite some time, I have wanted to solve the system attached in &amp;quot;test&amp;quot; using Maple. The smallest solution in natural numbers x, y, and z &lt;a href="/view.aspx?sf=243606_question/test.mw"&gt;test.mw&lt;/a&gt;&lt;/p&gt;

&lt;form name="worksheet_form"&gt;&lt;input name="md.ref" type="hidden" value="3D6BF348B2F5EB4B8942E0D81242C1ED"&gt;
&lt;table align="center" width="768"&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="restart" height="23" src="/view.aspx?sf=243606_question/e699fd708efcb37ee3c840352c50f221.gif" style="vertical-align:-6px" width="54"&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="kernelopts(version)" height="23" src="/view.aspx?sf=243606_question/88bebbab0efb8b1336a07c10b66327f1.gif" style="vertical-align:-6px" width="134"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;table&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;
						&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="`Maple 2026.0, X86 64 WINDOWS, Apr 28 2026, Build ID 2011354`" height="23" src="/view.aspx?sf=243606_question/126ddba5cd7fefce497ff2e8347c1780.gif" style="vertical-align:-6px" width="410"&gt;&lt;/p&gt;
						&lt;/td&gt;
						&lt;td align="right" style="color:#000000; font-family:Times, serif; font-weight:bold; font-style:normal;"&gt;(1)&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="interface(version)" height="23" src="/view.aspx?sf=243606_question/fc9a195520514d38efc02f1796dde106.gif" style="vertical-align:-6px" width="125"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;table&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;
						&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="`Standard Worksheet Interface, Maple 2026.1, Windows 11, April 28 2026 Build ID 2011354`" height="23" src="/view.aspx?sf=243606_question/8f7cdff34694e4632aff7c10a90139dd.gif" style="vertical-align:-6px" width="560"&gt;&lt;/p&gt;
						&lt;/td&gt;
						&lt;td align="right" style="color:#000000; font-family:Times, serif; font-weight:bold; font-style:normal;"&gt;(2)&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="with(NumberTheory)" height="23" src="/view.aspx?sf=243606_question/0c44a46a75d24f1d216d85b4e996d21c.gif" style="vertical-align:-6px" width="147"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="isolve({x*y*z = w^2, x+y+z = u^2, x*y+x*z+y*z = v^2})" height="27" src="/view.aspx?sf=243606_question/17f6b8025aceb1b3e787bba0527c095d.gif" style="vertical-align:-6px" width="383"&gt;&lt;/p&gt;

			&lt;table&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;
						&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="{u = _Z1, v = 0, w = 0, x = _Z1^2, y = 0, z = 0}" height="27" src="/view.aspx?sf=243606_question/fcdca554ba95d0d493ab176bfae7e755.gif" style="vertical-align:-6px" width="272"&gt;&lt;/p&gt;
						&lt;/td&gt;
						&lt;td align="right" style="color:#000000; font-family:Times, serif; font-weight:bold; font-style:normal;"&gt;(3)&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="&amp;quot;(-&amp;gt;)&amp;quot;" height="27" src="/view.aspx?sf=243606_question/15044870e29d58bb31eb6e00d966f890.gif" style="vertical-align:-4px" width="113"&gt;&lt;/p&gt;

			&lt;table&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;
						&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="{u = _Z1, v = 0, w = 0, x = _Z1^2, y = 0, z = 0}" height="27" src="/view.aspx?sf=243606_question/7440f8713e7899afdb6b92ee54d5a54a.gif" style="vertical-align:-6px" width="272"&gt;&lt;/p&gt;
						&lt;/td&gt;
						&lt;td align="right" style="color:#000000; font-family:Times, serif; font-weight:bold; font-style:normal;"&gt;(4)&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="``" height="23" src="/view.aspx?sf=243606_question/983a1825335e8dfbdca571d83041741b.gif" style="vertical-align:-6px" width="11"&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;input name="sequence" type="hidden" value="1"&gt; &lt;input name="cmd" type="hidden" value="none"&gt;&lt;/form&gt;

&lt;p&gt;&lt;a href="/view.aspx?sf=243606_question/test.mw"&gt;Download test.mw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;is known, and all these numbers are less than 4 &amp;times; 10&amp;sup1;&amp;sup2;. Is this possible in Maple?&lt;/p&gt;

&lt;p&gt;(x=1633780814400; y=252782198228;&amp;nbsp;z=3474741058973)&lt;/p&gt;
</itunes:summary>
      <description>&lt;p&gt;For quite some time, I have wanted to solve the system attached in &amp;quot;test&amp;quot; using Maple. The smallest solution in natural numbers x, y, and z &lt;a href="/view.aspx?sf=243606_question/test.mw"&gt;test.mw&lt;/a&gt;&lt;/p&gt;

&lt;form name="worksheet_form"&gt;&lt;input name="md.ref" type="hidden" value="3D6BF348B2F5EB4B8942E0D81242C1ED"&gt;
&lt;table align="center" width="768"&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="restart" height="23" src="/view.aspx?sf=243606_question/e699fd708efcb37ee3c840352c50f221.gif" style="vertical-align:-6px" width="54"&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="kernelopts(version)" height="23" src="/view.aspx?sf=243606_question/88bebbab0efb8b1336a07c10b66327f1.gif" style="vertical-align:-6px" width="134"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;table&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;
						&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="`Maple 2026.0, X86 64 WINDOWS, Apr 28 2026, Build ID 2011354`" height="23" src="/view.aspx?sf=243606_question/126ddba5cd7fefce497ff2e8347c1780.gif" style="vertical-align:-6px" width="410"&gt;&lt;/p&gt;
						&lt;/td&gt;
						&lt;td align="right" style="color:#000000; font-family:Times, serif; font-weight:bold; font-style:normal;"&gt;(1)&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="interface(version)" height="23" src="/view.aspx?sf=243606_question/fc9a195520514d38efc02f1796dde106.gif" style="vertical-align:-6px" width="125"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;table&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;
						&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="`Standard Worksheet Interface, Maple 2026.1, Windows 11, April 28 2026 Build ID 2011354`" height="23" src="/view.aspx?sf=243606_question/8f7cdff34694e4632aff7c10a90139dd.gif" style="vertical-align:-6px" width="560"&gt;&lt;/p&gt;
						&lt;/td&gt;
						&lt;td align="right" style="color:#000000; font-family:Times, serif; font-weight:bold; font-style:normal;"&gt;(2)&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="with(NumberTheory)" height="23" src="/view.aspx?sf=243606_question/0c44a46a75d24f1d216d85b4e996d21c.gif" style="vertical-align:-6px" width="147"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="isolve({x*y*z = w^2, x+y+z = u^2, x*y+x*z+y*z = v^2})" height="27" src="/view.aspx?sf=243606_question/17f6b8025aceb1b3e787bba0527c095d.gif" style="vertical-align:-6px" width="383"&gt;&lt;/p&gt;

			&lt;table&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;
						&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="{u = _Z1, v = 0, w = 0, x = _Z1^2, y = 0, z = 0}" height="27" src="/view.aspx?sf=243606_question/fcdca554ba95d0d493ab176bfae7e755.gif" style="vertical-align:-6px" width="272"&gt;&lt;/p&gt;
						&lt;/td&gt;
						&lt;td align="right" style="color:#000000; font-family:Times, serif; font-weight:bold; font-style:normal;"&gt;(3)&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="&amp;quot;(-&amp;gt;)&amp;quot;" height="27" src="/view.aspx?sf=243606_question/15044870e29d58bb31eb6e00d966f890.gif" style="vertical-align:-4px" width="113"&gt;&lt;/p&gt;

			&lt;table&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;
						&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="{u = _Z1, v = 0, w = 0, x = _Z1^2, y = 0, z = 0}" height="27" src="/view.aspx?sf=243606_question/7440f8713e7899afdb6b92ee54d5a54a.gif" style="vertical-align:-6px" width="272"&gt;&lt;/p&gt;
						&lt;/td&gt;
						&lt;td align="right" style="color:#000000; font-family:Times, serif; font-weight:bold; font-style:normal;"&gt;(4)&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="``" height="23" src="/view.aspx?sf=243606_question/983a1825335e8dfbdca571d83041741b.gif" style="vertical-align:-6px" width="11"&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;input name="sequence" type="hidden" value="1"&gt; &lt;input name="cmd" type="hidden" value="none"&gt;&lt;/form&gt;

&lt;p&gt;&lt;a href="/view.aspx?sf=243606_question/test.mw"&gt;Download test.mw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;is known, and all these numbers are less than 4 &amp;times; 10&amp;sup1;&amp;sup2;. Is this possible in Maple?&lt;/p&gt;

&lt;p&gt;(x=1633780814400; y=252782198228;&amp;nbsp;z=3474741058973)&lt;/p&gt;
</description>
      <guid>243606</guid>
      <pubDate>Thu, 21 May 2026 15:05:28 Z</pubDate>
      <itunes:author>Alfred_F</itunes:author>
      <author>Alfred_F</author>
    </item>
    <item>
      <title>Has there been a change in toolbox location?</title>
      <link>http://www.mapleprimes.com/questions/243600-Has-There-Been-A-Change-In-Toolbox-Location?ref=Feed:MaplePrimes:Unanswered Questions</link>
      <itunes:summary>&lt;p&gt;Currently I have Maple versions 2023,2025, and 2026 installed on Windows 11. Today I installed a workbook package containing a module that I just completed using the PackageTools installer in Maple 2026.. To my surprise, I found that a package installed from Maple 2026 was also available in Maple 2023 and, conversely, a package installed in Maple 2023 was automatically available in Maple 2026. i noticed that, with the exception of the Maple Customer Support Updates, the toolbox directory is no longer broken down by versions. I also noticed that the directory containing the module installed by Maple 2026 was named by the workbook instead of the module name (ie. hopfwords.maple). As I recall, the toolboxes used to be version dependent.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;The question is to what extent can one assume that a package created in Maple 2026 will be compatible with at least the more recent versions of Maple, I am also wondering why the directory name is now the workbook name instead of the module name.&amp;nbsp;&lt;/p&gt;
</itunes:summary>
      <description>&lt;p&gt;Currently I have Maple versions 2023,2025, and 2026 installed on Windows 11. Today I installed a workbook package containing a module that I just completed using the PackageTools installer in Maple 2026.. To my surprise, I found that a package installed from Maple 2026 was also available in Maple 2023 and, conversely, a package installed in Maple 2023 was automatically available in Maple 2026. i noticed that, with the exception of the Maple Customer Support Updates, the toolbox directory is no longer broken down by versions. I also noticed that the directory containing the module installed by Maple 2026 was named by the workbook instead of the module name (ie. hopfwords.maple). As I recall, the toolboxes used to be version dependent.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;The question is to what extent can one assume that a package created in Maple 2026 will be compatible with at least the more recent versions of Maple, I am also wondering why the directory name is now the workbook name instead of the module name.&amp;nbsp;&lt;/p&gt;
</description>
      <guid>243600</guid>
      <pubDate>Mon, 18 May 2026 03:38:46 Z</pubDate>
      <itunes:author>ianmccr</itunes:author>
      <author>ianmccr</author>
    </item>
    <item>
      <title>How to make this code run?</title>
      <link>http://www.mapleprimes.com/questions/243599-How-To-Make-This-Code-Run?ref=Feed:MaplePrimes:Unanswered Questions</link>
      <itunes:summary>&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;restart;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;with(plots): with(LinearAlgebra):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# TFSB Coefficients (symbolic in u)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta0 := u -&amp;gt; (sin(u)*u^3 - 12*u^2 - 24*cos(u) + 24)/(12*(sin(u)*u + 2*cos(u) - 2)*u^2):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta1 := u -&amp;gt; (5*sin(u)*u^3 + 12*cos(u)*u^2 + 24*cos(u) - 24)/(6*(sin(u)*u + 2*cos(u) - 2)*u^2):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta2 := u -&amp;gt; beta0(u):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho0 := u -&amp;gt; ((-u^2-12)*cos(u) - 5*u^2 + 12)/(12*(sin(u)*u + 2*cos(u) - 2)*u^2):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho1 := u -&amp;gt; (-7*cos(u)*u^3 + 27*sin(u)*u^2 + 120*sin(u) - 120*u)/(60*u^2*(cos(u)*u + 2*u - 3*sin(u))):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho2 := u -&amp;gt; -rho0(u):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Secondary coefficients (simplified versions)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta00 := u -&amp;gt; 13/42 - 9*u^2/7840:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta10 := u -&amp;gt; 1/6 + u^2/720:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta20 := u -&amp;gt; 1/42 - 17*u^2/70560:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta01 := u -&amp;gt; 187/1680 + 611*u^2/705600:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta11 := u -&amp;gt; 11/30 - 29*u^2/25200:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta21 := u -&amp;gt; 37/1680 + 67*u^2/235200:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta02 := u -&amp;gt; 11/70 + 491*u^2/352800:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta12 := u -&amp;gt; 9/10 - 31*u^2/8400:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta22 := u -&amp;gt; 31/70 + 811*u^2/352800:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho01 := u -&amp;gt; 2/105 + 407*u^2/1058400:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho11 := u -&amp;gt; -19/210 + 41*u^2/105840:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho21 := u -&amp;gt; -1/168 - 101*u^2/529200:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho02 := u -&amp;gt; 53/1680 + 1633*u^2/2116800:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho12 := u -&amp;gt; 8/105 - 4*u^2/6615:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho22 := u -&amp;gt; -101/1680 - 2273*u^2/2116800:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Problem definition&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;omega := 1:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;epsilon := 3*Pi/2:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;phi := x -&amp;gt; 3*sin(x) - 5*cos(x):&amp;nbsp; # history function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;f := (x, v, vp, vd) -&amp;gt; -v - vd + 3*cos(x) + 5*sin(x):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;g := proc(x, v, vp, vd, vdp)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; local fx, fv, fvp, fvd;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fx := -3*sin(x) + 5*cos(x);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fv := -1;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fvp := 0;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fvd := -1;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return fx + fv*vp + fvp*0 + fvd*vdp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;end proc:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Initial conditions&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;a := 0: b := 10:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;v0 := -5: vp0 := 3:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Variable step-size parameters&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;tol := 1e-10:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;h_min := 0.01:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;h_max := 0.5:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;h_init := Pi/8:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Store results&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;X := [a]: V := [v0]: Vp := [vp0]:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;h_curr := h_init:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;x_curr := a:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;v_curr := v0:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;vp_curr := vp0:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# For history: need v at x-epsilon&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;get_v_delayed := proc(xx)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if xx &amp;lt; a then return phi(xx);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Interpolate from stored solution&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idx := 1;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while idx &amp;lt; nops(X) and X[idx] &amp;lt; xx do idx := idx+1; end do;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if idx = 1 then return phi(xx);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif X[idx] = xx then return V[idx];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Linear interpolation&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return V[idx-1] + (V[idx]-V[idx-1])*(xx-X[idx-1])/(X[idx]-X[idx-1]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;end proc:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Newton solver for block&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;solve_block := proc(x0, v0, vp0, h, omega)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; local u, bet0, bet1, bet2, rho0, rho1, rho2, bet00, bet10, bet20, bet01, bet11, bet21, bet02, bet12, bet22,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rho01, rho11, rho21, rho02, rho12, rho22, F, J, V0, V1, V2, Vp0, Vp1, Vp2, tolN, iter, dv, dV;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u := omega*h;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bet0 := beta0(u); bet1 := beta1(u); bet2 := beta2(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rho0 := rho0(u); rho1 := rho1(u); rho2 := rho2(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bet00 := beta00(u); bet10 := beta10(u); bet20 := beta20(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bet01 := beta01(u); bet11 := beta11(u); bet21 := beta21(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bet02 := beta02(u); bet12 := beta12(u); bet22 := beta22(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rho01 := rho01(u); rho11 := rho11(u); rho21 := rho21(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rho02 := rho02(u); rho12 := rho12(u); rho22 := rho22(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Initial guesses&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; V1 := v0 + h*vp0;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; V2 := v0 + 2*h*vp0;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vp1 := vp0;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vp2 := vp0;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tolN := 1e-12;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for iter from 1 to 10 do&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Compute delayed values&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vd0 := get_v_delayed(x0 - epsilon);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vd1 := get_v_delayed(x0 + h - epsilon);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vd2 := get_v_delayed(x0 + 2*h - epsilon);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vdp0 := (get_v_delayed(x0 - epsilon + 1e-8) - vd0)/1e-8;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vdp1 := (get_v_delayed(x0 + h - epsilon + 1e-8) - vd1)/1e-8;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vdp2 := (get_v_delayed(x0 + 2*h - epsilon + 1e-8) - vd2)/1e-8;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Compute gamma and g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gam0 := f(x0, v0, vp0, vd0);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gam1 := f(x0+h, V1, Vp1, vd1);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gam2 := f(x0+2*h, V2, Vp2, vd2);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g0 := g(x0, v0, vp0, vd0, vdp0);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g1 := g(x0+h, V1, Vp1, vd1, vdp1);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g2 := g(x0+2*h, V2, Vp2, vd2, vdp2);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Residuals&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F1 := h*vp0 - (V1 - v0 + h^2*(bet00*gam0 + bet10*gam1 + bet20*gam2) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho01*g0 + rho11*g1 + rho21*g2));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F2 := h*Vp1 - (V1 - v0 + h^2*(bet01*gam0 + bet11*gam1 + bet21*gam2)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho01*g0 + rho11*g1 + rho21*g2));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F3 := h*Vp2 - (V1 - v0 + h^2*(bet02*gam0 + bet12*gam1 + bet22*gam2)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho02*g0 + rho12*g1 + rho22*g2));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F4 := V2 - (2*V1 - v0 + h^2*(bet0*gam0 + bet1*gam1 + bet2*gam2)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho0*g0 + rho1*g1 + rho2*g2));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F := Vector([F1, F2, F3, F4]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if LinearAlgebra:-Norm(F) &amp;lt; tolN then break; end if;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Approximate Jacobian (finite differences)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; J := Matrix(4,4);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delta := 1e-6;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for j from 1 to 4 do&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; V_pert := Vector([V1, V2, Vp1, Vp2]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; V_pert[j] := V_pert[j] + delta;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; V1p := V_pert[1]; V2p := V_pert[2]; Vp1p := V_pert[3]; Vp2p := V_pert[4];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gam1p := f(x0+h, V1p, Vp1p, get_v_delayed(x0+h-epsilon));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gam2p := f(x0+2*h, V2p, Vp2p, get_v_delayed(x0+2*h-epsilon));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g1p := g(x0+h, V1p, Vp1p, get_v_delayed(x0+h-epsilon), &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; (get_v_delayed(x0+h-epsilon+1e-8)-get_v_delayed(x0+h-epsilon))/1e-8);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g2p := g(x0+2*h, V2p, Vp2p, get_v_delayed(x0+2*h-epsilon),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; (get_v_delayed(x0+2*h-epsilon+1e-8)-get_v_delayed(x0+2*h-epsilon))/1e-8);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F1p := h*vp0 - (V1p - v0 + h^2*(bet00*gam0 + bet10*gam1p + bet20*gam2p)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho01*g0 + rho11*g1p + rho21*g2p));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F2p := h*Vp1p - (V1p - v0 + h^2*(bet01*gam0 + bet11*gam1p + bet21*gam2p)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho01*g0 + rho11*g1p + rho21*g2p));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F3p := h*Vp2p - (V1p - v0 + h^2*(bet02*gam0 + bet12*gam1p + bet22*gam2p)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho02*g0 + rho12*g1p + rho22*g2p));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F4p := V2p - (2*V1p - v0 + h^2*(bet0*gam0 + bet1*gam1p + bet2*gam2p)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho0*g0 + rho1*g1p + rho2*g2p));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fp := Vector([F1p, F2p, F3p, F4p]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; J[1..4, j] := (Fp - F)/delta;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dV := LinearAlgebra:-LinearSolve(J, -F);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; V1 := V1 + dV[1]; V2 := V2 + dV[2]; Vp1 := Vp1 + dV[3]; Vp2 := Vp2 + dV[4];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return [V1, V2, Vp1, Vp2];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;end proc:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Main variable step-size loop&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;printf(&amp;quot;Variable step-size integration for Example 1\n&amp;quot;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;printf(&amp;quot;tol = %e, h_init = %f\n&amp;quot;, tol, h_init);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;while x_curr &amp;lt; b - 1e-12 do&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Try current step&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sol := solve_block(x_curr, v_curr, vp_curr, h_curr, omega);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; V1 := sol[1]; V2 := sol[2]; Vp1 := sol[3]; Vp2 := sol[4];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Compute with two half-steps&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sol_half1 := solve_block(x_curr, v_curr, vp_curr, h_curr/2, omega);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; V_mid := sol_half1[2]; Vp_mid := sol_half1[4];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sol_half2 := solve_block(x_curr + h_curr/2, V_mid, Vp_mid, h_curr/2, omega);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; V2_half := sol_half2[2];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Error estimate&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; err := abs(V2 - V2_half) / (2^6 - 1);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if err &amp;lt; tol then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Accept step&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x_next := x_curr + 2*h_curr;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X := [op(X), x_curr + h_curr, x_next];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; V := [op(V), V1, V2];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vp := [op(Vp), Vp1, Vp2];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x_curr := x_next;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v_curr := V2;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vp_curr := Vp2;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&amp;quot;x = %7.4f, h = %8.5f, err = %12.5e\n&amp;quot;, x_curr, h_curr, err);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Adjust step size&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if err &amp;lt; tol/2 then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h_curr := min(2*h_curr, h_max);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Reject step, reduce h&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h_curr := max(h_curr/2, h_min);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&amp;quot;&amp;nbsp; Rejecting, new h = %8.5f\n&amp;quot;, h_curr);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;end do:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Exact solution for comparison&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;exact := x -&amp;gt; 3*sin(x) - 5*cos(x);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;errors := [seq(abs(V[i] - exact(X[i])), i=1..nops(X))];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Visualization&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;p1 := pointplot([seq([X[i], errors[i]], i=1..nops(X))], color=red, symbol=circle, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; title=&amp;quot;Example 1: Variable Step-Size TFSB - Absolute Errors&amp;quot;, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; labels=[&amp;quot;x&amp;quot;, &amp;quot;Error&amp;quot;], labeldirections=[horizontal,vertical]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;p2 := plot([[x_curr, h_curr]], x=a..b, style=point, color=blue, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title=&amp;quot;Step-size evolution&amp;quot;, labels=[&amp;quot;x&amp;quot;, &amp;quot;h&amp;quot;]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;display(p1);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;display(p2);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;printf(&amp;quot;\nFinal results for Example 1:\n&amp;quot;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;printf(&amp;quot;Number of steps: %d\n&amp;quot;, nops(X)-1);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;printf(&amp;quot;Maximum error: %e\n&amp;quot;, max(errors));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;printf(&amp;quot;Final step-size: %f\n&amp;quot;, h_curr);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
</itunes:summary>
      <description>&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;restart;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;with(plots): with(LinearAlgebra):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# TFSB Coefficients (symbolic in u)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta0 := u -&amp;gt; (sin(u)*u^3 - 12*u^2 - 24*cos(u) + 24)/(12*(sin(u)*u + 2*cos(u) - 2)*u^2):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta1 := u -&amp;gt; (5*sin(u)*u^3 + 12*cos(u)*u^2 + 24*cos(u) - 24)/(6*(sin(u)*u + 2*cos(u) - 2)*u^2):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta2 := u -&amp;gt; beta0(u):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho0 := u -&amp;gt; ((-u^2-12)*cos(u) - 5*u^2 + 12)/(12*(sin(u)*u + 2*cos(u) - 2)*u^2):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho1 := u -&amp;gt; (-7*cos(u)*u^3 + 27*sin(u)*u^2 + 120*sin(u) - 120*u)/(60*u^2*(cos(u)*u + 2*u - 3*sin(u))):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho2 := u -&amp;gt; -rho0(u):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Secondary coefficients (simplified versions)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta00 := u -&amp;gt; 13/42 - 9*u^2/7840:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta10 := u -&amp;gt; 1/6 + u^2/720:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta20 := u -&amp;gt; 1/42 - 17*u^2/70560:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta01 := u -&amp;gt; 187/1680 + 611*u^2/705600:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta11 := u -&amp;gt; 11/30 - 29*u^2/25200:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta21 := u -&amp;gt; 37/1680 + 67*u^2/235200:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta02 := u -&amp;gt; 11/70 + 491*u^2/352800:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta12 := u -&amp;gt; 9/10 - 31*u^2/8400:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;beta22 := u -&amp;gt; 31/70 + 811*u^2/352800:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho01 := u -&amp;gt; 2/105 + 407*u^2/1058400:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho11 := u -&amp;gt; -19/210 + 41*u^2/105840:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho21 := u -&amp;gt; -1/168 - 101*u^2/529200:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho02 := u -&amp;gt; 53/1680 + 1633*u^2/2116800:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho12 := u -&amp;gt; 8/105 - 4*u^2/6615:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;rho22 := u -&amp;gt; -101/1680 - 2273*u^2/2116800:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Problem definition&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;omega := 1:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;epsilon := 3*Pi/2:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;phi := x -&amp;gt; 3*sin(x) - 5*cos(x):&amp;nbsp; # history function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;f := (x, v, vp, vd) -&amp;gt; -v - vd + 3*cos(x) + 5*sin(x):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;g := proc(x, v, vp, vd, vdp)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; local fx, fv, fvp, fvd;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fx := -3*sin(x) + 5*cos(x);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fv := -1;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fvp := 0;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fvd := -1;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return fx + fv*vp + fvp*0 + fvd*vdp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;end proc:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Initial conditions&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;a := 0: b := 10:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;v0 := -5: vp0 := 3:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Variable step-size parameters&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;tol := 1e-10:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;h_min := 0.01:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;h_max := 0.5:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;h_init := Pi/8:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Store results&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;X := [a]: V := [v0]: Vp := [vp0]:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;h_curr := h_init:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;x_curr := a:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;v_curr := v0:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;vp_curr := vp0:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# For history: need v at x-epsilon&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;get_v_delayed := proc(xx)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if xx &amp;lt; a then return phi(xx);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Interpolate from stored solution&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idx := 1;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while idx &amp;lt; nops(X) and X[idx] &amp;lt; xx do idx := idx+1; end do;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if idx = 1 then return phi(xx);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif X[idx] = xx then return V[idx];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Linear interpolation&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return V[idx-1] + (V[idx]-V[idx-1])*(xx-X[idx-1])/(X[idx]-X[idx-1]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;end proc:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Newton solver for block&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;solve_block := proc(x0, v0, vp0, h, omega)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; local u, bet0, bet1, bet2, rho0, rho1, rho2, bet00, bet10, bet20, bet01, bet11, bet21, bet02, bet12, bet22,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rho01, rho11, rho21, rho02, rho12, rho22, F, J, V0, V1, V2, Vp0, Vp1, Vp2, tolN, iter, dv, dV;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u := omega*h;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bet0 := beta0(u); bet1 := beta1(u); bet2 := beta2(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rho0 := rho0(u); rho1 := rho1(u); rho2 := rho2(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bet00 := beta00(u); bet10 := beta10(u); bet20 := beta20(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bet01 := beta01(u); bet11 := beta11(u); bet21 := beta21(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bet02 := beta02(u); bet12 := beta12(u); bet22 := beta22(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rho01 := rho01(u); rho11 := rho11(u); rho21 := rho21(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rho02 := rho02(u); rho12 := rho12(u); rho22 := rho22(u);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Initial guesses&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; V1 := v0 + h*vp0;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; V2 := v0 + 2*h*vp0;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vp1 := vp0;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vp2 := vp0;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tolN := 1e-12;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for iter from 1 to 10 do&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Compute delayed values&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vd0 := get_v_delayed(x0 - epsilon);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vd1 := get_v_delayed(x0 + h - epsilon);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vd2 := get_v_delayed(x0 + 2*h - epsilon);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vdp0 := (get_v_delayed(x0 - epsilon + 1e-8) - vd0)/1e-8;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vdp1 := (get_v_delayed(x0 + h - epsilon + 1e-8) - vd1)/1e-8;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vdp2 := (get_v_delayed(x0 + 2*h - epsilon + 1e-8) - vd2)/1e-8;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Compute gamma and g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gam0 := f(x0, v0, vp0, vd0);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gam1 := f(x0+h, V1, Vp1, vd1);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gam2 := f(x0+2*h, V2, Vp2, vd2);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g0 := g(x0, v0, vp0, vd0, vdp0);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g1 := g(x0+h, V1, Vp1, vd1, vdp1);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g2 := g(x0+2*h, V2, Vp2, vd2, vdp2);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Residuals&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F1 := h*vp0 - (V1 - v0 + h^2*(bet00*gam0 + bet10*gam1 + bet20*gam2) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho01*g0 + rho11*g1 + rho21*g2));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F2 := h*Vp1 - (V1 - v0 + h^2*(bet01*gam0 + bet11*gam1 + bet21*gam2)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho01*g0 + rho11*g1 + rho21*g2));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F3 := h*Vp2 - (V1 - v0 + h^2*(bet02*gam0 + bet12*gam1 + bet22*gam2)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho02*g0 + rho12*g1 + rho22*g2));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F4 := V2 - (2*V1 - v0 + h^2*(bet0*gam0 + bet1*gam1 + bet2*gam2)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho0*g0 + rho1*g1 + rho2*g2));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F := Vector([F1, F2, F3, F4]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if LinearAlgebra:-Norm(F) &amp;lt; tolN then break; end if;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Approximate Jacobian (finite differences)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; J := Matrix(4,4);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delta := 1e-6;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for j from 1 to 4 do&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; V_pert := Vector([V1, V2, Vp1, Vp2]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; V_pert[j] := V_pert[j] + delta;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; V1p := V_pert[1]; V2p := V_pert[2]; Vp1p := V_pert[3]; Vp2p := V_pert[4];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gam1p := f(x0+h, V1p, Vp1p, get_v_delayed(x0+h-epsilon));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gam2p := f(x0+2*h, V2p, Vp2p, get_v_delayed(x0+2*h-epsilon));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g1p := g(x0+h, V1p, Vp1p, get_v_delayed(x0+h-epsilon), &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; (get_v_delayed(x0+h-epsilon+1e-8)-get_v_delayed(x0+h-epsilon))/1e-8);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g2p := g(x0+2*h, V2p, Vp2p, get_v_delayed(x0+2*h-epsilon),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; (get_v_delayed(x0+2*h-epsilon+1e-8)-get_v_delayed(x0+2*h-epsilon))/1e-8);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F1p := h*vp0 - (V1p - v0 + h^2*(bet00*gam0 + bet10*gam1p + bet20*gam2p)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho01*g0 + rho11*g1p + rho21*g2p));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F2p := h*Vp1p - (V1p - v0 + h^2*(bet01*gam0 + bet11*gam1p + bet21*gam2p)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho01*g0 + rho11*g1p + rho21*g2p));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F3p := h*Vp2p - (V1p - v0 + h^2*(bet02*gam0 + bet12*gam1p + bet22*gam2p)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho02*g0 + rho12*g1p + rho22*g2p));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F4p := V2p - (2*V1p - v0 + h^2*(bet0*gam0 + bet1*gam1p + bet2*gam2p)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; + h^3*(rho0*g0 + rho1*g1p + rho2*g2p));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fp := Vector([F1p, F2p, F3p, F4p]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; J[1..4, j] := (Fp - F)/delta;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dV := LinearAlgebra:-LinearSolve(J, -F);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; V1 := V1 + dV[1]; V2 := V2 + dV[2]; Vp1 := Vp1 + dV[3]; Vp2 := Vp2 + dV[4];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return [V1, V2, Vp1, Vp2];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;end proc:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Main variable step-size loop&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;printf(&amp;quot;Variable step-size integration for Example 1\n&amp;quot;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;printf(&amp;quot;tol = %e, h_init = %f\n&amp;quot;, tol, h_init);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;while x_curr &amp;lt; b - 1e-12 do&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Try current step&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sol := solve_block(x_curr, v_curr, vp_curr, h_curr, omega);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; V1 := sol[1]; V2 := sol[2]; Vp1 := sol[3]; Vp2 := sol[4];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Compute with two half-steps&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sol_half1 := solve_block(x_curr, v_curr, vp_curr, h_curr/2, omega);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; V_mid := sol_half1[2]; Vp_mid := sol_half1[4];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sol_half2 := solve_block(x_curr + h_curr/2, V_mid, Vp_mid, h_curr/2, omega);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; V2_half := sol_half2[2];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Error estimate&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; err := abs(V2 - V2_half) / (2^6 - 1);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if err &amp;lt; tol then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Accept step&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x_next := x_curr + 2*h_curr;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X := [op(X), x_curr + h_curr, x_next];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; V := [op(V), V1, V2];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vp := [op(Vp), Vp1, Vp2];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x_curr := x_next;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v_curr := V2;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vp_curr := Vp2;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&amp;quot;x = %7.4f, h = %8.5f, err = %12.5e\n&amp;quot;, x_curr, h_curr, err);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Adjust step size&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if err &amp;lt; tol/2 then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h_curr := min(2*h_curr, h_max);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Reject step, reduce h&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h_curr := max(h_curr/2, h_min);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&amp;quot;&amp;nbsp; Rejecting, new h = %8.5f\n&amp;quot;, h_curr);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;end do:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Exact solution for comparison&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;exact := x -&amp;gt; 3*sin(x) - 5*cos(x);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;errors := [seq(abs(V[i] - exact(X[i])), i=1..nops(X))];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;# Visualization&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;p1 := pointplot([seq([X[i], errors[i]], i=1..nops(X))], color=red, symbol=circle, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; title=&amp;quot;Example 1: Variable Step-Size TFSB - Absolute Errors&amp;quot;, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&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; labels=[&amp;quot;x&amp;quot;, &amp;quot;Error&amp;quot;], labeldirections=[horizontal,vertical]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;p2 := plot([[x_curr, h_curr]], x=a..b, style=point, color=blue, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title=&amp;quot;Step-size evolution&amp;quot;, labels=[&amp;quot;x&amp;quot;, &amp;quot;h&amp;quot;]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;display(p1);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;display(p2);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;printf(&amp;quot;\nFinal results for Example 1:\n&amp;quot;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;printf(&amp;quot;Number of steps: %d\n&amp;quot;, nops(X)-1);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;printf(&amp;quot;Maximum error: %e\n&amp;quot;, max(errors));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-bottom:11px"&gt;&lt;span style="font-size:12pt"&gt;&lt;span style="line-height:115%"&gt;&lt;span style="font-family:Aptos,sans-serif"&gt;printf(&amp;quot;Final step-size: %f\n&amp;quot;, h_curr);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
</description>
      <guid>243599</guid>
      <pubDate>Sun, 17 May 2026 16:26:57 Z</pubDate>
      <itunes:author>abdulganiy</itunes:author>
      <author>abdulganiy</author>
    </item>
    <item>
      <title>Problem contourplot3d and orientation</title>
      <link>http://www.mapleprimes.com/questions/243598-Problem-Contourplot3d-And-Orientation?ref=Feed:MaplePrimes:Unanswered Questions</link>
      <itunes:summary>&lt;p&gt;Since Maple version 2026, I have noticed that the orientation option with the contourplot3d command has no effect.&lt;/p&gt;

&lt;p&gt;It is easy to control by using the example provided in the online help and adding, for example, orientation=[20,10,10].&lt;/p&gt;

&lt;p&gt;Thank you for your help.&lt;/p&gt;

&lt;p&gt;Best regards.&lt;/p&gt;
</itunes:summary>
      <description>&lt;p&gt;Since Maple version 2026, I have noticed that the orientation option with the contourplot3d command has no effect.&lt;/p&gt;

&lt;p&gt;It is easy to control by using the example provided in the online help and adding, for example, orientation=[20,10,10].&lt;/p&gt;

&lt;p&gt;Thank you for your help.&lt;/p&gt;

&lt;p&gt;Best regards.&lt;/p&gt;
</description>
      <guid>243598</guid>
      <pubDate>Sun, 17 May 2026 15:32:37 Z</pubDate>
      <itunes:author>Aliocha</itunes:author>
      <author>Aliocha</author>
    </item>
    <item>
      <title>bug removing favorites?</title>
      <link>http://www.mapleprimes.com/questions/243596-Bug-Removing-Favorites?ref=Feed:MaplePrimes:Unanswered Questions</link>
      <itunes:summary>&lt;p&gt;&lt;span style="font-size:16px;"&gt;On my system (Windows 11) I can only remove an entry from the favorites when a document is open. With all documents closed removing does not work.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:16px;"&gt;Can someone confirm?&lt;/span&gt;&lt;/p&gt;
</itunes:summary>
      <description>&lt;p&gt;&lt;span style="font-size:16px;"&gt;On my system (Windows 11) I can only remove an entry from the favorites when a document is open. With all documents closed removing does not work.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:16px;"&gt;Can someone confirm?&lt;/span&gt;&lt;/p&gt;
</description>
      <guid>243596</guid>
      <pubDate>Fri, 15 May 2026 18:34:58 Z</pubDate>
      <itunes:author>C_R</itunes:author>
      <author>C_R</author>
    </item>
  </channel>
</rss>