{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE " " -1 257 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 259 "Courie r" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 260 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 261 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 262 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 263 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 264 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 265 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE " " -1 266 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 267 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 268 "Courier " 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 269 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 270 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 271 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 272 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 273 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 274 "C ourier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 275 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 276 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 277 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 284 "" 1 12 0 0 0 0 0 2 2 0 0 0 0 0 0 1 }{CSTYLE "" -1 285 "Courier" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Text Output" -1 6 1 {CSTYLE "" -1 -1 "Co urier" 1 10 0 0 255 1 2 2 2 2 2 1 2 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Error" -1 8 1 {CSTYLE "" -1 -1 "Courier" 1 10 255 0 255 1 2 2 2 2 2 1 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Outpu t" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 } 3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 12 1 {CSTYLE " " -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Title" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 24 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }2 1 0 0 12 12 1 0 1 0 2 2 19 1 }} {SECT 0 {SECT 1 {PARA 256 "" 0 "" {TEXT -1 37 "Chapter 4\n\nGetting Ar ound with Maple\n" }}{PARA 0 "" 0 "" {TEXT 284 31 "\251 Copyright 2003 by Andr\351 Heck." }}}{SECT 1 {PARA 0 "" 0 "" {TEXT 257 2 "1." } {TEXT -1 77 " Find out where the Maple library resides on your compute r and read the file " }{TEXT 256 9 "isolate.m" }{TEXT -1 28 " from th e library with the " }{TEXT 0 4 "read" }{TEXT -1 67 " instruction. Her eafter, display the source code of the procedure.\n" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "libname; # location of library\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q=C:\\Program~Files\\Maple~8/lib6\"" }}}{PARA 0 "" 0 " " {TEXT -1 34 "We select the name that ends with " }{TEXT 285 3 "lib" }{TEXT -1 25 ". In our case we could do" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "mainlib := op(1, libname);\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(mainlibGQ=C:\\Program~Files\\Maple~8/lib6\"" }}} {PARA 0 "" 0 "" {TEXT -1 63 "A method that is less dependent on the co ntent of the variable " }{TEXT 0 7 "libname" }{TEXT -1 18 ".is the fol lowing:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 71 "mainlib := op(\n \+ select( x->substring(x, -3..-1) = \"lib\", [libname])); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(mainlibGQ=C:\\Program~Files\\Maple~8/lib6\" " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "read \"\"||mainlib||\"/ \"||isolate||\".m\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "iso late(4*x*sin(x)=3, sin(x));\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%$s inG6#%\"xG,$*(\"\"$\"\"\"\"\"%!\"\"F'F-F+" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 25 "interface(verboseproc=3):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "print(isolate);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#f*6%%%exprG%\"xG%\"nG6+%&expr1G%&expr2G%$itoG%#t1G%#xxG%&linopG%)ne w_argsG%*subs_argsG%&funcsG6#%aoCopyright~(c)~1992~by~the~University~o f~Waterloo.~All~rights~reserved.G6\"C2@$555529#\"\"#2\"\"$F<3/Fi nvalid~arguments~for~isolateF4@$4-%$hasG6$FPFKC$@$33-FD6$FK%\"^G-FD6$- %#opG6$F=FK.%)rationalG2\"\"!F_oO/FK*&\"\"\"Fio-F`o6$F=-9!6%FP*&FioFio FK!\"\"&9\"6#;F?F8$FP>F]q/FPFeo@$-FD6$FK%%nameGC$>8,-%'indetsG6$FP-%)specfuncG6$%) anythingGFK@$0Ffq<\"@$2Fio-%%nopsG6#FfqYQaocannot~isolate~for~a~functi on~when~it~appears~with~different~argumentsF4>8+-%$mapG6%f*6$F&%\"yGF4 6$%)operatorG%&arrowGF4/FP-%#ifG6%FY&-%'freezeG6#FP6#FKFhsF4F4F4-Fhq6$ 7$F]qFK-F[r6$F]r<%%%diffG%$intG%%DiffGFK>8*-%%subsG6$/FK%$_XXG-Fht6$Fi rF^t>F]q&Fft6#Fio>8(&Fft6#F=>F]q-Fht6$/FbuF[uF]q@$4Faq?&8)-%'selectG6% FZ-Fhq6$F]q%)functionGFK%%trueG@$3331F=-Fdr6#F\\v-FZ6$-F`o6$FioF\\vFK5 3-FD6$-F`o6$F=F\\vFcq-FZ6$FKFcw3-FD6$Fcw/FcqF]r-FZ6$FK-F`o6$7$F=FioF\\ v-%#isG6$-F`o6$FeoF\\v%*LinearMapGY6$Q5unable~to~isolate~%1F4FK>F]qFfu @%FA>8&FF>F\\y\"'++5?(F4FioFioF\\y0F]q8%C&>FayF]q>F]q-%*traperrorG6#-% 1isolate/isolate1G6#F]q@$/F]q%*lasterrorGYFgx@$2Fio-Fdr6#7#F]qC$-%)use rinfoG6%Fio%(isolateG%8Warning:~solutions~lostG>F]q&F]qF`u>Fir-F[s6$f* 6#F_sF4F`sF4/-Fes6%'-F`o6$F=FP%(indexedG&-F`o6$7$F=FeoFP6#F[uFe[l-F`o6 $FioFPF4F4F4Fir>8'-Fht6$/F[uFK-%%thawG6#-Fht6$FirF]qO-%%evalG6#F`\\lF4 F4F4" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 0 "" 0 "" {TEXT 270 2 "2." }{TEXT -1 30 " Study the interface variable " }{TEXT 0 4 "echo" }{TEXT -1 28 ".\n\n- First, create the file " } {TEXT 259 8 "readfile" }{TEXT -1 74 " in your home directory and let t he file contain the single Maple command\n" }{TEXT 0 12 " b := 2; " }{TEXT -1 28 "\n\n- Second, create the file " }{TEXT 260 8 "testfile " }{TEXT -1 77 " in your home directory and let the file contain the f ollowing command lines\n" }{TEXT 0 71 " interface( echo = X );\n \+ a := 1;\n read readfile;\n quit\n" }{TEXT -1 83 " \n- Third , if your platform allows this, launch Maple from your home directory \+ by \n" }{TEXT 0 21 " maple < testfile" }{TEXT -1 68 "\nso that all commands come from the particular file, while changing " }{TEXT 0 1 " X" }{TEXT -1 22 " in the first line of " }{TEXT 261 8 "testfile" } {TEXT -1 60 " into 0, 1, 2, 3, and 4, respectively.\n\n- Finally, read the " }{TEXT 263 8 "testfile" }{TEXT -1 39 " in a Maple session with \+ the procedure " }{TEXT 0 4 "read" }{TEXT -1 17 ", while changing " } {TEXT 0 1 "X" }{TEXT -1 22 " in the first line of " }{TEXT 262 8 "test file" }{TEXT -1 39 " into 0, 1, 2, 3, and 4, respectively.\n" }}{PARA 0 "" 0 "" {TEXT -1 20 "First we create the " }{TEXT 269 8 "readfile" } {TEXT -1 1 "." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "b:=2;\n" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 17 "save b, readfile;" }}}{PARA 0 "" 0 "" {TEXT -1 30 "Now, we assume that the files " }{TEXT 264 11 "chap4/file0" } {TEXT -1 3 ", " }{TEXT 265 11 "chap4/file1" }{TEXT -1 2 ", " }{TEXT 267 3 "..." }{TEXT -1 3 ", " }{TEXT 266 11 "chap4/file4" }{TEXT -1 22 " have the contents of " }{TEXT 268 8 "testfile" }{TEXT -1 12 " for values " }{TEXT 0 1 "X" }{TEXT -1 58 "=0,1, ..., and 4, and we read t he files one after another." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "read \"chap4 /file0\";\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"aG\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "read \"chap4/file1\";\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"aG\"\" \"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG\"\"#" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "read \"chap4/file2\";\n" }}{PARA 6 "" 1 "" {TEXT -1 9 "> a := 1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"aG\"\"\"" }}{PARA 6 "" 1 "" {TEXT -1 16 "> read readfile;" }}{PARA 6 "" 1 "" {TEXT -1 9 "> b := 2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG\"\"#" }}{PARA 6 " " 1 "" {TEXT -1 2 "> " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "res tart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "read \"chap4/file3 \";\n" }}{PARA 6 "" 1 "" {TEXT -1 9 "> a := 1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"aG\"\"\"" }}{PARA 6 "" 1 "" {TEXT -1 16 "> read rea dfile;" }}{PARA 6 "" 1 "" {TEXT -1 9 "> b := 2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG\"\"#" }}{PARA 6 "" 1 "" {TEXT -1 2 "> " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 20 "read \"chap4/file4\";\n" }}{PARA 6 "" 1 "" {TEXT -1 9 "> a := 1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"aG\"\"\" " }}{PARA 6 "" 1 "" {TEXT -1 16 "> read readfile;" }}{PARA 6 "" 1 "" {TEXT -1 9 "> b := 2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG\"\"#" }}{PARA 6 "" 1 "" {TEXT -1 2 "> " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "interface( echo=1 ); # reset interface variable to de fault" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 0 "" 0 "" {TEXT 272 2 "3." }{TEXT -1 43 " Create a file with the following contents\n" }{TEXT 0 154 " I := 1; # syntactically correc t, but run-time error\n x := 2; # correct input line\n wrong name : = 3; # syntax error\n y := 4; # correct input line\n" }{TEXT -1 127 "For each possible value of the interface variable errorbreak, fin d out what happens when you read the file in a Maple session.\n" }} {PARA 0 "" 0 "" {TEXT -1 36 "The file that contains the lines is " } {TEXT 271 11 "chap4/input" }{TEXT -1 49 " and below you see the reacti on of Maple on a PC." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "resta rt;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "interface( errorbrea k=0 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "read \"chap4/inpu t\";\n" }}{PARA 8 "" 1 "" {TEXT -1 42 "Error, illegal use of an object as a name\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"xG\"\"#" }}{PARA 8 "" 1 "" {TEXT -1 50 "on line 3, syntax error, missing operator or `; `:\n" }}{PARA 6 "" 1 "" {TEXT -1 32 "wrong name := 3; # syntax error " }}{PARA 6 "" 1 "" {TEXT -1 10 " ^" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"yG\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "x,y;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"#\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 26 "interface( errorbreak=1 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "read \"chap4/input\";\n" }}{PARA 8 "" 1 "" {TEXT -1 42 "Error, illegal use of an object as a name\n" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%\"xG\"\"#" }}{PARA 8 "" 1 "" {TEXT -1 50 "on l ine 3, syntax error, missing operator or `;`:\n" }}{PARA 6 "" 1 "" {TEXT -1 32 "wrong name := 3; # syntax error" }}{PARA 6 "" 1 "" {TEXT -1 10 " ^" }}{PARA 8 "" 1 "" {TEXT -1 35 "Error, while r eading `chap4/input`\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "x, y;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"#%\"yG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "interface( errorbreak=2 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "read \"chap4/input\";\n" }}{PARA 8 "" 1 "" {TEXT -1 42 "Error, illegal use of an object as a name\n" }}{PARA 8 "" 1 "" {TEXT -1 35 "Error, while reading `chap4/input`\n" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 5 "x,y;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%\" xG%\"yG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 0 "" 0 "" {TEXT 276 2 "4." }{TEXT -1 71 " Consider a data file, \+ three lines long with the following information\n" }{TEXT 273 28 " \+ 1 2\n 3 4 \n 5 6\n" }{TEXT -1 111 "Read this file, convert th e data into a matrix, transpose the matrix, and then printout the data in the format\n" }{TEXT 274 24 " 1 2 3\n 4 5 6\n" }}{PARA 0 "" 0 "" {TEXT -1 43 "Assume that the data is stored in the file " } {TEXT 275 10 "chap4/data" }{TEXT -1 1 "." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "readdata(\"chap4/data\", integer, 2);\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%7$\"\"\"\"\"#7$\"\"$\"\"%7$\"\"&\"\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "convert(%, Matrix);\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")?+F:-%'MATRIXG6#7%7$\"\"\"\"\"#7$\"\"$\" \"%7$\"\"&\"\"'%'MatrixG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "LinearAlgebra:-Transpose(%);\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%' RTABLEG6%\")7Lb:-%'MATRIXG6#7$7%\"\"\"\"\"$\"\"&7%\"\"#\"\"%\"\"'%'Mat rixG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "convert(%, matrix); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7%\"\"\"\"\"$\"\"&7% \"\"#\"\"%\"\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "writedat a(terminal, %);\n" }}{PARA 6 "" 1 "" {TEXT -1 38 "1 \0113 \+ \0115 " }}{PARA 6 "" 1 "" {TEXT -1 38 "2 \+ \0114 \0116 " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 0 "" 0 "" {TEXT 277 2 "5." }{TEXT -1 49 " Compute the second derivative of the expression " }{XPPEDIT 18 0 "x^(x^x)" "6#)%\"xG)F$F$" }{TEXT -1 79 " and translate the result into FORTRAN. Check the effect of code optimization.\n" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 28 "expr := diff(x^(x^x), x$2);\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%exprG,&*&)%\"xG)F(F(\"\"\"),&*(F)F*,&-%#lnG6#F(F*F*F *F*F/F*F**&F)F*F(!\"\"F*\"\"#F*F**&F'F*,**(F)F*)F.F4F*F/F*F**(F)F*F(F3 F/F*F***F4F*F)F*F.F*F(F3F**&F)F*F(!\"#F3F*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "CodeGeneration[Fortran](expr);\n" }}{PARA 6 "" 1 "" {TEXT -1 73 " cg = x ** (x ** x) * (x ** x * (log(x) + 0.1D1 ) * log(x) + x ** x /" }}{PARA 6 "" 1 "" {TEXT -1 73 " # x) ** 2 + x ** (x ** x) * (x ** x * (log(x) + 0.1D1) ** 2 * log(x)" }}{PARA 6 " " 1 "" {TEXT -1 73 " # + x ** x / x * log(x) + 0.2D1 * x ** x * (l og(x) + 0.1D1) / x - x " }}{PARA 6 "" 1 "" {TEXT -1 20 " #** x / x ** 2)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "CodeGeneration[Fo rtran](expr, optimize=true);\n" }}{PARA 6 "" 1 "" {TEXT -1 17 " t 1 = x ** x" }}{PARA 6 "" 1 "" {TEXT -1 18 " t2 = x ** t1" }} {PARA 6 "" 1 "" {TEXT -1 17 " t3 = log(x)" }}{PARA 6 "" 1 "" {TEXT -1 21 " t4 = t3 + 0.1D1" }}{PARA 6 "" 1 "" {TEXT -1 18 " \+ t5 = t1 * t4" }}{PARA 6 "" 1 "" {TEXT -1 21 " t7 = 0.10D1 / x " }}{PARA 6 "" 1 "" {TEXT -1 18 " t8 = t1 * t7" }}{PARA 6 "" 1 " " {TEXT -1 31 " t10 = (t5 * t3 + t8) ** 2" }}{PARA 6 "" 1 "" {TEXT -1 19 " t12 = t4 ** 2" }}{PARA 6 "" 1 "" {TEXT -1 18 " \+ t18 = x ** 2" }}{PARA 6 "" 1 "" {TEXT -1 73 " t23 = t2 * t10 + t 2 * (t1 * t12 * t3 + t8 * t3 + 0.2D1 * t5 * t7 - " }}{PARA 6 "" 1 "" {TEXT -1 15 " #t1 / t18)" }}}{PARA 0 "" 0 "" {TEXT -1 61 "The effe ct of optimization can be shown in the following way:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "codegen[cost](expr);\n" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#,**&\"\")\"\"\"%*additionsGF&F&*&\"#AF&%0multiplicati onsGF&F&*&\"#EF&%*functionsGF&F&*&\"\"%F&%*divisionsGF&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "codegen[cost](codegen[optimize](exp r));\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,,*&\"\"&\"\"\"%*functionsGF &F&*&\"#:F&%0multiplicationsGF&F&*&\"#6F&%,assignmentsGF&F&*&\"\"'F&%* additionsGF&F&*&\"\"#F&%*divisionsGF&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "codegen[optimize](expr);\n" }}{PARA 12 "" 1 "" {XPPMATH 20 "6-/%#t1G)%\"xGF&/%#t2G)F&F$/%#t3G-%#lnG6#F&/%#t4G,&F+\"\" \"F2F2/%#t5G*&F$F2F0F2/%#t7G*&F2F2F&!\"\"/%#t8G*&F$F2F7F2/%$t10G*$),&* &F4F2F+F2F2F;F2\"\"#F2/%$t12G*$)F0FCF2/%$t18G*$)F&FCF2/%$t23G,&*&F(F2F >F2F2*&F(F2,**(F$F2FEF2F+F2F2*&F;F2F+F2F2*(FCF2F4F2F7F2F2*&F$F2FIF9F9F 2F2" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{MARK "0" 0 } {VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }