Diagrams.Solve.Polynomial:quadForm from diagrams-solve-0.1, B

Time bar (total: 3.1s)

analyze62.0ms (2%)

Memory
-23.0MiB live, 21.4MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
50%49.9%49.9%0.1%0%0%0%4
50%49.9%49.9%0.1%0%0%0%5
50%49.9%49.9%0.1%0%0%0%6
66.7%49.9%25%0.1%0%25%0%7
66.7%49.9%25%0.1%0%25%0%8
66.7%49.9%25%0.1%0%25%0%9
80%49.9%12.5%0.1%0%37.4%0%10
80%49.9%12.5%0.1%0%37.4%0%11
80%49.9%12.5%0.1%0%37.4%0%12
Compiler

Compiled 26 to 23 computations (11.5% saved)

sample2.8s (91%)

Memory
39.9MiB live, 875.8MiB allocated
Samples
533.0ms8 256×0valid-baseline
503.0ms8 256×0valid-sollya
466.0ms8 256×0valid-rival
Precisions
Click to see Rival histograms. Total time spent on operations: 319.0ms
ival-mult: 114.0ms (35.7% of total)
ival-div: 73.0ms (22.9% of total)
ival-sqrt: 71.0ms (22.2% of total)
ival-add: 44.0ms (13.8% of total)
ival-true: 8.0ms (2.5% of total)
...in/eval/compile.rkt:110:19: 5.0ms (1.6% of total)
ival-assert: 4.0ms (1.3% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 327.0ms
ival-mult: 117.0ms (35.7% of total)
ival-sqrt: 78.0ms (23.8% of total)
ival-div: 70.0ms (21.4% of total)
ival-add: 47.0ms (14.4% of total)
const: 16.0ms (4.9% of total)
Bogosity

preprocess196.0ms (6.4%)

Memory
-9.3MiB live, 23.0MiB allocated
Algorithm
egg-herbie
Rules
969×fmm-def
453×fma-define
216×unsub-neg
177×distribute-lft-neg-in
156×cancel-sign-sub-inv
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
044376
1128332
2369332
3781332
41341332
52232332
62748332
73238332
83552332
93703332
103784332
113834332
123834332
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (neg.f64 x) (*.f64 y (sqrt.f64 z))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 (neg.f64 y) (sqrt.f64 z))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 y (sqrt.f64 (neg.f64 z)))))
(neg.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (neg.f64 x) (*.f64 y (sqrt.f64 z)))))
(neg.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 (neg.f64 y) (sqrt.f64 z)))))
(neg.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 y (sqrt.f64 (neg.f64 z))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 y (*.f64 x (sqrt.f64 z))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 z (*.f64 y (sqrt.f64 x))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 z (sqrt.f64 y))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 #s(literal 1/2 binary64) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 #s(literal 1/2 binary64) (fma.f64 y (sqrt.f64 z) x))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 #s(literal 1/2 binary64) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 #s(literal 1/2 binary64) (fma.f64 y (sqrt.f64 z) x))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (neg.f64 x) (*.f64 y (sqrt.f64 z))))
(*.f64 #s(literal 1/2 binary64) (+.f64 (*.f64 y (sqrt.f64 z)) (neg.f64 x)))
(*.f64 (fma.f64 (sqrt.f64 z) (neg.f64 y) x) #s(literal -1/2 binary64))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 (neg.f64 y) (sqrt.f64 z))))
(*.f64 #s(literal 1/2 binary64) (+.f64 x (*.f64 (sqrt.f64 z) (neg.f64 y))))
(*.f64 #s(literal 1/2 binary64) (fma.f64 (sqrt.f64 z) (neg.f64 y) x))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 y (sqrt.f64 (neg.f64 z)))))
(*.f64 #s(literal 1/2 binary64) (+.f64 x (*.f64 y (sqrt.f64 (neg.f64 z)))))
(*.f64 #s(literal 1/2 binary64) (fma.f64 y (sqrt.f64 (neg.f64 z)) x))
(neg.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (neg.f64 x) (*.f64 y (sqrt.f64 z)))))
(*.f64 #s(literal 1/2 binary64) (+.f64 x (*.f64 (sqrt.f64 z) (neg.f64 y))))
(*.f64 #s(literal 1/2 binary64) (fma.f64 (sqrt.f64 z) (neg.f64 y) x))
(neg.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 (neg.f64 y) (sqrt.f64 z)))))
(*.f64 #s(literal 1/2 binary64) (+.f64 (*.f64 y (sqrt.f64 z)) (neg.f64 x)))
(*.f64 (fma.f64 (sqrt.f64 z) (neg.f64 y) x) #s(literal -1/2 binary64))
(neg.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 y (sqrt.f64 (neg.f64 z))))))
(*.f64 #s(literal -1/2 binary64) (+.f64 x (*.f64 y (sqrt.f64 (neg.f64 z)))))
(*.f64 (fma.f64 y (sqrt.f64 (neg.f64 z)) x) #s(literal -1/2 binary64))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 y (*.f64 x (sqrt.f64 z))))
(*.f64 #s(literal 1/2 binary64) (+.f64 y (*.f64 x (sqrt.f64 z))))
(*.f64 #s(literal 1/2 binary64) (fma.f64 x (sqrt.f64 z) y))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 z (*.f64 y (sqrt.f64 x))))
(*.f64 #s(literal 1/2 binary64) (+.f64 z (*.f64 y (sqrt.f64 x))))
(*.f64 #s(literal 1/2 binary64) (fma.f64 y (sqrt.f64 x) z))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 z (sqrt.f64 y))))
(*.f64 #s(literal 1/2 binary64) (+.f64 x (*.f64 z (sqrt.f64 y))))
(*.f64 #s(literal 1/2 binary64) (fma.f64 z (sqrt.f64 y) x))
Compiler

Compiled 13 to 10 computations (23.1% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 y (sqrt.f64 z))))
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify2.0ms (0.1%)

Memory
0.3MiB live, 0.3MiB allocated
Algorithm
egg-herbie
Rules
1-exp
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01832
12632
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 y (sqrt.f64 z))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 #s(literal 1/2 binary64) (+.f64 x (*.f64 y (sqrt.f64 z))))

soundness0.0ms (0%)

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

Compiled 11 to 8 computations (27.3% saved)

preprocess16.0ms (0.5%)

Memory
6.2MiB live, 21.8MiB allocated
Compiler

Compiled 48 to 36 computations (25% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...