Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, I

Time bar (total: 3.2s)

analyze125.0ms (3.9%)

Memory
2.1MiB live, 57.6MiB 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
0%0%99.8%0.2%0%0%0%5
50%49.9%49.9%0.2%0%0%0%6
50%49.9%49.9%0.2%0%0%0%7
50%49.9%49.9%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
75%74.8%24.9%0.2%0%0%0%11
75%74.8%24.9%0.2%0%0%0%12
Compiler

Compiled 34 to 29 computations (14.7% saved)

sample3.0s (92.1%)

Memory
2.9MiB live, 974.5MiB allocated
Samples
669.0ms8 256×0valid-sollya
547.0ms8 256×0valid-baseline
496.0ms8 256×0valid-rival
Bogosity

preprocess87.0ms (2.7%)

Memory
-6.8MiB live, 23.8MiB allocated
Algorithm
egg-herbie
Rules
696×fma-define
505×div-sub
470×associate-/l*
399×fmm-def
328×associate-/r*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0891180
13281056
211081056
341891056
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (neg.f64 x) y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 (neg.f64 z) #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) (neg.f64 t))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 (neg.f64 a) #s(literal 2 binary64)))
(neg.f64 (/.f64 (-.f64 (*.f64 (neg.f64 x) y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64))))
(neg.f64 (/.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64))))
(neg.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 (neg.f64 z) #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64))))
(neg.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) (neg.f64 t))) (*.f64 a #s(literal 2 binary64))))
(neg.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 (neg.f64 a) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 y x) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 z y) (*.f64 (*.f64 x #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 t y) (*.f64 (*.f64 z #s(literal 9 binary64)) x)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 a y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 x #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x z) (*.f64 (*.f64 y #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x t) (*.f64 (*.f64 z #s(literal 9 binary64)) y)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x a) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 y #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 t #s(literal 9 binary64)) z)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 a #s(literal 9 binary64)) t)) (*.f64 z #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) a)) (*.f64 t #s(literal 2 binary64)))
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 t #s(literal -9 binary64)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x (/.f64 y #s(literal 2 binary64)) (*.f64 t (*.f64 z #s(literal -9/2 binary64)))) a)
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 t #s(literal -9 binary64)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x (/.f64 y #s(literal 2 binary64)) (*.f64 t (*.f64 z #s(literal -9/2 binary64)))) a)
(/.f64 (-.f64 (*.f64 (neg.f64 x) y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 #s(literal 9 binary64) (*.f64 z t))) (*.f64 a #s(literal -2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 #s(literal 9 binary64) t))) (*.f64 a #s(literal -2 binary64)))
(/.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 #s(literal 9 binary64) (*.f64 z t))) (*.f64 a #s(literal -2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 #s(literal 9 binary64) t))) (*.f64 a #s(literal -2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 (neg.f64 z) #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 t (*.f64 #s(literal 9 binary64) (neg.f64 z)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 #s(literal 9 binary64) (*.f64 z t))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 #s(literal 9 binary64) t))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) (neg.f64 t))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 t (*.f64 #s(literal 9 binary64) (neg.f64 z)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 #s(literal 9 binary64) (*.f64 z t))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 #s(literal 9 binary64) t))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 (neg.f64 a) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (neg.f64 (*.f64 a #s(literal 2 binary64))))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 t #s(literal -9 binary64)))) (*.f64 a #s(literal -2 binary64)))
(neg.f64 (/.f64 (-.f64 (*.f64 (neg.f64 x) y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 x y) (*.f64 t (*.f64 #s(literal 9 binary64) (neg.f64 z)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 #s(literal 9 binary64) (*.f64 z t))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 #s(literal 9 binary64) t))) (*.f64 a #s(literal 2 binary64)))
(neg.f64 (/.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 x y) (*.f64 t (*.f64 #s(literal 9 binary64) (neg.f64 z)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 #s(literal 9 binary64) (*.f64 z t))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 #s(literal 9 binary64) t))) (*.f64 a #s(literal 2 binary64)))
(neg.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 (neg.f64 z) #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 #s(literal 9 binary64) (*.f64 z t))) (*.f64 a #s(literal -2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 #s(literal 9 binary64) t))) (*.f64 a #s(literal -2 binary64)))
(neg.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) (neg.f64 t))) (*.f64 a #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 #s(literal 9 binary64) (*.f64 z t))) (*.f64 a #s(literal -2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 #s(literal 9 binary64) t))) (*.f64 a #s(literal -2 binary64)))
(neg.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 (neg.f64 a) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 t #s(literal -9 binary64)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x (/.f64 y #s(literal 2 binary64)) (*.f64 t (*.f64 z #s(literal -9/2 binary64)))) a)
(/.f64 (-.f64 (*.f64 y x) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 t #s(literal -9 binary64)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x (/.f64 y #s(literal 2 binary64)) (*.f64 t (*.f64 z #s(literal -9/2 binary64)))) a)
(/.f64 (-.f64 (*.f64 z y) (*.f64 (*.f64 x #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 y z) (*.f64 t (*.f64 x #s(literal 9 binary64)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 y z (*.f64 x (*.f64 t #s(literal -9 binary64)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x (*.f64 t #s(literal -9 binary64)) (*.f64 y z)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 t y) (*.f64 (*.f64 z #s(literal 9 binary64)) x)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 y t) (*.f64 x (*.f64 z #s(literal 9 binary64)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 y t (*.f64 x (*.f64 z #s(literal -9 binary64)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x (*.f64 z #s(literal -9 binary64)) (*.f64 y t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 a y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 x #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 y a) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 x #s(literal 2 binary64)))
(/.f64 (fma.f64 y a (*.f64 z (*.f64 t #s(literal -9 binary64)))) (*.f64 x #s(literal 2 binary64)))
(/.f64 (fma.f64 y (/.f64 a #s(literal 2 binary64)) (*.f64 t (*.f64 z #s(literal -9/2 binary64)))) x)
(/.f64 (-.f64 (*.f64 x z) (*.f64 (*.f64 y #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x z) (*.f64 y (*.f64 #s(literal 9 binary64) t))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x z (*.f64 y (*.f64 t #s(literal -9 binary64)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x t) (*.f64 (*.f64 z #s(literal 9 binary64)) y)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x t) (*.f64 y (*.f64 z #s(literal 9 binary64)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x t (*.f64 y (*.f64 z #s(literal -9 binary64)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x t (*.f64 (*.f64 y z) #s(literal -9 binary64))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x a) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 y #s(literal 2 binary64)))
(/.f64 (fma.f64 x a (*.f64 z (*.f64 t #s(literal -9 binary64)))) (*.f64 y #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 t #s(literal 9 binary64)) z)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 z (*.f64 t #s(literal -9 binary64)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (fma.f64 x (/.f64 y #s(literal 2 binary64)) (*.f64 t (*.f64 z #s(literal -9/2 binary64)))) a)
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 a #s(literal 9 binary64)) t)) (*.f64 z #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 t (*.f64 #s(literal 9 binary64) a))) (*.f64 z #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 t (*.f64 a #s(literal -9 binary64)))) (*.f64 z #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 a (*.f64 t #s(literal -9 binary64)))) (*.f64 z #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) a)) (*.f64 t #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (neg.f64 (*.f64 (*.f64 z #s(literal 9 binary64)) a))) (*.f64 t #s(literal 2 binary64)))
(/.f64 (fma.f64 x y (*.f64 a (*.f64 z #s(literal -9 binary64)))) (*.f64 t #s(literal 2 binary64)))
Symmetry

(negabs a)

(sort x y)

(sort z t)

Compiler

Compiled 18 to 13 computations (27.8% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 5 to 5 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
90.2%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Compiler

Compiled 36 to 26 computations (27.8% saved)

simplify3.0ms (0.1%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
egg-herbie
Rules
*-commutative
sub-neg
+-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02152
13152
24952
35952
46752
57052
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))

soundness0.0ms (0%)

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

Compiled 18 to 13 computations (27.8% saved)

preprocess38.0ms (1.2%)

Memory
-7.2MiB live, 43.2MiB allocated
Remove

(sort z t)

(sort x y)

(negabs a)

Compiler

Compiled 400 to 278 computations (30.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...