findRoot([1, 1.0, 1.0e-15], 1.4142135623730951).
findRoot([2, 2.0, 1.0e-15], 2.718281828459045).
findRoot([3, 3.0, 1.0e-15], 3.141592653589793).

clause(1, want_root([1, 1.0, 1.0e-15]), true).
clause(2, want_root([2, 2.0, 1.0e-15]), true).
clause(3, want_root([3, 3.0, 1.0e-15]), true).
clause(4,
       findRoot(var('Input'), var('Root')),
       (want_root(var('Input')), find_root(var('Input'), var('Root')))).
clause(5,
       f(1, var('X'), var('Y')),
       (var('Xx') is var('X') * var('X'), var('Y') is var('Xx') - 2)).
clause(6, f(2, var('X'), var('Y')), (var('Lx') is log(var('X')), var('Y') is var('Lx') - 1)).
clause(7, f(3, var('X'), var('Y')), var('Y') is sin(var('X'))).
clause(8, fd(1, var('X'), var('Y')), var('Y') is 2 * var('X')).
clause(9, fd(2, var('X'), var('Y')), var('Y') is 1 / var('X')).
clause(10, fd(3, var('X'), var('Y')), var('Y') is cos(var('X'))).
clause(11,
       find_root([var('N'), var('X'), var('Tolerance')], var('X')),
       (f(var('N'), var('X'), var('Fx')),
        var('Afx') is abs(var('Fx')),
        var('Afx') < var('Tolerance'))).
clause(12,
       find_root([var('N'), var('X'), var('Tolerance')], var('Root')),
       (f(var('N'), var('X'), var('Fx')),
        var('Afx') is abs(var('Fx')),
        var('Afx') >= var('Tolerance'),
        fd(var('N'), var('X'), var('Fdx')),
        var('Step') is var('Fx') / var('Fdx'),
        var('Newx') is var('X') - var('Step'),
        find_root([var('N'), var('Newx'), var('Tolerance')], var('Root')))).

step(findRoot([1, 1.0, 1.0e-15], 1.4142135623730951),
     rule(4),
     ['Input' = [1, 1.0, 1.0e-15], 'Root' = 1.4142135623730951],
     [want_root([1, 1.0, 1.0e-15]), find_root([1, 1.0, 1.0e-15], 1.4142135623730951)]).
step(want_root([1, 1.0, 1.0e-15]), fact(1), [], []).
step(find_root([1, 1.0, 1.0e-15], 1.4142135623730951),
     rule(12),
     ['N' = 1,
      'X' = 1.0,
      'Tolerance' = 1.0e-15,
      'Root' = 1.4142135623730951,
      'Fx' = -1.0,
      'Afx' = 1.0,
      'Fdx' = 2.0,
      'Step' = -0.5,
      'Newx' = 1.5],
     [f(1, 1.0, -1.0),
      1.0 is abs(-1.0),
      1.0 >= 1.0e-15,
      fd(1, 1.0, 2.0),
      -0.5 is -1.0 / 2.0,
      1.5 is 1.0 - -0.5,
      find_root([1, 1.5, 1.0e-15], 1.4142135623730951)]).
step(f(1, 1.0, -1.0),
     rule(5),
     ['X' = 1.0, 'Y' = -1.0, 'Xx' = 1.0],
     [1.0 is 1.0 * 1.0, -1.0 is 1.0 - 2]).
step(1.0 is 1.0 * 1.0, builtin, [], []).
step(-1.0 is 1.0 - 2, builtin, [], []).
step(1.0 is abs(-1.0), builtin, [], []).
step(1.0 >= 1.0e-15, builtin, [], []).
step(fd(1, 1.0, 2.0), rule(8), ['X' = 1.0, 'Y' = 2.0], [2.0 is 2 * 1.0]).
step(2.0 is 2 * 1.0, builtin, [], []).
step(-0.5 is -1.0 / 2.0, builtin, [], []).
step(1.5 is 1.0 - -0.5, builtin, [], []).
step(find_root([1, 1.5, 1.0e-15], 1.4142135623730951),
     rule(12),
     ['N' = 1,
      'X' = 1.5,
      'Tolerance' = 1.0e-15,
      'Root' = 1.4142135623730951,
      'Fx' = 0.25,
      'Afx' = 0.25,
      'Fdx' = 3.0,
      'Step' = 0.08333333333333333,
      'Newx' = 1.4166666666666667],
     [f(1, 1.5, 0.25),
      0.25 is abs(0.25),
      0.25 >= 1.0e-15,
      fd(1, 1.5, 3.0),
      0.08333333333333333 is 0.25 / 3.0,
      1.4166666666666667 is 1.5 - 0.08333333333333333,
      find_root([1, 1.4166666666666667, 1.0e-15], 1.4142135623730951)]).
step(f(1, 1.5, 0.25),
     rule(5),
     ['X' = 1.5, 'Y' = 0.25, 'Xx' = 2.25],
     [2.25 is 1.5 * 1.5, 0.25 is 2.25 - 2]).
step(2.25 is 1.5 * 1.5, builtin, [], []).
step(0.25 is 2.25 - 2, builtin, [], []).
step(0.25 is abs(0.25), builtin, [], []).
step(0.25 >= 1.0e-15, builtin, [], []).
step(fd(1, 1.5, 3.0), rule(8), ['X' = 1.5, 'Y' = 3.0], [3.0 is 2 * 1.5]).
step(3.0 is 2 * 1.5, builtin, [], []).
step(0.08333333333333333 is 0.25 / 3.0, builtin, [], []).
step(1.4166666666666667 is 1.5 - 0.08333333333333333, builtin, [], []).
step(find_root([1, 1.4166666666666667, 1.0e-15], 1.4142135623730951),
     rule(12),
     ['N' = 1,
      'X' = 1.4166666666666667,
      'Tolerance' = 1.0e-15,
      'Root' = 1.4142135623730951,
      'Fx' = 0.006944444444444642,
      'Afx' = 0.006944444444444642,
      'Fdx' = 2.8333333333333335,
      'Step' = 0.002450980392156932,
      'Newx' = 1.4142156862745099],
     [f(1, 1.4166666666666667, 0.006944444444444642),
      0.006944444444444642 is abs(0.006944444444444642),
      0.006944444444444642 >= 1.0e-15,
      fd(1, 1.4166666666666667, 2.8333333333333335),
      0.002450980392156932 is 0.006944444444444642 / 2.8333333333333335,
      1.4142156862745099 is 1.4166666666666667 - 0.002450980392156932,
      find_root([1, 1.4142156862745099, 1.0e-15], 1.4142135623730951)]).
step(f(1, 1.4166666666666667, 0.006944444444444642),
     rule(5),
     ['X' = 1.4166666666666667, 'Y' = 0.006944444444444642, 'Xx' = 2.0069444444444446],
     [2.0069444444444446 is 1.4166666666666667 * 1.4166666666666667,
      0.006944444444444642 is 2.0069444444444446 - 2]).
step(2.0069444444444446 is 1.4166666666666667 * 1.4166666666666667, builtin, [], []).
step(0.006944444444444642 is 2.0069444444444446 - 2, builtin, [], []).
step(0.006944444444444642 is abs(0.006944444444444642), builtin, [], []).
step(0.006944444444444642 >= 1.0e-15, builtin, [], []).
step(fd(1, 1.4166666666666667, 2.8333333333333335),
     rule(8),
     ['X' = 1.4166666666666667, 'Y' = 2.8333333333333335],
     [2.8333333333333335 is 2 * 1.4166666666666667]).
step(2.8333333333333335 is 2 * 1.4166666666666667, builtin, [], []).
step(0.002450980392156932 is 0.006944444444444642 / 2.8333333333333335, builtin, [], []).
step(1.4142156862745099 is 1.4166666666666667 - 0.002450980392156932, builtin, [], []).
step(find_root([1, 1.4142156862745099, 1.0e-15], 1.4142135623730951),
     rule(12),
     ['N' = 1,
      'X' = 1.4142156862745099,
      'Tolerance' = 1.0e-15,
      'Root' = 1.4142135623730951,
      'Fx' = 0.000006007304882871267,
      'Afx' = 0.000006007304882871267,
      'Fdx' = 2.8284313725490198,
      'Step' = 0.000002123899819940621,
      'Newx' = 1.4142135623746899],
     [f(1, 1.4142156862745099, 0.000006007304882871267),
      0.000006007304882871267 is abs(0.000006007304882871267),
      0.000006007304882871267 >= 1.0e-15,
      fd(1, 1.4142156862745099, 2.8284313725490198),
      0.000002123899819940621 is 0.000006007304882871267 / 2.8284313725490198,
      1.4142135623746899 is 1.4142156862745099 - 0.000002123899819940621,
      find_root([1, 1.4142135623746899, 1.0e-15], 1.4142135623730951)]).
step(f(1, 1.4142156862745099, 0.000006007304882871267),
     rule(5),
     ['X' = 1.4142156862745099, 'Y' = 0.000006007304882871267, 'Xx' = 2.000006007304883],
     [2.000006007304883 is 1.4142156862745099 * 1.4142156862745099,
      0.000006007304882871267 is 2.000006007304883 - 2]).
step(2.000006007304883 is 1.4142156862745099 * 1.4142156862745099, builtin, [], []).
step(0.000006007304882871267 is 2.000006007304883 - 2, builtin, [], []).
step(0.000006007304882871267 is abs(0.000006007304882871267), builtin, [], []).
step(0.000006007304882871267 >= 1.0e-15, builtin, [], []).
step(fd(1, 1.4142156862745099, 2.8284313725490198),
     rule(8),
     ['X' = 1.4142156862745099, 'Y' = 2.8284313725490198],
     [2.8284313725490198 is 2 * 1.4142156862745099]).
step(2.8284313725490198 is 2 * 1.4142156862745099, builtin, [], []).
step(0.000002123899819940621 is 0.000006007304882871267 / 2.8284313725490198, builtin, [], []).
step(1.4142135623746899 is 1.4142156862745099 - 0.000002123899819940621, builtin, [], []).
step(find_root([1, 1.4142135623746899, 1.0e-15], 1.4142135623730951),
     rule(12),
     ['N' = 1,
      'X' = 1.4142135623746899,
      'Tolerance' = 1.0e-15,
      'Root' = 1.4142135623730951,
      'Fx' = 4.510614104447086e-12,
      'Afx' = 4.510614104447086e-12,
      'Fdx' = 2.8284271247493797,
      'Step' = 1.5947429102833119e-12,
      'Newx' = 1.4142135623730951],
     [f(1, 1.4142135623746899, 4.510614104447086e-12),
      4.510614104447086e-12 is abs(4.510614104447086e-12),
      4.510614104447086e-12 >= 1.0e-15,
      fd(1, 1.4142135623746899, 2.8284271247493797),
      1.5947429102833119e-12 is 4.510614104447086e-12 / 2.8284271247493797,
      1.4142135623730951 is 1.4142135623746899 - 1.5947429102833119e-12,
      find_root([1, 1.4142135623730951, 1.0e-15], 1.4142135623730951)]).
step(f(1, 1.4142135623746899, 4.510614104447086e-12),
     rule(5),
     ['X' = 1.4142135623746899, 'Y' = 4.510614104447086e-12, 'Xx' = 2.0000000000045106],
     [2.0000000000045106 is 1.4142135623746899 * 1.4142135623746899,
      4.510614104447086e-12 is 2.0000000000045106 - 2]).
step(2.0000000000045106 is 1.4142135623746899 * 1.4142135623746899, builtin, [], []).
step(4.510614104447086e-12 is 2.0000000000045106 - 2, builtin, [], []).
step(4.510614104447086e-12 is abs(4.510614104447086e-12), builtin, [], []).
step(4.510614104447086e-12 >= 1.0e-15, builtin, [], []).
step(fd(1, 1.4142135623746899, 2.8284271247493797),
     rule(8),
     ['X' = 1.4142135623746899, 'Y' = 2.8284271247493797],
     [2.8284271247493797 is 2 * 1.4142135623746899]).
step(2.8284271247493797 is 2 * 1.4142135623746899, builtin, [], []).
step(1.5947429102833119e-12 is 4.510614104447086e-12 / 2.8284271247493797, builtin, [], []).
step(1.4142135623730951 is 1.4142135623746899 - 1.5947429102833119e-12, builtin, [], []).
step(find_root([1, 1.4142135623730951, 1.0e-15], 1.4142135623730951),
     rule(11),
     ['N' = 1,
      'X' = 1.4142135623730951,
      'Tolerance' = 1.0e-15,
      'Fx' = 4.440892098500626e-16,
      'Afx' = 4.440892098500626e-16],
     [f(1, 1.4142135623730951, 4.440892098500626e-16),
      4.440892098500626e-16 is abs(4.440892098500626e-16),
      4.440892098500626e-16 < 1.0e-15]).
step(f(1, 1.4142135623730951, 4.440892098500626e-16),
     rule(5),
     ['X' = 1.4142135623730951, 'Y' = 4.440892098500626e-16, 'Xx' = 2.0000000000000004],
     [2.0000000000000004 is 1.4142135623730951 * 1.4142135623730951,
      4.440892098500626e-16 is 2.0000000000000004 - 2]).
step(2.0000000000000004 is 1.4142135623730951 * 1.4142135623730951, builtin, [], []).
step(4.440892098500626e-16 is 2.0000000000000004 - 2, builtin, [], []).
step(4.440892098500626e-16 is abs(4.440892098500626e-16), builtin, [], []).
step(4.440892098500626e-16 < 1.0e-15, builtin, [], []).
step(findRoot([2, 2.0, 1.0e-15], 2.718281828459045),
     rule(4),
     ['Input' = [2, 2.0, 1.0e-15], 'Root' = 2.718281828459045],
     [want_root([2, 2.0, 1.0e-15]), find_root([2, 2.0, 1.0e-15], 2.718281828459045)]).
step(want_root([2, 2.0, 1.0e-15]), fact(2), [], []).
step(find_root([2, 2.0, 1.0e-15], 2.718281828459045),
     rule(12),
     ['N' = 2,
      'X' = 2.0,
      'Tolerance' = 1.0e-15,
      'Root' = 2.718281828459045,
      'Fx' = -0.3068528194400547,
      'Afx' = 0.3068528194400547,
      'Fdx' = 0.5,
      'Step' = -0.6137056388801094,
      'Newx' = 2.613705638880109],
     [f(2, 2.0, -0.3068528194400547),
      0.3068528194400547 is abs(-0.3068528194400547),
      0.3068528194400547 >= 1.0e-15,
      fd(2, 2.0, 0.5),
      -0.6137056388801094 is -0.3068528194400547 / 0.5,
      2.613705638880109 is 2.0 - -0.6137056388801094,
      find_root([2, 2.613705638880109, 1.0e-15], 2.718281828459045)]).
step(f(2, 2.0, -0.3068528194400547),
     rule(6),
     ['X' = 2.0, 'Y' = -0.3068528194400547, 'Lx' = 0.6931471805599453],
     [0.6931471805599453 is log(2.0), -0.3068528194400547 is 0.6931471805599453 - 1]).
step(0.6931471805599453 is log(2.0), builtin, [], []).
step(-0.3068528194400547 is 0.6931471805599453 - 1, builtin, [], []).
step(0.3068528194400547 is abs(-0.3068528194400547), builtin, [], []).
step(0.3068528194400547 >= 1.0e-15, builtin, [], []).
step(fd(2, 2.0, 0.5), rule(9), ['X' = 2.0, 'Y' = 0.5], [0.5 is 1 / 2.0]).
step(0.5 is 1 / 2.0, builtin, [], []).
step(-0.6137056388801094 is -0.3068528194400547 / 0.5, builtin, [], []).
step(2.613705638880109 is 2.0 - -0.6137056388801094, builtin, [], []).
step(find_root([2, 2.613705638880109, 1.0e-15], 2.718281828459045),
     rule(12),
     ['N' = 2,
      'X' = 2.613705638880109,
      'Tolerance' = 1.0e-15,
      'Root' = 2.718281828459045,
      'Fx' = -0.039231000595620236,
      'Afx' = 0.039231000595620236,
      'Fdx' = 0.3825985547586256,
      'Step' = -0.10253828747568154,
      'Newx' = 2.7162439263557907],
     [f(2, 2.613705638880109, -0.039231000595620236),
      0.039231000595620236 is abs(-0.039231000595620236),
      0.039231000595620236 >= 1.0e-15,
      fd(2, 2.613705638880109, 0.3825985547586256),
      -0.10253828747568154 is -0.039231000595620236 / 0.3825985547586256,
      2.7162439263557907 is 2.613705638880109 - -0.10253828747568154,
      find_root([2, 2.7162439263557907, 1.0e-15], 2.718281828459045)]).
step(f(2, 2.613705638880109, -0.039231000595620236),
     rule(6),
     ['X' = 2.613705638880109, 'Y' = -0.039231000595620236, 'Lx' = 0.9607689994043798],
     [0.9607689994043798 is log(2.613705638880109),
      -0.039231000595620236 is 0.9607689994043798 - 1]).
step(0.9607689994043798 is log(2.613705638880109), builtin, [], []).
step(-0.039231000595620236 is 0.9607689994043798 - 1, builtin, [], []).
step(0.039231000595620236 is abs(-0.039231000595620236), builtin, [], []).
step(0.039231000595620236 >= 1.0e-15, builtin, [], []).
step(fd(2, 2.613705638880109, 0.3825985547586256),
     rule(9),
     ['X' = 2.613705638880109, 'Y' = 0.3825985547586256],
     [0.3825985547586256 is 1 / 2.613705638880109]).
step(0.3825985547586256 is 1 / 2.613705638880109, builtin, [], []).
step(-0.10253828747568154 is -0.039231000595620236 / 0.3825985547586256, builtin, [], []).
step(2.7162439263557907 is 2.613705638880109 - -0.10253828747568154, builtin, [], []).
step(find_root([2, 2.7162439263557907, 1.0e-15], 2.718281828459045),
     rule(12),
     ['N' = 2,
      'X' = 2.7162439263557907,
      'Tolerance' = 1.0e-15,
      'Root' = 2.718281828459045,
      'Fx' = -0.0007499834542035178,
      'Afx' = 0.0007499834542035178,
      'Fdx' = 0.36815544815285994,
      'Step' = -0.002037138002347641,
      'Newx' = 2.7182810643581385],
     [f(2, 2.7162439263557907, -0.0007499834542035178),
      0.0007499834542035178 is abs(-0.0007499834542035178),
      0.0007499834542035178 >= 1.0e-15,
      fd(2, 2.7162439263557907, 0.36815544815285994),
      -0.002037138002347641 is -0.0007499834542035178 / 0.36815544815285994,
      2.7182810643581385 is 2.7162439263557907 - -0.002037138002347641,
      find_root([2, 2.7182810643581385, 1.0e-15], 2.718281828459045)]).
step(f(2, 2.7162439263557907, -0.0007499834542035178),
     rule(6),
     ['X' = 2.7162439263557907, 'Y' = -0.0007499834542035178, 'Lx' = 0.9992500165457965],
     [0.9992500165457965 is log(2.7162439263557907),
      -0.0007499834542035178 is 0.9992500165457965 - 1]).
step(0.9992500165457965 is log(2.7162439263557907), builtin, [], []).
step(-0.0007499834542035178 is 0.9992500165457965 - 1, builtin, [], []).
step(0.0007499834542035178 is abs(-0.0007499834542035178), builtin, [], []).
step(0.0007499834542035178 >= 1.0e-15, builtin, [], []).
step(fd(2, 2.7162439263557907, 0.36815544815285994),
     rule(9),
     ['X' = 2.7162439263557907, 'Y' = 0.36815544815285994],
     [0.36815544815285994 is 1 / 2.7162439263557907]).
step(0.36815544815285994 is 1 / 2.7162439263557907, builtin, [], []).
step(-0.002037138002347641 is -0.0007499834542035178 / 0.36815544815285994, builtin, [], []).
step(2.7182810643581385 is 2.7162439263557907 - -0.002037138002347641, builtin, [], []).
step(find_root([2, 2.7182810643581385, 1.0e-15], 2.718281828459045),
     rule(12),
     ['N' = 2,
      'X' = 2.7182810643581385,
      'Tolerance' = 1.0e-15,
      'Root' = 2.718281828459045,
      'Fx' = -2.8109705407786123e-7,
      'Afx' = 2.8109705407786123e-7,
      'Fdx' = 0.367879544581284,
      'Step' = -7.641007993467059e-7,
      'Newx' = 2.718281828458938],
     [f(2, 2.7182810643581385, -2.8109705407786123e-7),
      2.8109705407786123e-7 is abs(-2.8109705407786123e-7),
      2.8109705407786123e-7 >= 1.0e-15,
      fd(2, 2.7182810643581385, 0.367879544581284),
      -7.641007993467059e-7 is -2.8109705407786123e-7 / 0.367879544581284,
      2.718281828458938 is 2.7182810643581385 - -7.641007993467059e-7,
      find_root([2, 2.718281828458938, 1.0e-15], 2.718281828459045)]).
step(f(2, 2.7182810643581385, -2.8109705407786123e-7),
     rule(6),
     ['X' = 2.7182810643581385, 'Y' = -2.8109705407786123e-7, 'Lx' = 0.9999997189029459],
     [0.9999997189029459 is log(2.7182810643581385),
      -2.8109705407786123e-7 is 0.9999997189029459 - 1]).
step(0.9999997189029459 is log(2.7182810643581385), builtin, [], []).
step(-2.8109705407786123e-7 is 0.9999997189029459 - 1, builtin, [], []).
step(2.8109705407786123e-7 is abs(-2.8109705407786123e-7), builtin, [], []).
step(2.8109705407786123e-7 >= 1.0e-15, builtin, [], []).
step(fd(2, 2.7182810643581385, 0.367879544581284),
     rule(9),
     ['X' = 2.7182810643581385, 'Y' = 0.367879544581284],
     [0.367879544581284 is 1 / 2.7182810643581385]).
step(0.367879544581284 is 1 / 2.7182810643581385, builtin, [], []).
step(-7.641007993467059e-7 is -2.8109705407786123e-7 / 0.367879544581284, builtin, [], []).
step(2.718281828458938 is 2.7182810643581385 - -7.641007993467059e-7, builtin, [], []).
step(find_root([2, 2.718281828458938, 1.0e-15], 2.718281828459045),
     rule(12),
     ['N' = 2,
      'X' = 2.718281828458938,
      'Tolerance' = 1.0e-15,
      'Root' = 2.718281828459045,
      'Fx' = -3.941291737419306e-14,
      'Afx' = 3.941291737419306e-14,
      'Fdx' = 0.3678794411714568,
      'Step' = -1.0713541710482255e-13,
      'Newx' = 2.718281828459045],
     [f(2, 2.718281828458938, -3.941291737419306e-14),
      3.941291737419306e-14 is abs(-3.941291737419306e-14),
      3.941291737419306e-14 >= 1.0e-15,
      fd(2, 2.718281828458938, 0.3678794411714568),
      -1.0713541710482255e-13 is -3.941291737419306e-14 / 0.3678794411714568,
      2.718281828459045 is 2.718281828458938 - -1.0713541710482255e-13,
      find_root([2, 2.718281828459045, 1.0e-15], 2.718281828459045)]).
step(f(2, 2.718281828458938, -3.941291737419306e-14),
     rule(6),
     ['X' = 2.718281828458938, 'Y' = -3.941291737419306e-14, 'Lx' = 0.9999999999999606],
     [0.9999999999999606 is log(2.718281828458938),
      -3.941291737419306e-14 is 0.9999999999999606 - 1]).
step(0.9999999999999606 is log(2.718281828458938), builtin, [], []).
step(-3.941291737419306e-14 is 0.9999999999999606 - 1, builtin, [], []).
step(3.941291737419306e-14 is abs(-3.941291737419306e-14), builtin, [], []).
step(3.941291737419306e-14 >= 1.0e-15, builtin, [], []).
step(fd(2, 2.718281828458938, 0.3678794411714568),
     rule(9),
     ['X' = 2.718281828458938, 'Y' = 0.3678794411714568],
     [0.3678794411714568 is 1 / 2.718281828458938]).
step(0.3678794411714568 is 1 / 2.718281828458938, builtin, [], []).
step(-1.0713541710482255e-13 is -3.941291737419306e-14 / 0.3678794411714568, builtin, [], []).
step(2.718281828459045 is 2.718281828458938 - -1.0713541710482255e-13, builtin, [], []).
step(find_root([2, 2.718281828459045, 1.0e-15], 2.718281828459045),
     rule(11),
     ['N' = 2, 'X' = 2.718281828459045, 'Tolerance' = 1.0e-15, 'Fx' = 0.0, 'Afx' = 0.0],
     [f(2, 2.718281828459045, 0.0), 0.0 is abs(0.0), 0.0 < 1.0e-15]).
step(f(2, 2.718281828459045, 0.0),
     rule(6),
     ['X' = 2.718281828459045, 'Y' = 0.0, 'Lx' = 1.0],
     [1.0 is log(2.718281828459045), 0.0 is 1.0 - 1]).
step(1.0 is log(2.718281828459045), builtin, [], []).
step(0.0 is 1.0 - 1, builtin, [], []).
step(0.0 is abs(0.0), builtin, [], []).
step(0.0 < 1.0e-15, builtin, [], []).
step(findRoot([3, 3.0, 1.0e-15], 3.141592653589793),
     rule(4),
     ['Input' = [3, 3.0, 1.0e-15], 'Root' = 3.141592653589793],
     [want_root([3, 3.0, 1.0e-15]), find_root([3, 3.0, 1.0e-15], 3.141592653589793)]).
step(want_root([3, 3.0, 1.0e-15]), fact(3), [], []).
step(find_root([3, 3.0, 1.0e-15], 3.141592653589793),
     rule(12),
     ['N' = 3,
      'X' = 3.0,
      'Tolerance' = 1.0e-15,
      'Root' = 3.141592653589793,
      'Fx' = 0.1411200080598672,
      'Afx' = 0.1411200080598672,
      'Fdx' = -0.9899924966004454,
      'Step' = -0.1425465430742778,
      'Newx' = 3.142546543074278],
     [f(3, 3.0, 0.1411200080598672),
      0.1411200080598672 is abs(0.1411200080598672),
      0.1411200080598672 >= 1.0e-15,
      fd(3, 3.0, -0.9899924966004454),
      -0.1425465430742778 is 0.1411200080598672 / -0.9899924966004454,
      3.142546543074278 is 3.0 - -0.1425465430742778,
      find_root([3, 3.142546543074278, 1.0e-15], 3.141592653589793)]).
step(f(3, 3.0, 0.1411200080598672),
     rule(7),
     ['X' = 3.0, 'Y' = 0.1411200080598672],
     [0.1411200080598672 is sin(3.0)]).
step(0.1411200080598672 is sin(3.0), builtin, [], []).
step(0.1411200080598672 is abs(0.1411200080598672), builtin, [], []).
step(0.1411200080598672 >= 1.0e-15, builtin, [], []).
step(fd(3, 3.0, -0.9899924966004454),
     rule(10),
     ['X' = 3.0, 'Y' = -0.9899924966004454],
     [-0.9899924966004454 is cos(3.0)]).
step(-0.9899924966004454 is cos(3.0), builtin, [], []).
step(-0.1425465430742778 is 0.1411200080598672 / -0.9899924966004454, builtin, [], []).
step(3.142546543074278 is 3.0 - -0.1425465430742778, builtin, [], []).
step(find_root([3, 3.142546543074278, 1.0e-15], 3.141592653589793),
     rule(12),
     ['N' = 3,
      'X' = 3.142546543074278,
      'Tolerance' = 1.0e-15,
      'Root' = 3.141592653589793,
      'Fx' = -0.0009538893398264409,
      'Afx' = 0.0009538893398264409,
      'Fdx' = -0.9999995450474601,
      'Step' = 0.0009538897738010163,
      'Newx' = 3.141592653300477],
     [f(3, 3.142546543074278, -0.0009538893398264409),
      0.0009538893398264409 is abs(-0.0009538893398264409),
      0.0009538893398264409 >= 1.0e-15,
      fd(3, 3.142546543074278, -0.9999995450474601),
      0.0009538897738010163 is -0.0009538893398264409 / -0.9999995450474601,
      3.141592653300477 is 3.142546543074278 - 0.0009538897738010163,
      find_root([3, 3.141592653300477, 1.0e-15], 3.141592653589793)]).
step(f(3, 3.142546543074278, -0.0009538893398264409),
     rule(7),
     ['X' = 3.142546543074278, 'Y' = -0.0009538893398264409],
     [-0.0009538893398264409 is sin(3.142546543074278)]).
step(-0.0009538893398264409 is sin(3.142546543074278), builtin, [], []).
step(0.0009538893398264409 is abs(-0.0009538893398264409), builtin, [], []).
step(0.0009538893398264409 >= 1.0e-15, builtin, [], []).
step(fd(3, 3.142546543074278, -0.9999995450474601),
     rule(10),
     ['X' = 3.142546543074278, 'Y' = -0.9999995450474601],
     [-0.9999995450474601 is cos(3.142546543074278)]).
step(-0.9999995450474601 is cos(3.142546543074278), builtin, [], []).
step(0.0009538897738010163 is -0.0009538893398264409 / -0.9999995450474601, builtin, [], []).
step(3.141592653300477 is 3.142546543074278 - 0.0009538897738010163, builtin, [], []).
step(find_root([3, 3.141592653300477, 1.0e-15], 3.141592653589793),
     rule(12),
     ['N' = 3,
      'X' = 3.141592653300477,
      'Tolerance' = 1.0e-15,
      'Root' = 3.141592653589793,
      'Fx' = 2.8931624907621843e-10,
      'Afx' = 2.8931624907621843e-10,
      'Fdx' = -1.0,
      'Step' = -2.8931624907621843e-10,
      'Newx' = 3.141592653589793],
     [f(3, 3.141592653300477, 2.8931624907621843e-10),
      2.8931624907621843e-10 is abs(2.8931624907621843e-10),
      2.8931624907621843e-10 >= 1.0e-15,
      fd(3, 3.141592653300477, -1.0),
      -2.8931624907621843e-10 is 2.8931624907621843e-10 / -1.0,
      3.141592653589793 is 3.141592653300477 - -2.8931624907621843e-10,
      find_root([3, 3.141592653589793, 1.0e-15], 3.141592653589793)]).
step(f(3, 3.141592653300477, 2.8931624907621843e-10),
     rule(7),
     ['X' = 3.141592653300477, 'Y' = 2.8931624907621843e-10],
     [2.8931624907621843e-10 is sin(3.141592653300477)]).
step(2.8931624907621843e-10 is sin(3.141592653300477), builtin, [], []).
step(2.8931624907621843e-10 is abs(2.8931624907621843e-10), builtin, [], []).
step(2.8931624907621843e-10 >= 1.0e-15, builtin, [], []).
step(fd(3, 3.141592653300477, -1.0),
     rule(10),
     ['X' = 3.141592653300477, 'Y' = -1.0],
     [-1.0 is cos(3.141592653300477)]).
step(-1.0 is cos(3.141592653300477), builtin, [], []).
step(-2.8931624907621843e-10 is 2.8931624907621843e-10 / -1.0, builtin, [], []).
step(3.141592653589793 is 3.141592653300477 - -2.8931624907621843e-10, builtin, [], []).
step(find_root([3, 3.141592653589793, 1.0e-15], 3.141592653589793),
     rule(11),
     ['N' = 3,
      'X' = 3.141592653589793,
      'Tolerance' = 1.0e-15,
      'Fx' = 1.2246467991473532e-16,
      'Afx' = 1.2246467991473532e-16],
     [f(3, 3.141592653589793, 1.2246467991473532e-16),
      1.2246467991473532e-16 is abs(1.2246467991473532e-16),
      1.2246467991473532e-16 < 1.0e-15]).
step(f(3, 3.141592653589793, 1.2246467991473532e-16),
     rule(7),
     ['X' = 3.141592653589793, 'Y' = 1.2246467991473532e-16],
     [1.2246467991473532e-16 is sin(3.141592653589793)]).
step(1.2246467991473532e-16 is sin(3.141592653589793), builtin, [], []).
step(1.2246467991473532e-16 is abs(1.2246467991473532e-16), builtin, [], []).
step(1.2246467991473532e-16 < 1.0e-15, builtin, [], []).
