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

Time bar (total: 3.3s)

analyze160.0ms (4.8%)

Memory
-4.1MiB live, 74.7MiB allocated
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 41 to 29 computations (29.3% saved)

sample3.0s (89.8%)

Memory
17.7MiB live, 962.2MiB allocated
Samples
690.0ms8 256×73valid-baseline
618.0ms8 256×73valid-sollya
556.0ms8 256×73valid-rival
Precisions
Click to see Rival histograms. Total time spent on operations: 366.0ms
ival-mult: 237.0ms (64.8% of total)
ival-sub: 65.0ms (17.8% of total)
ival-div: 51.0ms (14% of total)
ival-true: 7.0ms (1.9% of total)
ival-assert: 3.0ms (0.8% of total)
...in/eval/compile.rkt:110:19: 2.0ms (0.5% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 394.0ms
ival-mult: 265.0ms (67.2% of total)
ival-sub: 72.0ms (18.3% of total)
ival-div: 48.0ms (12.2% of total)
const: 9.0ms (2.3% of total)
Bogosity

preprocess140.0ms (4.2%)

Memory
-5.8MiB live, 25.1MiB allocated
Algorithm
egg-herbie
Rules
501×fma-define
448×fmm-def
424×div-sub
419×associate-/l*
411×times-frac
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0791168
12411124
26481028
321491008
454161008
572471008
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 y (*.f64 #s(literal 2 binary64) (/.f64 z (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 y (*.f64 #s(literal 2 binary64) (/.f64 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)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 4 to 4 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
82.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)

simplify10.0ms (0.3%)

Memory
1.0MiB live, 1.0MiB allocated
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))))

soundness0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Stop Event
fuel
Compiler

Compiled 21 to 13 computations (38.1% saved)

preprocess28.0ms (0.9%)

Memory
3.5MiB live, 36.5MiB allocated
Compiler

Compiled 118 to 76 computations (35.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...