Numeric.AD.Rank1.Halley:findZero from ad-4.2.4

Time bar (total: 20.9s)

analyze905.0ms (4.3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
25%25%74.9%0.2%0%0%0%5
25%25%74.9%0.2%0%0%0%6
31.3%31.2%68.6%0.2%0%0%0%7
40.6%40.5%59.3%0.2%0%0%0%8
50%49.9%49.9%0.2%0%0%0%9
50%49.9%49.9%0.2%0%0%0%10
54.7%54.6%45.2%0.2%0%0%0%11
62.5%62.4%37.4%0.2%0%0%0%12
Compiler

Compiled 22 to 14 computations (36.4% saved)

sample19.1s (91.6%)

Results
2.6s8256×0valid-rival
1.1s8188×0valid-sollya
340.0ms68×0exit-sollya
Bogosity

preprocess541.0ms (2.6%)

Algorithm
egg-herbie
Rules
501×fma-define
448×fma-neg
424×div-sub
419×associate-/l*
411×times-frac
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0791168
12411124
26481028
321491008
454161008
572541008
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
(-.f64 (neg.f64 x) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
(-.f64 x (/.f64 (*.f64 (*.f64 (neg.f64 y) #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 (neg.f64 y) t))))
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) (neg.f64 z)) (-.f64 (*.f64 (*.f64 (neg.f64 z) #s(literal 2 binary64)) (neg.f64 z)) (*.f64 y t))))
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y (neg.f64 t)))))
(neg.f64 (-.f64 (neg.f64 x) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))))
(neg.f64 (-.f64 x (/.f64 (*.f64 (*.f64 (neg.f64 y) #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 (neg.f64 y) t)))))
(neg.f64 (-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) (neg.f64 z)) (-.f64 (*.f64 (*.f64 (neg.f64 z) #s(literal 2 binary64)) (neg.f64 z)) (*.f64 y t)))))
(neg.f64 (-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y (neg.f64 t))))))
(-.f64 y (/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 x t))))
(-.f64 z (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) x) (-.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) x) (*.f64 y t))))
(-.f64 t (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y x))))
(-.f64 x (/.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) y) (-.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) y) (*.f64 z t))))
(-.f64 x (/.f64 (*.f64 (*.f64 t #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 t y))))
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) t) (-.f64 (*.f64 (*.f64 t #s(literal 2 binary64)) t) (*.f64 y z))))
Outputs
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
(-.f64 x (*.f64 (*.f64 y #s(literal 2 binary64)) (/.f64 z (-.f64 (*.f64 z (*.f64 #s(literal 2 binary64) z)) (*.f64 y t)))))
(+.f64 x (*.f64 (*.f64 y #s(literal -2 binary64)) (/.f64 z (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 z z)) (*.f64 y t)))))
(fma.f64 (*.f64 y #s(literal 2 binary64)) (/.f64 z (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t))) x)
(fma.f64 y (*.f64 z (/.f64 #s(literal 2 binary64) (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t)))) x)
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
(-.f64 x (*.f64 (*.f64 y #s(literal 2 binary64)) (/.f64 z (-.f64 (*.f64 z (*.f64 #s(literal 2 binary64) z)) (*.f64 y t)))))
(+.f64 x (*.f64 (*.f64 y #s(literal -2 binary64)) (/.f64 z (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 z z)) (*.f64 y t)))))
(fma.f64 (*.f64 y #s(literal 2 binary64)) (/.f64 z (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t))) x)
(fma.f64 y (*.f64 z (/.f64 #s(literal 2 binary64) (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t)))) x)
(-.f64 (neg.f64 x) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
(-.f64 (neg.f64 x) (*.f64 (*.f64 y #s(literal 2 binary64)) (/.f64 z (-.f64 (*.f64 z (*.f64 #s(literal 2 binary64) z)) (*.f64 y t)))))
(fma.f64 #s(literal -1 binary64) x (*.f64 (*.f64 y #s(literal -2 binary64)) (/.f64 z (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 z z)) (*.f64 y t)))))
(-.f64 (*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) z) (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t)))) x)
(-.f64 (*.f64 y (*.f64 z (/.f64 #s(literal 2 binary64) (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t))))) x)
(-.f64 x (/.f64 (*.f64 (*.f64 (neg.f64 y) #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 (neg.f64 y) t))))
(-.f64 x (*.f64 (neg.f64 (*.f64 y #s(literal 2 binary64))) (/.f64 z (+.f64 (*.f64 z (*.f64 #s(literal 2 binary64) z)) (*.f64 y t)))))
(+.f64 x (*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) z) (fma.f64 z (*.f64 #s(literal 2 binary64) z) (*.f64 y t)))))
(fma.f64 (*.f64 y #s(literal 2 binary64)) (/.f64 z (fma.f64 #s(literal 2 binary64) (*.f64 z z) (*.f64 y t))) x)
(fma.f64 y (*.f64 z (/.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (*.f64 z z) (*.f64 y t)))) x)
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) (neg.f64 z)) (-.f64 (*.f64 (*.f64 (neg.f64 z) #s(literal 2 binary64)) (neg.f64 z)) (*.f64 y t))))
(-.f64 x (/.f64 (*.f64 y (*.f64 #s(literal 2 binary64) (neg.f64 z))) (-.f64 (*.f64 (neg.f64 z) (*.f64 #s(literal 2 binary64) (neg.f64 z))) (*.f64 y t))))
(-.f64 x (*.f64 y (/.f64 (*.f64 z #s(literal -2 binary64)) (-.f64 (*.f64 (neg.f64 z) (*.f64 z #s(literal -2 binary64))) (*.f64 y t)))))
(fma.f64 (*.f64 y #s(literal -2 binary64)) (/.f64 z (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t))) x)
(fma.f64 y (/.f64 (*.f64 z #s(literal -2 binary64)) (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t))) x)
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y (neg.f64 t)))))
(-.f64 x (*.f64 (*.f64 y #s(literal 2 binary64)) (/.f64 z (+.f64 (*.f64 z (*.f64 #s(literal 2 binary64) z)) (*.f64 y t)))))
(+.f64 x (*.f64 z (/.f64 (*.f64 y #s(literal -2 binary64)) (fma.f64 z (*.f64 #s(literal 2 binary64) z) (*.f64 y t)))))
(fma.f64 (*.f64 y #s(literal -2 binary64)) (/.f64 z (fma.f64 #s(literal 2 binary64) (*.f64 z z) (*.f64 y t))) x)
(neg.f64 (-.f64 (neg.f64 x) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))))
(-.f64 x (/.f64 (*.f64 y (*.f64 #s(literal 2 binary64) (neg.f64 z))) (-.f64 (*.f64 (neg.f64 z) (*.f64 #s(literal 2 binary64) (neg.f64 z))) (*.f64 y t))))
(-.f64 x (*.f64 y (/.f64 (*.f64 z #s(literal -2 binary64)) (-.f64 (*.f64 (neg.f64 z) (*.f64 z #s(literal -2 binary64))) (*.f64 y t)))))
(fma.f64 (*.f64 y #s(literal -2 binary64)) (/.f64 z (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t))) x)
(fma.f64 y (/.f64 (*.f64 z #s(literal -2 binary64)) (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t))) x)
(neg.f64 (-.f64 x (/.f64 (*.f64 (*.f64 (neg.f64 y) #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 (neg.f64 y) t)))))
(neg.f64 (-.f64 x (*.f64 (neg.f64 (*.f64 y #s(literal 2 binary64))) (/.f64 z (+.f64 (*.f64 z (*.f64 #s(literal 2 binary64) z)) (*.f64 y t))))))
(+.f64 (neg.f64 x) (*.f64 z (/.f64 (*.f64 y #s(literal -2 binary64)) (fma.f64 z (*.f64 #s(literal 2 binary64) z) (*.f64 y t)))))
(neg.f64 (fma.f64 (*.f64 y #s(literal 2 binary64)) (/.f64 z (fma.f64 #s(literal 2 binary64) (*.f64 z z) (*.f64 y t))) x))
(neg.f64 (fma.f64 y (*.f64 z (/.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (*.f64 z z) (*.f64 y t)))) x))
(neg.f64 (-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) (neg.f64 z)) (-.f64 (*.f64 (*.f64 (neg.f64 z) #s(literal 2 binary64)) (neg.f64 z)) (*.f64 y t)))))
(-.f64 (neg.f64 x) (*.f64 (*.f64 y #s(literal 2 binary64)) (/.f64 z (-.f64 (*.f64 z (*.f64 #s(literal 2 binary64) z)) (*.f64 y t)))))
(fma.f64 #s(literal -1 binary64) x (*.f64 (*.f64 y #s(literal -2 binary64)) (/.f64 z (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 z z)) (*.f64 y t)))))
(-.f64 (*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) z) (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t)))) x)
(-.f64 (*.f64 y (*.f64 z (/.f64 #s(literal 2 binary64) (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t))))) x)
(neg.f64 (-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y (neg.f64 t))))))
(neg.f64 (-.f64 x (*.f64 (*.f64 y #s(literal 2 binary64)) (/.f64 z (+.f64 (*.f64 z (*.f64 #s(literal 2 binary64) z)) (*.f64 y t))))))
(+.f64 (neg.f64 x) (*.f64 y (/.f64 (*.f64 #s(literal 2 binary64) z) (fma.f64 z (*.f64 #s(literal 2 binary64) z) (*.f64 y t)))))
(-.f64 (*.f64 y (*.f64 z (/.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (*.f64 z z) (*.f64 y t))))) x)
(-.f64 y (/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 x t))))
(-.f64 y (*.f64 (*.f64 x #s(literal 2 binary64)) (/.f64 z (-.f64 (*.f64 z (*.f64 #s(literal 2 binary64) z)) (*.f64 x t)))))
(-.f64 y (*.f64 x (/.f64 (*.f64 #s(literal 2 binary64) z) (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 z z)) (*.f64 x t)))))
(fma.f64 (*.f64 x #s(literal -2 binary64)) (/.f64 z (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 z z)) (*.f64 x t))) y)
(fma.f64 x (/.f64 (*.f64 #s(literal 2 binary64) z) (fma.f64 x t (*.f64 z (*.f64 z #s(literal -2 binary64))))) y)
(-.f64 z (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) x) (-.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) x) (*.f64 y t))))
(-.f64 z (/.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (-.f64 (*.f64 x (*.f64 x #s(literal 2 binary64))) (*.f64 y t))))
(+.f64 z (*.f64 (*.f64 y #s(literal -2 binary64)) (/.f64 x (-.f64 (*.f64 x (*.f64 x #s(literal 2 binary64))) (*.f64 y t)))))
(fma.f64 (*.f64 y #s(literal -2 binary64)) (/.f64 x (fma.f64 x (*.f64 x #s(literal 2 binary64)) (neg.f64 (*.f64 y t)))) z)
(fma.f64 x (/.f64 (*.f64 y #s(literal 2 binary64)) (fma.f64 y t (*.f64 x (*.f64 x #s(literal -2 binary64))))) z)
(-.f64 t (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y x))))
(-.f64 t (/.f64 (*.f64 y (*.f64 #s(literal 2 binary64) z)) (-.f64 (*.f64 z (*.f64 #s(literal 2 binary64) z)) (*.f64 x y))))
(+.f64 t (/.f64 (*.f64 y (*.f64 z #s(literal -2 binary64))) (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 z z)) (*.f64 x y))))
(fma.f64 (*.f64 y #s(literal 2 binary64)) (/.f64 z (+.f64 (*.f64 x y) (*.f64 z (*.f64 z #s(literal -2 binary64))))) t)
(fma.f64 (*.f64 #s(literal 2 binary64) z) (/.f64 y (fma.f64 x y (*.f64 z (*.f64 z #s(literal -2 binary64))))) t)
(-.f64 x (/.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) y) (-.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) y) (*.f64 z t))))
(-.f64 x (*.f64 (*.f64 #s(literal 2 binary64) z) (/.f64 y (-.f64 (*.f64 y (*.f64 y #s(literal 2 binary64))) (*.f64 z t)))))
(+.f64 x (/.f64 (*.f64 y (*.f64 z #s(literal -2 binary64))) (-.f64 (*.f64 y (*.f64 y #s(literal 2 binary64))) (*.f64 z t))))
(fma.f64 (*.f64 z #s(literal -2 binary64)) (/.f64 y (-.f64 (*.f64 y (*.f64 y #s(literal 2 binary64))) (*.f64 z t))) x)
(fma.f64 #s(literal 2 binary64) (/.f64 (*.f64 y z) (fma.f64 z t (*.f64 y (*.f64 y #s(literal -2 binary64))))) x)
(-.f64 x (/.f64 (*.f64 (*.f64 t #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 t y))))
(-.f64 x (*.f64 (*.f64 #s(literal 2 binary64) t) (/.f64 z (-.f64 (*.f64 z (*.f64 #s(literal 2 binary64) z)) (*.f64 y t)))))
(-.f64 x (*.f64 t (*.f64 #s(literal 2 binary64) (/.f64 z (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 z z)) (*.f64 y t))))))
(fma.f64 (*.f64 #s(literal 2 binary64) t) (/.f64 z (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t))) x)
(fma.f64 t (*.f64 z (/.f64 #s(literal 2 binary64) (fma.f64 z (*.f64 z #s(literal -2 binary64)) (*.f64 y t)))) x)
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) t) (-.f64 (*.f64 (*.f64 t #s(literal 2 binary64)) t) (*.f64 y z))))
(-.f64 x (/.f64 (*.f64 y (*.f64 #s(literal 2 binary64) t)) (-.f64 (*.f64 t (*.f64 #s(literal 2 binary64) t)) (*.f64 y z))))
(-.f64 x (*.f64 t (/.f64 (*.f64 y #s(literal 2 binary64)) (-.f64 (*.f64 t (*.f64 #s(literal 2 binary64) t)) (*.f64 y z)))))
(fma.f64 (*.f64 y #s(literal -2 binary64)) (/.f64 t (fma.f64 z (neg.f64 y) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) x)
(fma.f64 y (/.f64 (*.f64 #s(literal 2 binary64) t) (fma.f64 y z (*.f64 t (*.f64 t #s(literal -2 binary64))))) x)
Compiler

Compiled 21 to 13 computations (38.1% saved)

eval1.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune3.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
79.5%
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
Compiler

Compiled 42 to 26 computations (38.1% saved)

simplify17.0ms (0.1%)

Algorithm
egg-herbie
Rules
105×unsub-neg
69×neg-mul-1
63×distribute-lft-neg-in
35×distribute-rgt-neg-in
28×remove-double-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
13370
25270
37470
412070
517070
621170
730070
847370
955970
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
Outputs
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 z (*.f64 #s(literal 2 binary64) z)) (*.f64 y t))))
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) z) z) (*.f64 y t))))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 21 to 13 computations (38.1% saved)

preprocess291.0ms (1.4%)

Compiler

Compiled 118 to 76 computations (35.6% saved)

end0.0ms (0%)

Profiling

Loading profile data...