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

Time bar (total: 1.4s)

start0.0ms (0.0%)

analyze1.0ms (0.0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%99.9%0.1%0.0%0.0%0.0%0
100.0%99.9%0.0%0.1%0.0%0.0%0.0%1
Compiler

Compiled 9 to 9 computations (0.0% saved)

sample486.0ms (33.7%)

Samples
378.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 12.0ms
Mul: 9.0ms (72.7% of total, 0.0 MiB)
Sub: 3.0ms (24.2% of total, 0.0 MiB)
Bogosity

preprocess59.0ms (4.1%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02776
112870
230370
358470
473470
5121470
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
Symmetry

(sort y z)

Compiler

Compiled 2 to 14 computations (-600.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series23.0ms (1.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057189
Stop Event
iter-limit
Counts
7 → 15
Calls
Call 1
Inputs
%3 = (*.f64 y #s(literal 4 binary64))
%5 = (*.f64 %3 z)
x
y
#s(literal 4 binary64)
%3
z
%5
(-.f64 x %5)
Outputs
%6 = (* y 4)
%8 = (* %6 z)
%9 = (- x %8)
%11 = (*.f64 y z)
%12 = (*.f64 #s(literal -4 binary64) %11)
%15 = (*.f64 #s(literal 4 binary64) %11)
%19 = (/.f64 %11 x)
%31 = (*.f64 #s(literal 4 binary64) y)
%36 = (/.f64 x y)
%48 = (/.f64 x z)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %9 %12)
(approx %9 (-.f64 x %15))
(approx %9 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -4 binary64) %19))))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 4 binary64) %19) #s(literal 1 binary64)))))
(approx y y)
(approx %6 %31)
(approx %8 %15)
(approx %9 (+.f64 x %12))
(approx %9 (*.f64 y (-.f64 %36 (*.f64 #s(literal 4 binary64) z))))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %36) (*.f64 #s(literal -4 binary64) z)))))
(approx z z)
(approx %9 (*.f64 z (-.f64 %48 %31)))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) %48) (*.f64 #s(literal -4 binary64) y)))))
Calls

9 calls:

TimeVariablePoint
3.0ms
y
inf
2.0ms
y
-inf
2.0ms
z
inf
1.0ms
x
-inf
1.0ms
z
-inf

rewrite125.0ms (8.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
01019
12919
27519
316519
430719
573919
0414419
0432118
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
7 → 264
Calls
Call 1
Inputs
%3 = (*.f64 y #s(literal 4 binary64))
%5 = (*.f64 %3 z)
x
y
#s(literal 4 binary64)
%3
z
%5
(-.f64 x %5)
Outputs
%3 = (+.f64 y y)
%6 = (neg.f64 %3)
%9 = (neg.f64 y)
%10 = (*.f64 #s(literal 2 binary64) %9)
%14 = (*.f64 #s(literal -4 binary64) y)
%17 = (*.f64 #s(literal 2 binary64) y)
%22 = (*.f64 #s(literal 4 binary64) y)
%32 = (*.f64 #s(literal 1/2 binary64) y)
%35 = (*.f64 #s(literal 0 binary64) %3)
%37 = (*.f64 #s(literal 0 binary64) y)
%39 = (*.f64 #s(literal 0 binary64) %9)
%41 = (*.f64 %3 #s(literal 1 binary64))
%46 = (*.f64 %17 #s(literal 1 binary64))
%50 = (*.f64 #s(literal 3/2 binary64) y)
%54 = (*.f64 #s(literal 1/2 binary64) %3)
%56 = (*.f64 #s(literal 5/2 binary64) y)
%61 = (*.f64 #s(literal -2 binary64) %9)
%66 = (*.f64 #s(literal 3/2 binary64) %3)
%68 = (*.f64 #s(literal 7/2 binary64) y)
%86 = (*.f64 #s(literal 1 binary64) %3)
%110 = (*.f64 #s(literal 3 binary64) y)
%124 = (neg.f64 z)
%125 = (*.f64 %124 y)
%126 = (*.f64 %125 #s(literal 2 binary64))
%128 = (*.f64 z y)
%129 = (*.f64 %128 #s(literal 2 binary64))
%131 = (*.f64 #s(literal 2 binary64) %125)
%133 = (*.f64 %128 #s(literal -4 binary64))
%138 = (*.f64 #s(literal 2 binary64) %128)
%141 = (*.f64 #s(literal -4 binary64) z)
%145 = (*.f64 z #s(literal 4 binary64))
%146 = (*.f64 %145 y)
%158 = (*.f64 #s(literal 1/2 binary64) %128)
%160 = (*.f64 %3 z)
%162 = (*.f64 #s(literal 0 binary64) %129)
%164 = (*.f64 #s(literal 0 binary64) %125)
%166 = (*.f64 #s(literal 0 binary64) %128)
%168 = (+.f64 z z)
%169 = (*.f64 %168 y)
%174 = (*.f64 %129 #s(literal 1 binary64))
%176 = (neg.f64 %168)
%177 = (*.f64 %176 %9)
%179 = (*.f64 %6 %124)
%181 = (*.f64 %17 z)
%183 = (*.f64 #s(literal 2 binary64) z)
%184 = (*.f64 %183 y)
%186 = (*.f64 %138 #s(literal 1 binary64))
%188 = (*.f64 #s(literal 2 binary64) %124)
%189 = (*.f64 %188 %9)
%191 = (*.f64 %10 %124)
%193 = (*.f64 #s(literal 3/2 binary64) %128)
%196 = (*.f64 #s(literal 1/2 binary64) %129)
%198 = (*.f64 #s(literal 5/2 binary64) %128)
%203 = (*.f64 #s(literal -2 binary64) %125)
%205 = (*.f64 #s(literal 3 binary64) %128)
%217 = (*.f64 #s(literal 3/2 binary64) %129)
%219 = (*.f64 #s(literal 7/2 binary64) %128)
%251 = (*.f64 #s(literal 1 binary64) %129)
%303 = (-.f64 %146 x)
%305 = (fma.f64 %128 #s(literal -4 binary64) x)
%323 = (*.f64 x #s(literal 1 binary64))
%331 = (*.f64 %133 #s(literal 1 binary64))
x
y
#s(literal 4 binary64)
(*.f64 %3 #s(literal 2 binary64))
(*.f64 %6 #s(literal -2 binary64))
(*.f64 #s(literal -2 binary64) %10)
(*.f64 #s(literal -1 binary64) %14)
(*.f64 #s(literal 2 binary64) %3)
(*.f64 #s(literal 2 binary64) %17)
(*.f64 #s(literal -4 binary64) %9)
(*.f64 %9 #s(literal -4 binary64))
(*.f64 #s(literal 1 binary64) %22)
%22
(*.f64 y #s(literal 4 binary64))
(pow.f64 %22 #s(literal 1 binary64))
(/.f64 %3 #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %22 #s(literal -1 binary64)))
(neg.f64 %14)
(fma.f64 #s(literal 7/2 binary64) y %32)
(fma.f64 %3 #s(literal 2 binary64) %35)
(fma.f64 %3 #s(literal 2 binary64) %37)
(fma.f64 %3 #s(literal 2 binary64) %39)
(fma.f64 %3 #s(literal 1 binary64) %41)
(fma.f64 %6 #s(literal -2 binary64) %35)
(fma.f64 %6 #s(literal -2 binary64) %37)
(fma.f64 %6 #s(literal -2 binary64) %39)
(fma.f64 %17 #s(literal 1 binary64) %46)
(fma.f64 #s(literal 5/2 binary64) y %50)
(fma.f64 #s(literal 3 binary64) y y)
(fma.f64 #s(literal 3/2 binary64) %3 %54)
(fma.f64 #s(literal 3/2 binary64) y %56)
(fma.f64 #s(literal -2 binary64) %10 %35)
(fma.f64 #s(literal -2 binary64) %10 %37)
(fma.f64 #s(literal -2 binary64) %10 %39)
(fma.f64 #s(literal -2 binary64) %9 %61)
(fma.f64 #s(literal -1 binary64) %14 %35)
(fma.f64 #s(literal -1 binary64) %14 %37)
(fma.f64 #s(literal -1 binary64) %14 %39)
(fma.f64 #s(literal 1/2 binary64) %3 %66)
(fma.f64 #s(literal 1/2 binary64) y %68)
(fma.f64 #s(literal 2 binary64) %3 %35)
(fma.f64 #s(literal 2 binary64) %3 %37)
(fma.f64 #s(literal 2 binary64) %3 %39)
(fma.f64 #s(literal 2 binary64) %17 %35)
(fma.f64 #s(literal 2 binary64) %17 %37)
(fma.f64 #s(literal 2 binary64) %17 %39)
(fma.f64 #s(literal 2 binary64) y %17)
(fma.f64 #s(literal -4 binary64) %9 %35)
(fma.f64 #s(literal -4 binary64) %9 %37)
(fma.f64 #s(literal -4 binary64) %9 %39)
(fma.f64 %9 #s(literal -4 binary64) %35)
(fma.f64 %9 #s(literal -4 binary64) %37)
(fma.f64 %9 #s(literal -4 binary64) %39)
(fma.f64 #s(literal 0 binary64) %3 %22)
(fma.f64 #s(literal 0 binary64) %9 %22)
(fma.f64 #s(literal 0 binary64) y %22)
(fma.f64 #s(literal 1 binary64) %3 %86)
(fma.f64 #s(literal 1 binary64) %22 %35)
(fma.f64 #s(literal 1 binary64) %22 %37)
(fma.f64 #s(literal 1 binary64) %22 %39)
(fma.f64 #s(literal 4 binary64) y %35)
(fma.f64 #s(literal 4 binary64) y %37)
(fma.f64 #s(literal 4 binary64) y %39)
(fma.f64 y #s(literal 2 binary64) %3)
(fma.f64 y #s(literal 4 binary64) %35)
(fma.f64 y #s(literal 4 binary64) %37)
(fma.f64 y #s(literal 4 binary64) %39)
(-.f64 %3 %6)
(-.f64 %17 (*.f64 #s(literal -2 binary64) y))
(-.f64 %17 %10)
(+.f64 %66 %54)
(+.f64 %54 %66)
(+.f64 %35 %22)
(+.f64 %86 %86)
(+.f64 %41 %41)
(+.f64 %46 %46)
(+.f64 %56 %50)
(+.f64 %68 %32)
(+.f64 %110 y)
(+.f64 %50 %56)
(+.f64 %32 %68)
(+.f64 %37 %22)
(+.f64 %39 %22)
(+.f64 %61 %61)
(+.f64 %3 %3)
(+.f64 %17 %17)
(+.f64 %22 %35)
(+.f64 %22 %37)
(+.f64 %22 %39)
(+.f64 y %110)
z
(*.f64 %126 #s(literal -2 binary64))
(*.f64 %129 #s(literal 2 binary64))
(*.f64 #s(literal -2 binary64) %131)
(*.f64 #s(literal -1 binary64) %133)
(*.f64 %125 #s(literal -4 binary64))
(*.f64 %128 #s(literal 4 binary64))
(*.f64 #s(literal 2 binary64) %129)
(*.f64 #s(literal 2 binary64) %138)
(*.f64 #s(literal -4 binary64) %125)
(*.f64 %141 %9)
(*.f64 %124 %14)
(*.f64 %9 %141)
%146
(*.f64 %14 %124)
(*.f64 #s(literal 1 binary64) %146)
(*.f64 z %22)
(*.f64 %22 z)
(*.f64 #s(literal 4 binary64) %128)
(*.f64 y %145)
(pow.f64 %146 #s(literal 1 binary64))
(/.f64 %129 #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %146 #s(literal -1 binary64)))
(neg.f64 %133)
(fma.f64 #s(literal 7/2 binary64) %128 %158)
(fma.f64 %3 z %160)
(fma.f64 %126 #s(literal -2 binary64) %162)
(fma.f64 %126 #s(literal -2 binary64) %164)
(fma.f64 %126 #s(literal -2 binary64) %166)
(fma.f64 %168 y %169)
(fma.f64 %129 #s(literal 2 binary64) %162)
(fma.f64 %129 #s(literal 2 binary64) %164)
(fma.f64 %129 #s(literal 2 binary64) %166)
(fma.f64 %129 #s(literal 1 binary64) %174)
(fma.f64 %176 %9 %177)
(fma.f64 %6 %124 %179)
(fma.f64 %17 z %181)
(fma.f64 %183 y %184)
(fma.f64 %138 #s(literal 1 binary64) %186)
(fma.f64 %188 %9 %189)
(fma.f64 %10 %124 %191)
(fma.f64 #s(literal 5/2 binary64) %128 %193)
(fma.f64 #s(literal 3 binary64) %128 %128)
(fma.f64 #s(literal 3/2 binary64) %129 %196)
(fma.f64 #s(literal 3/2 binary64) %128 %198)
(fma.f64 #s(literal -2 binary64) %131 %162)
(fma.f64 #s(literal -2 binary64) %131 %164)
(fma.f64 #s(literal -2 binary64) %131 %166)
(fma.f64 #s(literal -2 binary64) %125 %203)
(fma.f64 #s(literal -1 binary64) %125 %205)
(fma.f64 #s(literal -1 binary64) %133 %162)
(fma.f64 #s(literal -1 binary64) %133 %164)
(fma.f64 #s(literal -1 binary64) %133 %166)
(fma.f64 %125 #s(literal -4 binary64) %162)
(fma.f64 %125 #s(literal -4 binary64) %164)
(fma.f64 %125 #s(literal -4 binary64) %166)
(fma.f64 %128 #s(literal 2 binary64) %129)
(fma.f64 %128 #s(literal 4 binary64) %162)
(fma.f64 %128 #s(literal 4 binary64) %164)
(fma.f64 %128 #s(literal 4 binary64) %166)
(fma.f64 #s(literal 1/2 binary64) %129 %217)
(fma.f64 #s(literal 1/2 binary64) %128 %219)
(fma.f64 #s(literal 2 binary64) %129 %162)
(fma.f64 #s(literal 2 binary64) %129 %164)
(fma.f64 #s(literal 2 binary64) %129 %166)
(fma.f64 #s(literal 2 binary64) %138 %162)
(fma.f64 #s(literal 2 binary64) %138 %164)
(fma.f64 #s(literal 2 binary64) %138 %166)
(fma.f64 #s(literal 2 binary64) %128 %138)
(fma.f64 #s(literal -4 binary64) %125 %162)
(fma.f64 #s(literal -4 binary64) %125 %164)
(fma.f64 #s(literal -4 binary64) %125 %166)
(fma.f64 %141 %9 %162)
(fma.f64 %141 %9 %164)
(fma.f64 %141 %9 %166)
(fma.f64 %124 %9 %205)
(fma.f64 %124 %14 %162)
(fma.f64 %124 %14 %164)
(fma.f64 %124 %14 %166)
(fma.f64 %9 %141 %162)
(fma.f64 %9 %141 %164)
(fma.f64 %9 %141 %166)
(fma.f64 %9 %124 %205)
(fma.f64 #s(literal 0 binary64) %129 %146)
(fma.f64 #s(literal 0 binary64) %125 %146)
(fma.f64 #s(literal 0 binary64) %128 %146)
(fma.f64 %145 y %162)
(fma.f64 %145 y %164)
(fma.f64 %145 y %166)
(fma.f64 %14 %124 %162)
(fma.f64 %14 %124 %164)
(fma.f64 %14 %124 %166)
(fma.f64 #s(literal 1 binary64) %129 %251)
(fma.f64 #s(literal 1 binary64) %128 %205)
(fma.f64 #s(literal 1 binary64) %146 %162)
(fma.f64 #s(literal 1 binary64) %146 %164)
(fma.f64 #s(literal 1 binary64) %146 %166)
(fma.f64 z %22 %162)
(fma.f64 z %22 %164)
(fma.f64 z %22 %166)
(fma.f64 z y %205)
(fma.f64 %22 z %162)
(fma.f64 %22 z %164)
(fma.f64 %22 z %166)
(fma.f64 #s(literal 4 binary64) %128 %162)
(fma.f64 #s(literal 4 binary64) %128 %164)
(fma.f64 #s(literal 4 binary64) %128 %166)
(fma.f64 y %145 %162)
(fma.f64 y %145 %164)
(fma.f64 y %145 %166)
(fma.f64 y z %205)
(-.f64 %129 %126)
(-.f64 %138 (*.f64 #s(literal -2 binary64) %128))
(-.f64 %138 %131)
(+.f64 %217 %196)
(+.f64 %196 %217)
(+.f64 %162 %146)
(+.f64 %251 %251)
(+.f64 %174 %174)
(+.f64 %186 %186)
(+.f64 %198 %193)
(+.f64 %219 %158)
(+.f64 %205 %128)
(+.f64 %179 %179)
(+.f64 %191 %191)
(+.f64 %177 %177)
(+.f64 %189 %189)
(+.f64 %160 %160)
(+.f64 %181 %181)
(+.f64 %169 %169)
(+.f64 %184 %184)
(+.f64 %193 %198)
(+.f64 %158 %219)
(+.f64 %164 %146)
(+.f64 %166 %146)
(+.f64 %203 %203)
(+.f64 %129 %129)
(+.f64 %138 %138)
(+.f64 %128 %205)
(+.f64 %146 %162)
(+.f64 %146 %164)
(+.f64 %146 %166)
(*.f64 #s(literal -1 binary64) %303)
(*.f64 #s(literal 1 binary64) %305)
(pow.f64 %305 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %305 #s(literal -1 binary64)))
(neg.f64 %303)
(fma.f64 %126 #s(literal 2 binary64) x)
(fma.f64 %129 #s(literal -2 binary64) x)
(fma.f64 #s(literal -2 binary64) %138 x)
(fma.f64 #s(literal -1 binary64) %146 x)
(fma.f64 %125 #s(literal 4 binary64) x)
%305
(fma.f64 #s(literal 2 binary64) %126 x)
(fma.f64 #s(literal 2 binary64) %131 x)
(fma.f64 #s(literal -4 binary64) %128 x)
(fma.f64 %141 y x)
(fma.f64 %124 %22 x)
(fma.f64 %9 %145 x)
(fma.f64 %145 %9 x)
(fma.f64 %133 #s(literal 1 binary64) %323)
(fma.f64 %14 z x)
(fma.f64 #s(literal 1 binary64) %133 x)
(fma.f64 z %14 x)
(fma.f64 %22 %124 x)
(fma.f64 #s(literal 4 binary64) %125 x)
(fma.f64 y %141 x)
(fma.f64 x #s(literal 1 binary64) %331)
(-.f64 %133 (neg.f64 x))
(-.f64 x %146)
(+.f64 %331 %323)
(+.f64 %323 %331)
(+.f64 %133 x)
(+.f64 x %133)

reconstruct-197.0ms (-13.7%)

Counts
279 → 24
Compiler

Compiled 279 to 368 computations (-31.9% saved)

eval4.0ms (0.3%)

Compiler

Compiled 21 to 77 computations (-266.7% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New19221
Fresh000
Picked101
Done000
Total20222
Accuracy
100.0%
Counts
22 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 #s(literal -4 binary64) (*.f64 z y) x)
51.2%
(approx (- x (* (* y 4) z)) (*.f64 #s(literal -4 binary64) (*.f64 y z)))
Compiler

Compiled 2 to 8 computations (-300.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series18.0ms (1.2%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
073245
Stop Event
iter-limit
Counts
9 → 18
Calls
Call 1
Inputs
%4 = (*.f64 y z)
%5 = (*.f64 #s(literal -4 binary64) %4)
%11 = (*.f64 z y)
x
y
z
#s(literal -4 binary64)
%4
%5
(approx (- x (* (* y 4) z)) %5)
%11
(fma.f64 #s(literal -4 binary64) %11 x)
Outputs
%9 = (- x (* (* y 4) z))
%11 = (*.f64 y z)
%12 = (*.f64 #s(literal -4 binary64) %11)
%21 = (+ (* -4 (* z y)) x)
%25 = (/.f64 %11 x)
%39 = (/.f64 x y)
%40 = (*.f64 #s(literal 4 binary64) z)
%58 = (/.f64 x z)
%59 = (*.f64 #s(literal 4 binary64) y)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %9 %12)
(approx %9 (-.f64 x (*.f64 #s(literal 4 binary64) %11)))
(approx %21 (+.f64 x %12))
(approx %9 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -4 binary64) %25))))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 4 binary64) %25) #s(literal 1 binary64)))))
(approx y y)
(approx (* y z) %11)
(approx %9 (*.f64 y (-.f64 %39 %40)))
(approx %21 (*.f64 y (fma.f64 #s(literal -4 binary64) z %39)))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %39) (*.f64 #s(literal -4 binary64) z)))))
(approx %21 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %39 %40))))
(approx z z)
(approx %9 (*.f64 z (-.f64 %58 %59)))
(approx %21 (*.f64 z (fma.f64 #s(literal -4 binary64) y %58)))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) %58) (*.f64 #s(literal -4 binary64) y)))))
(approx %21 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %58 %59))))
Calls

9 calls:

TimeVariablePoint
2.0ms
x
inf
2.0ms
z
inf
2.0ms
y
inf
2.0ms
z
-inf
1.0ms
y
-inf

rewrite106.0ms (7.4%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01334
01834
15533
211833
322133
432833
573633
0414433
0432533
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
9 → 199
Calls
Call 1
Inputs
%4 = (*.f64 y z)
%5 = (*.f64 #s(literal -4 binary64) %4)
%11 = (*.f64 z y)
x
y
z
#s(literal -4 binary64)
%4
%5
(approx (- x (* (* y 4) z)) %5)
%11
(fma.f64 #s(literal -4 binary64) %11 x)
Outputs
%5 = (neg.f64 z)
%6 = (*.f64 %5 y)
%7 = (*.f64 #s(literal -1 binary64) %6)
%8 = (neg.f64 y)
%9 = (*.f64 %5 %8)
%10 = (*.f64 %8 %5)
%12 = (*.f64 z y)
%13 = (*.f64 #s(literal 1 binary64) %12)
%14 = (*.f64 y z)
%15 = (pow.f64 %12 #s(literal 1 binary64))
%17 = (/.f64 #s(literal 1 binary64) (pow.f64 %12 #s(literal -1 binary64)))
%18 = (neg.f64 %6)
%20 = (*.f64 %12 #s(literal 2 binary64))
%23 = (*.f64 %6 #s(literal 2 binary64))
%25 = (*.f64 #s(literal 2 binary64) %12)
%28 = (*.f64 #s(literal 4 binary64) z)
%29 = (*.f64 %28 y)
%32 = (*.f64 #s(literal 2 binary64) %6)
%35 = (*.f64 #s(literal 4 binary64) y)
%38 = (*.f64 #s(literal -4 binary64) z)
%41 = (*.f64 #s(literal -4 binary64) y)
%43 = (*.f64 %12 #s(literal -4 binary64))
%57 = (*.f64 #s(literal 1/2 binary64) %6)
%59 = (+.f64 z z)
%60 = (*.f64 %59 %8)
%63 = (*.f64 #s(literal 0 binary64) %23)
%65 = (*.f64 #s(literal 0 binary64) %6)
%67 = (*.f64 #s(literal 0 binary64) %12)
%69 = (+.f64 y y)
%70 = (neg.f64 %69)
%71 = (*.f64 %70 z)
%73 = (*.f64 %69 %5)
%78 = (*.f64 %23 #s(literal 1 binary64))
%80 = (neg.f64 %59)
%81 = (*.f64 %80 y)
%83 = (*.f64 #s(literal 2 binary64) z)
%84 = (*.f64 %83 %8)
%86 = (*.f64 #s(literal 2 binary64) %8)
%87 = (*.f64 %86 z)
%89 = (*.f64 #s(literal 2 binary64) y)
%90 = (*.f64 %89 %5)
%92 = (*.f64 %32 #s(literal 1 binary64))
%94 = (*.f64 #s(literal 2 binary64) %5)
%95 = (*.f64 %94 y)
%99 = (*.f64 #s(literal 3/2 binary64) %6)
%103 = (*.f64 #s(literal 1/2 binary64) %23)
%105 = (*.f64 #s(literal 5/2 binary64) %6)
%110 = (*.f64 #s(literal -2 binary64) %12)
%115 = (*.f64 #s(literal 3 binary64) %6)
%117 = (*.f64 #s(literal 3/2 binary64) %23)
%119 = (*.f64 #s(literal 7/2 binary64) %6)
%152 = (*.f64 #s(literal 1 binary64) %23)
%214 = (approx (- x (* (* 4 z) y)) %43)
%219 = (-.f64 %29 x)
%221 = (fma.f64 %12 #s(literal -4 binary64) x)
%240 = (*.f64 x #s(literal 1 binary64))
%247 = (*.f64 %43 #s(literal 1 binary64))
x
y
z
#s(literal -4 binary64)
%7
%9
%10
%13
%12
%14
%15
%17
%18
(*.f64 %20 #s(literal -2 binary64))
(*.f64 %23 #s(literal 2 binary64))
(*.f64 #s(literal -2 binary64) %25)
(*.f64 #s(literal -1 binary64) %29)
(*.f64 #s(literal 2 binary64) %23)
(*.f64 #s(literal 2 binary64) %32)
(*.f64 %6 #s(literal 4 binary64))
(*.f64 %5 %35)
(*.f64 %8 %28)
(*.f64 %38 y)
(*.f64 %28 %8)
(*.f64 %41 z)
(*.f64 #s(literal 1 binary64) %43)
(*.f64 %35 %5)
(*.f64 #s(literal 4 binary64) %6)
%43
(*.f64 #s(literal -4 binary64) %12)
(*.f64 z %41)
(*.f64 y %38)
(pow.f64 %43 #s(literal 1 binary64))
(/.f64 %23 #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %43 #s(literal -1 binary64)))
(neg.f64 %29)
(fma.f64 #s(literal 7/2 binary64) %6 %57)
(fma.f64 %59 %8 %60)
(fma.f64 %20 #s(literal -2 binary64) %63)
(fma.f64 %20 #s(literal -2 binary64) %65)
(fma.f64 %20 #s(literal -2 binary64) %67)
(fma.f64 %70 z %71)
(fma.f64 %69 %5 %73)
(fma.f64 %23 #s(literal 2 binary64) %63)
(fma.f64 %23 #s(literal 2 binary64) %65)
(fma.f64 %23 #s(literal 2 binary64) %67)
(fma.f64 %23 #s(literal 1 binary64) %78)
(fma.f64 %80 y %81)
(fma.f64 %83 %8 %84)
(fma.f64 %86 z %87)
(fma.f64 %89 %5 %90)
(fma.f64 %32 #s(literal 1 binary64) %92)
(fma.f64 %94 y %95)
(fma.f64 #s(literal 5/2 binary64) %6 %99)
(fma.f64 #s(literal 3 binary64) %6 %6)
(fma.f64 #s(literal 3/2 binary64) %23 %103)
(fma.f64 #s(literal 3/2 binary64) %6 %105)
(fma.f64 #s(literal -2 binary64) %25 %63)
(fma.f64 #s(literal -2 binary64) %25 %65)
(fma.f64 #s(literal -2 binary64) %25 %67)
(fma.f64 #s(literal -2 binary64) %12 %110)
(fma.f64 #s(literal -1 binary64) %29 %63)
(fma.f64 #s(literal -1 binary64) %29 %65)
(fma.f64 #s(literal -1 binary64) %29 %67)
(fma.f64 #s(literal -1 binary64) %12 %115)
(fma.f64 #s(literal 1/2 binary64) %23 %117)
(fma.f64 #s(literal 1/2 binary64) %6 %119)
(fma.f64 #s(literal 2 binary64) %23 %63)
(fma.f64 #s(literal 2 binary64) %23 %65)
(fma.f64 #s(literal 2 binary64) %23 %67)
(fma.f64 #s(literal 2 binary64) %32 %63)
(fma.f64 #s(literal 2 binary64) %32 %65)
(fma.f64 #s(literal 2 binary64) %32 %67)
(fma.f64 #s(literal 2 binary64) %6 %32)
(fma.f64 %6 #s(literal 2 binary64) %23)
(fma.f64 %6 #s(literal 4 binary64) %63)
(fma.f64 %6 #s(literal 4 binary64) %65)
(fma.f64 %6 #s(literal 4 binary64) %67)
(fma.f64 %5 %35 %63)
(fma.f64 %5 %35 %65)
(fma.f64 %5 %35 %67)
(fma.f64 %5 y %115)
(fma.f64 %8 %28 %63)
(fma.f64 %8 %28 %65)
(fma.f64 %8 %28 %67)
(fma.f64 %8 z %115)
(fma.f64 #s(literal 0 binary64) %23 %43)
(fma.f64 #s(literal 0 binary64) %6 %43)
(fma.f64 #s(literal 0 binary64) %12 %43)
(fma.f64 %38 y %63)
(fma.f64 %38 y %65)
(fma.f64 %38 y %67)
(fma.f64 %28 %8 %63)
(fma.f64 %28 %8 %65)
(fma.f64 %28 %8 %67)
(fma.f64 %41 z %63)
(fma.f64 %41 z %65)
(fma.f64 %41 z %67)
(fma.f64 #s(literal 1 binary64) %23 %152)
(fma.f64 #s(literal 1 binary64) %6 %115)
(fma.f64 #s(literal 1 binary64) %43 %63)
(fma.f64 #s(literal 1 binary64) %43 %65)
(fma.f64 #s(literal 1 binary64) %43 %67)
(fma.f64 %35 %5 %63)
(fma.f64 %35 %5 %65)
(fma.f64 %35 %5 %67)
(fma.f64 #s(literal 4 binary64) %6 %63)
(fma.f64 #s(literal 4 binary64) %6 %65)
(fma.f64 #s(literal 4 binary64) %6 %67)
(fma.f64 %12 #s(literal -4 binary64) %63)
(fma.f64 %12 #s(literal -4 binary64) %65)
(fma.f64 %12 #s(literal -4 binary64) %67)
(fma.f64 #s(literal -4 binary64) %12 %63)
(fma.f64 #s(literal -4 binary64) %12 %65)
(fma.f64 #s(literal -4 binary64) %12 %67)
(fma.f64 z %8 %115)
(fma.f64 z %41 %63)
(fma.f64 z %41 %65)
(fma.f64 z %41 %67)
(fma.f64 y %5 %115)
(fma.f64 y %38 %63)
(fma.f64 y %38 %65)
(fma.f64 y %38 %67)
(-.f64 %23 %20)
(-.f64 %32 (*.f64 #s(literal -2 binary64) %6))
(-.f64 %32 %25)
(+.f64 %117 %103)
(+.f64 %103 %117)
(+.f64 %63 %43)
(+.f64 %152 %152)
(+.f64 %78 %78)
(+.f64 %92 %92)
(+.f64 %105 %99)
(+.f64 %99 %105)
(+.f64 %119 %57)
(+.f64 %57 %119)
(+.f64 %115 %6)
(+.f64 %65 %43)
(+.f64 %73 %73)
(+.f64 %90 %90)
(+.f64 %60 %60)
(+.f64 %84 %84)
(+.f64 %71 %71)
(+.f64 %87 %87)
(+.f64 %81 %81)
(+.f64 %95 %95)
(+.f64 %67 %43)
(+.f64 %110 %110)
(+.f64 %23 %23)
(+.f64 %32 %32)
(+.f64 %6 %115)
(+.f64 %43 %63)
(+.f64 %43 %65)
(+.f64 %43 %67)
(*.f64 #s(literal 1 binary64) %214)
(pow.f64 %214 #s(literal 1 binary64))
%214
(/.f64 #s(literal 1 binary64) (pow.f64 %214 #s(literal -1 binary64)))
%7
%9
%10
%13
%12
%14
%15
%17
%18
(*.f64 #s(literal -1 binary64) %219)
(*.f64 #s(literal 1 binary64) %221)
(pow.f64 %221 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %221 #s(literal -1 binary64)))
(neg.f64 %219)
(fma.f64 %20 #s(literal -2 binary64) x)
(fma.f64 %23 #s(literal 2 binary64) x)
(fma.f64 #s(literal -2 binary64) %25 x)
(fma.f64 #s(literal -1 binary64) %29 x)
(fma.f64 #s(literal 2 binary64) %23 x)
(fma.f64 #s(literal 2 binary64) %32 x)
(fma.f64 %6 #s(literal 4 binary64) x)
(fma.f64 %5 %35 x)
(fma.f64 %8 %28 x)
(fma.f64 %38 y x)
(fma.f64 %28 %8 x)
(fma.f64 %41 z x)
(fma.f64 #s(literal 1 binary64) %43 x)
(fma.f64 %43 #s(literal 1 binary64) %240)
(fma.f64 %35 %5 x)
(fma.f64 #s(literal 4 binary64) %6 x)
%221
(fma.f64 #s(literal -4 binary64) %12 x)
(fma.f64 z %41 x)
(fma.f64 y %38 x)
(fma.f64 x #s(literal 1 binary64) %247)
(-.f64 %43 (neg.f64 x))
(-.f64 x %29)
(+.f64 %247 %240)
(+.f64 %240 %247)
(+.f64 %43 x)
(+.f64 x %43)

reconstruct28.0ms (1.9%)

Counts
217 → 29
Compiler

Compiled 217 to 287 computations (-32.3% saved)

eval5.0ms (0.4%)

Compiler

Compiled 26 to 69 computations (-165.4% saved)

prune3.0ms (0.2%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New26026
Fresh000
Picked022
Done000
Total26228
Accuracy
100.0%
Counts
28 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 #s(literal -4 binary64) (*.f64 z y) x)
51.2%
(approx (- x (* (* y 4) z)) (*.f64 #s(literal -4 binary64) (*.f64 y z)))
Compiler

Compiled 2 to 8 computations (-300.0% saved)

regimes22.0ms (1.6%)

Accuracy

Total -0.0b remaining (-0.0%)

Threshold costs -0.0b (-0.0%)

0.0b0%
-0.0b-50.0%

Counts
1 → 1
2 → 1
Calls
Call 1
Inputs
(approx (- x (* (* y 4) z)) (*.f64 #s(literal -4 binary64) (*.f64 y z)))
Outputs
(approx (- x (* (* y 4) z)) (*.f64 #s(literal -4 binary64) (*.f64 y z)))
Call 2
Inputs
(approx (- x (* (* y 4) z)) (*.f64 #s(literal -4 binary64) (*.f64 y z)))
(fma.f64 #s(literal -4 binary64) (*.f64 z y) x)
Outputs
(fma.f64 #s(literal -4 binary64) (*.f64 z y) x)
Calls

6 calls:

9.0ms
(*.f64 y #s(literal 4 binary64))
7.0ms
x
4.0ms
y
4.0ms
z
4.0ms
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
Results
AccuracySegmentsBranch
51.2%1
z
51.2%1
y
51.2%1
x
51.2%1
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
51.2%1
(*.f64 (*.f64 y #s(literal 4 binary64)) z)
51.2%1
(*.f64 y #s(literal 4 binary64))
Compiler

Compiled 9 to 19 computations (-111.1% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations28.0ms (2.0%)

Stop Event
done
Compiler

Compiled 2 to 8 computations (-300.0% saved)

preprocess23.0ms (1.6%)

Compiler

Compiled 7 to 37 computations (-428.6% saved)

end0.0ms (0.0%)

gc706ms (49.0%)

Allocations
AllocatedPercentPhase
713.7 MiB48.6%sample
285.3 MiB19.4%rewrite
190.3 MiB13.0%reconstruct
84.8 MiB5.8%series
79.4 MiB5.4%preprocess
59.9 MiB4.1%regimes
22.5 MiB1.5%eval
18.0 MiB1.2%derivations
12.1 MiB0.8%prune
1.3 MiB0.1%analyze
0.1 MiB0.0%bsearch
0.0 MiB0.0%end
0.0 MiB0.0%start
1 467.3 MiB100.0%total

Profiling

Loading profile data...