Diagrams.Segment:$catParam from diagrams-lib-1.3.0.3, A

Time bar (total: 1.3s)

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 8 computations (11.1% saved)

sample355.0ms (27.1%)

Samples
248.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 9.0ms
Mul: 9.0ms (104.7% of total, 0.0 MiB)
Bogosity

preprocess40.0ms (3.1%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01744
16742
217742
339842
468642
5149742
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
86.7%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
Symmetry

(abs x)

(negabs y)

Compiler

Compiled 2 to 12 computations (-500.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series14.0ms (1.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01942
Stop Event
iter-limit
Counts
6 → 6
Calls
Call 1
Inputs
%2 = (*.f64 x #s(literal 3 binary64))
%3 = (*.f64 %2 x)
x
#s(literal 3 binary64)
%2
%3
y
(*.f64 %3 y)
Outputs
%5 = (* x 3)
%9 = (* %5 x)
%11 = (pow.f64 x #s(literal 2 binary64))
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 (*.f64 #s(literal 3 binary64) x))
(approx %9 (*.f64 #s(literal 3 binary64) %11))
(approx (* %9 y) (*.f64 #s(literal 3 binary64) (*.f64 %11 y)))
(approx y y)
Calls

6 calls:

TimeVariablePoint
5.0ms
y
inf
4.0ms
x
inf
3.0ms
x
-inf
1.0ms
y
-inf
1.0ms
x
0

rewrite93.0ms (7.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
0918
12218
24418
38318
418718
571318
0408718
0426118
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
6 → 100
Calls
Call 1
Inputs
%2 = (*.f64 x #s(literal 3 binary64))
%3 = (*.f64 %2 x)
x
#s(literal 3 binary64)
%2
%3
y
(*.f64 %3 y)
Outputs
%3 = (*.f64 #s(literal 3 binary64) x)
%11 = (*.f64 #s(literal -3 binary64) x)
%15 = (*.f64 #s(literal 2 binary64) x)
%18 = (fabs.f64 x)
%19 = (neg.f64 %18)
%20 = (*.f64 %19 #s(literal 3 binary64))
%22 = (neg.f64 x)
%23 = (*.f64 %22 x)
%25 = (*.f64 %18 #s(literal 3 binary64))
%32 = (*.f64 x x)
%34 = (*.f64 %3 x)
%45 = (*.f64 %11 x)
%53 = (neg.f64 %19)
%54 = (neg.f64 %53)
%55 = (*.f64 #s(literal 2 binary64) %32)
%69 = (*.f64 y #s(literal 3 binary64))
%70 = (neg.f64 %69)
%72 = (*.f64 %19 %69)
%74 = (*.f64 %18 y)
%76 = (*.f64 %22 y)
%80 = (*.f64 %69 %18)
%82 = (*.f64 y x)
%83 = (*.f64 #s(literal -3 binary64) %82)
%91 = (*.f64 %82 #s(literal 3 binary64))
%93 = (*.f64 %82 x)
%96 = (*.f64 y %34)
%111 = (*.f64 %76 x)
%118 = (*.f64 %83 x)
%134 = (neg.f64 y)
%135 = (*.f64 #s(literal 2 binary64) %93)
%137 = (*.f64 %19 y)
x
#s(literal 3 binary64)
(*.f64 #s(literal 1 binary64) %3)
%3
(*.f64 x #s(literal 3 binary64))
(pow.f64 %3 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(neg.f64 %11)
(fma.f64 #s(literal 2 binary64) x x)
(+.f64 %15 x)
(+.f64 x %15)
(*.f64 %20 %19)
(*.f64 #s(literal -3 binary64) %23)
(*.f64 %25 %18)
(*.f64 %11 %22)
(*.f64 %23 #s(literal -3 binary64))
(*.f64 %19 %20)
(*.f64 %18 %25)
(*.f64 %22 %11)
(*.f64 %32 #s(literal 3 binary64))
(*.f64 #s(literal 1 binary64) %34)
%34
(*.f64 #s(literal 3 binary64) %32)
(*.f64 x %3)
(pow.f64 %34 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %34 #s(literal -1 binary64)))
(neg.f64 (*.f64 %18 %20))
(neg.f64 (*.f64 %20 %18))
(neg.f64 (*.f64 #s(literal 1 binary64) %45))
(neg.f64 (*.f64 %22 %3))
(neg.f64 (*.f64 %3 %22))
(neg.f64 %45)
(fma.f64 %54 %54 %55)
(fma.f64 %53 %53 %55)
(fma.f64 %53 %18 %55)
(fma.f64 %19 %19 %55)
(fma.f64 %18 %53 %55)
(fma.f64 %18 %18 %55)
(fma.f64 %22 %22 %55)
(fma.f64 #s(literal 2 binary64) %32 %32)
(fma.f64 #s(literal 1 binary64) %32 %55)
(fma.f64 x x %55)
(+.f64 %55 %32)
(+.f64 %32 %55)
y
(*.f64 %70 %23)
(*.f64 %72 %19)
(*.f64 %74 %25)
(*.f64 %76 %11)
(*.f64 %25 %74)
(*.f64 %11 %76)
(*.f64 %80 %18)
(*.f64 %83 %22)
(*.f64 %23 %70)
(*.f64 %19 %72)
(*.f64 %69 %32)
(*.f64 %18 %80)
(*.f64 %22 %83)
(*.f64 %32 %69)
(*.f64 %91 x)
(*.f64 %93 #s(literal 3 binary64))
(*.f64 %82 %3)
(*.f64 #s(literal 1 binary64) %96)
%96
(*.f64 %34 y)
(*.f64 %3 %82)
(*.f64 #s(literal 3 binary64) %93)
(*.f64 x %91)
(pow.f64 %96 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %96 #s(literal -1 binary64)))
(neg.f64 (*.f64 %82 %11))
(neg.f64 (*.f64 %3 %76))
(neg.f64 (*.f64 %18 %72))
(neg.f64 (*.f64 %111 #s(literal 3 binary64)))
(neg.f64 (*.f64 %45 y))
(neg.f64 (*.f64 %72 %18))
(neg.f64 (*.f64 #s(literal 1 binary64) %118))
(neg.f64 (*.f64 %76 %3))
(neg.f64 (*.f64 %11 %82))
(neg.f64 (*.f64 %22 %91))
(neg.f64 (*.f64 %91 %22))
(neg.f64 (*.f64 y %45))
(neg.f64 (*.f64 #s(literal 3 binary64) %111))
(neg.f64 %118)
(fma.f64 %134 %23 %135)
(fma.f64 %137 %19 %135)
(fma.f64 %74 %18 %135)
(fma.f64 %76 %22 %135)
(fma.f64 %23 %134 %135)
(fma.f64 %19 %137 %135)
(fma.f64 %18 %74 %135)
(fma.f64 %22 %76 %135)
(fma.f64 %32 y %135)
(fma.f64 #s(literal 2 binary64) %93 %93)
(fma.f64 %82 x %135)
(fma.f64 #s(literal 1 binary64) %93 %135)
(fma.f64 y %32 %135)
(fma.f64 x %82 %135)
(+.f64 %135 %93)
(+.f64 %93 %135)

reconstruct9.0ms (0.7%)

Counts
106 → 20
Compiler

Compiled 106 to 158 computations (-49.1% saved)

eval2.0ms (0.1%)

Compiler

Compiled 18 to 52 computations (-188.9% saved)

prune1.0ms (0.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New12618
Fresh000
Picked011
Done000
Total12719
Accuracy
100.0%
Counts
19 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
86.7%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
86.7%
(*.f64 (*.f64 x x) (*.f64 y #s(literal 3 binary64)))
86.6%
(*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x x)) y)
99.7%
(*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 y x))
99.7%
%8 = (fabs.f64 x)
(*.f64 %8 (*.f64 (*.f64 y #s(literal 3 binary64)) %8))
99.7%
(*.f64 x (*.f64 (*.f64 y x) #s(literal 3 binary64)))
99.6%
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 y x) x))
Compiler

Compiled 7 to 21 computations (-200.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series15.0ms (1.2%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
074231
Stop Event
iter-limit
Counts
18 → 20
Calls
Call 1
Inputs
%3 = (*.f64 #s(literal 3 binary64) x)
%4 = (fabs.f64 x)
%5 = (*.f64 x x)
%6 = (*.f64 #s(literal 3 binary64) %5)
%7 = (*.f64 y #s(literal 3 binary64))
%8 = (*.f64 %7 %4)
%9 = (*.f64 y x)
%12 = (*.f64 %9 #s(literal 3 binary64))
%13 = (*.f64 %9 x)
x
#s(literal 3 binary64)
y
%3
%4
%5
%6
%7
%8
%9
(*.f64 %4 %8)
(*.f64 %5 %7)
%12
%13
(*.f64 %3 %9)
(*.f64 #s(literal 3 binary64) %13)
(*.f64 x %12)
(*.f64 %6 y)
Outputs
%9 = (fabs x)
%10 = (fabs.f64 x)
%12 = (* x x)
%14 = (pow.f64 x #s(literal 2 binary64))
%20 = (* y 3)
%21 = (* %20 %9)
%25 = (* y x)
%26 = (*.f64 x y)
%28 = (* %9 %21)
%34 = (*.f64 %14 y)
%44 = (fabs.f64 (/.f64 #s(literal 1 binary64) x))
%52 = (pow.f64 x #s(literal 4 binary64))
%60 = (fabs.f64 (/.f64 #s(literal -1 binary64) x))
(approx x #s(literal 0 binary64))
(approx x x)
(approx (* 3 x) (*.f64 #s(literal 3 binary64) x))
(approx %9 %10)
(approx %12 %14)
(approx (* 3 %12) (*.f64 #s(literal 3 binary64) %14))
(approx %21 (*.f64 #s(literal 3 binary64) (*.f64 y %10)))
(approx %25 %26)
(approx %28 (*.f64 #s(literal 3 binary64) (*.f64 y (pow.f64 %10 #s(literal 2 binary64)))))
(approx (* %12 %20) (*.f64 #s(literal 3 binary64) %34))
(approx (* %25 3) (*.f64 #s(literal 3 binary64) %26))
(approx (* %25 x) %34)
(approx %9 (*.f64 %14 %44))
(approx %21 (*.f64 #s(literal 3 binary64) (*.f64 %14 (*.f64 y %44))))
(approx %28 (*.f64 #s(literal 3 binary64) (*.f64 %52 (*.f64 y (pow.f64 %44 #s(literal 2 binary64))))))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 %14 %60)))
(approx %21 (*.f64 #s(literal -3 binary64) (*.f64 %14 (*.f64 y %60))))
(approx %28 (*.f64 #s(literal 3 binary64) (*.f64 %52 (*.f64 y (pow.f64 %60 #s(literal 2 binary64))))))
(approx y y)
(approx %20 (*.f64 #s(literal 3 binary64) y))
Calls

6 calls:

TimeVariablePoint
11.0ms
y
inf
3.0ms
x
inf
2.0ms
x
-inf
2.0ms
y
-inf
1.0ms
x
0

rewrite68.0ms (5.2%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01882
03392
18980
215680
343480
4200480
0446480
0474780
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
18 → 461
Calls
Call 1
Inputs
%3 = (*.f64 #s(literal 3 binary64) x)
%4 = (fabs.f64 x)
%5 = (*.f64 x x)
%6 = (*.f64 #s(literal 3 binary64) %5)
%7 = (*.f64 y #s(literal 3 binary64))
%8 = (*.f64 %7 %4)
%9 = (*.f64 y x)
%12 = (*.f64 %9 #s(literal 3 binary64))
%13 = (*.f64 %9 x)
x
#s(literal 3 binary64)
y
%3
%4
%5
%6
%7
%8
%9
(*.f64 %4 %8)
(*.f64 %5 %7)
%12
%13
(*.f64 %3 %9)
(*.f64 #s(literal 3 binary64) %13)
(*.f64 x %12)
(*.f64 %6 y)
Outputs
%4 = (*.f64 #s(literal 3 binary64) x)
%12 = (*.f64 #s(literal -3 binary64) x)
%14 = (fabs.f64 x)
%15 = (sqrt.f64 %14)
%16 = (*.f64 %15 %14)
%17 = (sqrt.f64 %15)
%18 = (*.f64 %16 %17)
%19 = (sqrt.f64 %18)
%20 = (sqrt.f64 %17)
%22 = (sqrt.f64 %16)
%24 = (neg.f64 %15)
%25 = (neg.f64 %24)
%37 = (pow.f64 x #s(literal 16 binary64))
%42 = (pow.f64 x #s(literal 8 binary64))
%47 = (*.f64 x x)
%48 = (*.f64 %47 %47)
%65 = (neg.f64 %14)
%69 = (neg.f64 x)
%72 = (*.f64 %17 %14)
%75 = (*.f64 %24 %14)
%78 = (*.f64 %65 %15)
%82 = (*.f64 %15 %65)
%112 = (*.f64 %69 x)
%119 = (*.f64 %15 %69)
%124 = (*.f64 %15 x)
%131 = (*.f64 %69 %15)
%134 = (*.f64 x %15)
%149 = (*.f64 %14 #s(literal 3 binary64))
%150 = (*.f64 %15 %149)
%153 = (*.f64 %65 #s(literal 3 binary64))
%161 = (*.f64 %15 #s(literal 3 binary64))
%180 = (*.f64 %47 #s(literal 3 binary64))
%193 = (*.f64 %12 x)
%195 = (*.f64 y #s(literal 3 binary64))
%201 = (*.f64 %15 %195)
%206 = (*.f64 %15 y)
%214 = (*.f64 %14 y)
%218 = (*.f64 %195 %14)
%226 = (*.f64 y x)
%232 = (*.f64 %69 y)
%234 = (*.f64 %16 %195)
%236 = (*.f64 (*.f64 %234 %17) %17)
%237 = (*.f64 %65 %195)
%239 = (*.f64 (*.f64 %237 %24) %15)
%241 = (*.f64 (*.f64 %237 %15) %24)
%243 = (*.f64 (*.f64 %218 %24) %24)
%244 = (neg.f64 %195)
%245 = (*.f64 %244 %112)
%246 = (*.f64 %16 y)
%247 = (*.f64 %161 %246)
%248 = (*.f64 %65 y)
%249 = (*.f64 %153 %248)
%250 = (*.f64 %206 %150)
%251 = (*.f64 %248 %153)
%252 = (*.f64 %246 %161)
%253 = (*.f64 %237 %65)
%254 = (*.f64 %234 %15)
%255 = (*.f64 %16 %201)
%256 = (*.f64 %201 %16)
%257 = (*.f64 %150 %206)
%259 = (*.f64 %24 (*.f64 %15 %237))
%261 = (*.f64 %24 (*.f64 %24 %218))
%263 = (*.f64 %17 (*.f64 %17 %234))
%264 = (*.f64 %12 %232)
%265 = (*.f64 %232 %12)
%266 = (*.f64 %214 %149)
%267 = (*.f64 #s(literal -3 binary64) %226)
%268 = (*.f64 %267 %69)
%269 = (*.f64 %65 %237)
%270 = (*.f64 %112 %244)
%272 = (*.f64 %15 (*.f64 %24 %237))
%273 = (*.f64 %15 %234)
%274 = (*.f64 %149 %214)
%275 = (*.f64 %69 %267)
%276 = (*.f64 %226 x)
%277 = (*.f64 %276 #s(literal 3 binary64))
%278 = (*.f64 #s(literal 1 binary64) %277)
%279 = (*.f64 %226 #s(literal 3 binary64))
%280 = (*.f64 %279 x)
%281 = (*.f64 %226 %4)
%282 = (*.f64 %218 %14)
%283 = (*.f64 %195 %47)
%284 = (*.f64 %180 y)
%285 = (*.f64 %47 %195)
%286 = (*.f64 %14 %218)
%287 = (*.f64 %4 %226)
%288 = (*.f64 y %180)
%289 = (*.f64 #s(literal 3 binary64) %276)
%290 = (*.f64 x %279)
%291 = (pow.f64 %277 #s(literal 1 binary64))
%293 = (/.f64 #s(literal 1 binary64) (pow.f64 %277 #s(literal -1 binary64)))
%295 = (neg.f64 (*.f64 %14 %237))
%297 = (neg.f64 (*.f64 %237 %14))
%299 = (neg.f64 (*.f64 %193 y))
%318 = (neg.f64 y)
x
#s(literal 3 binary64)
y
(*.f64 #s(literal 1 binary64) %4)
%4
(*.f64 x #s(literal 3 binary64))
(pow.f64 %4 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64)))
(neg.f64 %12)
(*.f64 %19 %20)
(*.f64 %22 %17)
(*.f64 %25 %25)
(*.f64 %25 %15)
(*.f64 %20 %19)
(*.f64 %24 %24)
(*.f64 %17 %22)
(*.f64 %15 %25)
(*.f64 %15 %15)
(*.f64 #s(literal 1 binary64) %14)
(pow.f64 %25 #s(literal 2 binary64))
(pow.f64 %37 #s(literal 1/16 binary64))
(pow.f64 %24 #s(literal 2 binary64))
(pow.f64 %42 #s(literal 1/8 binary64))
(pow.f64 %17 #s(literal 4 binary64))
(pow.f64 %48 #s(literal 1/4 binary64))
(pow.f64 %15 #s(literal 2 binary64))
(pow.f64 %47 #s(literal 1/2 binary64))
(pow.f64 %14 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %24 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %15 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %47 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %14 #s(literal -1 binary64)))
(neg.f64 %65)
(sqrt.f64 %47)
(fabs.f64 %65)
(fabs.f64 %69)
(fabs.f64 %14)
%14
(*.f64 %72 %22)
(*.f64 %18 %17)
(*.f64 %75 %24)
(*.f64 %22 %72)
(*.f64 %78 %24)
(*.f64 %16 %15)
(*.f64 %24 %75)
(*.f64 %24 %82)
(*.f64 %17 %18)
(*.f64 %65 %65)
(*.f64 %15 %16)
(*.f64 %69 %69)
(*.f64 #s(literal 1 binary64) %47)
(*.f64 %14 %14)
%47
(pow.f64 %37 #s(literal 1/8 binary64))
(pow.f64 %24 #s(literal 4 binary64))
(pow.f64 %42 #s(literal 1/4 binary64))
(pow.f64 %65 #s(literal 2 binary64))
(pow.f64 %48 #s(literal 1/2 binary64))
(pow.f64 %15 #s(literal 4 binary64))
(pow.f64 %69 #s(literal 2 binary64))
(pow.f64 %47 #s(literal 1 binary64))
(pow.f64 %14 #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %65 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %48 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %69 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %47 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %14 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64)))
(neg.f64 %112)
(sqrt.f64 %48)
(fabs.f64 (*.f64 %82 %24))
(fabs.f64 (*.f64 %82 %15))
(fabs.f64 (*.f64 %119 %24))
(fabs.f64 (*.f64 %119 %15))
(fabs.f64 (*.f64 %124 %24))
(fabs.f64 (*.f64 %124 %15))
(fabs.f64 (*.f64 %24 %78))
(fabs.f64 (*.f64 %24 %131))
(fabs.f64 (*.f64 %24 %134))
(fabs.f64 (*.f64 %15 %78))
(fabs.f64 (*.f64 %15 %131))
(fabs.f64 (*.f64 %15 %134))
(fabs.f64 (*.f64 %65 x))
(fabs.f64 (*.f64 %14 x))
(fabs.f64 %112)
(fabs.f64 %47)
(*.f64 (*.f64 %150 %17) %17)
(*.f64 (*.f64 %153 %24) %15)
(*.f64 (*.f64 %153 %15) %24)
(*.f64 (*.f64 %149 %24) %24)
(*.f64 #s(literal -3 binary64) %112)
(*.f64 %161 %16)
(*.f64 %153 %65)
(*.f64 %16 %161)
(*.f64 %150 %15)
(*.f64 %24 (*.f64 %15 %153))
(*.f64 %24 (*.f64 %24 %149))
(*.f64 %17 (*.f64 %17 %150))
(*.f64 %12 %69)
(*.f64 %65 %153)
(*.f64 %112 #s(literal -3 binary64))
(*.f64 %15 (*.f64 %24 %153))
(*.f64 %15 %150)
(*.f64 %149 %14)
(*.f64 %69 %12)
(*.f64 #s(literal 1 binary64) %180)
%180
(*.f64 %14 %149)
(*.f64 %4 x)
(*.f64 #s(literal 3 binary64) %47)
(*.f64 x %4)
(pow.f64 %180 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %180 #s(literal -1 binary64)))
(neg.f64 (*.f64 %14 %153))
(neg.f64 (*.f64 %153 %14))
(neg.f64 %193)
(*.f64 #s(literal 1 binary64) %195)
%195
(*.f64 #s(literal 3 binary64) y)
(pow.f64 %195 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %195 #s(literal -1 binary64)))
(*.f64 (*.f64 %201 %17) %17)
(*.f64 (*.f64 %195 %24) %24)
(*.f64 %161 %206)
(*.f64 %206 %161)
(*.f64 %201 %15)
(*.f64 %24 (*.f64 %24 %195))
(*.f64 %17 (*.f64 %17 %201))
(*.f64 %214 #s(literal 3 binary64))
(*.f64 %15 %201)
(*.f64 %149 y)
(*.f64 #s(literal 1 binary64) %218)
%218
(*.f64 %14 %195)
(*.f64 y %149)
(*.f64 #s(literal 3 binary64) %214)
(pow.f64 %218 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %218 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %226)
%226
(*.f64 x y)
(pow.f64 %226 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %226 #s(literal -1 binary64)))
(neg.f64 %232)
%236
%239
%241
%243
%245
%247
%249
%250
%251
%252
%253
%254
%255
%256
%257
%259
%261
%263
%264
%265
%266
%268
%269
%270
%272
%273
%274
%275
%278
%277
%280
%281
%282
%283
%284
%285
%286
%287
%288
%289
%290
%291
%293
%295
%297
%299
%236
%239
%241
%243
%245
%247
%249
%250
%251
%252
%253
%254
%255
%256
%257
%259
%261
%263
%264
%265
%266
%268
%269
%270
%272
%273
%274
%275
%278
%277
%280
%281
%282
%283
%284
%285
%286
%287
%288
%289
%290
%291
%293
%295
%297
%299
(*.f64 #s(literal 1 binary64) %279)
%279
(*.f64 %195 x)
(*.f64 %4 y)
(*.f64 y %4)
(*.f64 #s(literal 3 binary64) %226)
(*.f64 x %195)
(pow.f64 %279 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %279 #s(literal -1 binary64)))
(neg.f64 %267)
(*.f64 (*.f64 %246 %17) %17)
(*.f64 (*.f64 %248 %24) %15)
(*.f64 (*.f64 %248 %15) %24)
(*.f64 (*.f64 %214 %24) %24)
(*.f64 %318 %112)
(*.f64 %206 %16)
(*.f64 %248 %65)
(*.f64 %246 %15)
(*.f64 %16 %206)
(*.f64 %24 (*.f64 %15 %248))
(*.f64 %24 (*.f64 %24 %214))
(*.f64 %17 (*.f64 %17 %246))
(*.f64 %232 %69)
(*.f64 %214 %14)
(*.f64 %65 %248)
(*.f64 %112 %318)
(*.f64 %15 (*.f64 %24 %248))
(*.f64 %15 %246)
(*.f64 %69 %232)
(*.f64 #s(literal 1 binary64) %276)
%276
(*.f64 %47 y)
(*.f64 %14 %214)
(*.f64 y %47)
(*.f64 x %226)
(pow.f64 %276 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %276 #s(literal -1 binary64)))
(neg.f64 (*.f64 %14 %248))
(neg.f64 (*.f64 %248 %14))
(neg.f64 (*.f64 %232 x))
%236
%239
%241
%243
%245
%247
%249
%250
%251
%252
%253
%254
%255
%256
%257
%259
%261
%263
%264
%265
%266
%268
%269
%270
%272
%273
%274
%275
%278
%277
%280
%281
%282
%283
%284
%285
%286
%287
%288
%289
%290
%291
%293
%295
%297
%299
%236
%239
%241
%243
%245
%247
%249
%250
%251
%252
%253
%254
%255
%256
%257
%259
%261
%263
%264
%265
%266
%268
%269
%270
%272
%273
%274
%275
%278
%277
%280
%281
%282
%283
%284
%285
%286
%287
%288
%289
%290
%291
%293
%295
%297
%299
%236
%239
%241
%243
%245
%247
%249
%250
%251
%252
%253
%254
%255
%256
%257
%259
%261
%263
%264
%265
%266
%268
%269
%270
%272
%273
%274
%275
%278
%277
%280
%281
%282
%283
%284
%285
%286
%287
%288
%289
%290
%291
%293
%295
%297
%299
%236
%239
%241
%243
%245
%247
%249
%250
%251
%252
%253
%254
%255
%256
%257
%259
%261
%263
%264
%265
%266
%268
%269
%270
%272
%273
%274
%275
%278
%277
%280
%281
%282
%283
%284
%285
%286
%287
%288
%289
%290
%291
%293
%295
%297
%299

reconstruct31.0ms (2.4%)

Counts
481 → 148
Compiler

Compiled 481 to 383 computations (20.4% saved)

eval8.0ms (0.6%)

Compiler

Compiled 95 to 276 computations (-190.5% saved)

prune3.0ms (0.3%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New94195
Fresh000
Picked246
Done011
Total966102
Accuracy
100.0%
Counts
102 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
86.7%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
86.7%
(*.f64 (*.f64 x x) (*.f64 y #s(literal 3 binary64)))
99.7%
(*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 y x))
99.7%
(*.f64 x (*.f64 (*.f64 y x) #s(literal 3 binary64)))
99.7%
(*.f64 x (*.f64 x (*.f64 y #s(literal 3 binary64))))
99.6%
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 y x) x))
Compiler

Compiled 6 to 18 computations (-200.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series7.0ms (0.5%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02042
Stop Event
iter-limit
Counts
6 → 6
Calls
Call 1
Inputs
%3 = (*.f64 y #s(literal 3 binary64))
%4 = (*.f64 x %3)
x
#s(literal 3 binary64)
y
%3
%4
(*.f64 x %4)
Outputs
%6 = (* y 3)
%7 = (* x %6)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 (*.f64 #s(literal 3 binary64) (*.f64 x y)))
(approx (* x %7) (*.f64 #s(literal 3 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y)))
(approx y y)
(approx %6 (*.f64 #s(literal 3 binary64) y))
Calls

6 calls:

TimeVariablePoint
2.0ms
y
inf
1.0ms
x
inf
1.0ms
y
-inf
1.0ms
x
-inf
0.0ms
y
0

rewrite128.0ms (9.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
0918
12318
25418
313918
441518
5194318
0418718
0444018
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
6 → 89
Calls
Call 1
Inputs
%3 = (*.f64 y #s(literal 3 binary64))
%4 = (*.f64 x %3)
x
#s(literal 3 binary64)
y
%3
%4
(*.f64 x %4)
Outputs
%4 = (*.f64 y #s(literal 3 binary64))
%13 = (*.f64 y #s(literal 1 binary64))
%15 = (*.f64 y #s(literal 2 binary64))
%19 = (*.f64 #s(literal 2 binary64) y)
%22 = (*.f64 #s(literal 3 binary64) x)
%24 = (*.f64 y x)
%26 = (*.f64 %4 x)
%35 = (*.f64 #s(literal -3 binary64) %24)
%38 = (*.f64 %24 #s(literal 1 binary64))
%40 = (*.f64 %24 #s(literal 2 binary64))
%42 = (*.f64 #s(literal 2 binary64) %24)
%50 = (fabs.f64 x)
%51 = (*.f64 %50 #s(literal 3 binary64))
%52 = (*.f64 %51 y)
%53 = (sqrt.f64 %50)
%56 = (neg.f64 %4)
%57 = (neg.f64 x)
%58 = (*.f64 %57 x)
%60 = (neg.f64 %50)
%61 = (*.f64 %60 y)
%62 = (*.f64 %60 #s(literal 3 binary64))
%64 = (*.f64 %62 y)
%71 = (*.f64 %50 y)
%73 = (*.f64 #s(literal -3 binary64) x)
%74 = (*.f64 %57 y)
%80 = (*.f64 x x)
%81 = (*.f64 %80 y)
%83 = (*.f64 %22 x)
%90 = (*.f64 %26 x)
%106 = (*.f64 #s(literal 2 binary64) %81)
%108 = (neg.f64 y)
%117 = (*.f64 %81 #s(literal 1 binary64))
%119 = (*.f64 %81 #s(literal 2 binary64))
x
#s(literal 3 binary64)
y
(*.f64 #s(literal 1 binary64) %4)
%4
(*.f64 #s(literal 3 binary64) y)
(pow.f64 %4 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64)))
(fma.f64 #s(literal 2 binary64) y y)
(fma.f64 y #s(literal 2 binary64) %13)
(fma.f64 y #s(literal 1 binary64) %15)
(+.f64 %15 %13)
(+.f64 %13 %15)
(+.f64 %19 y)
(+.f64 y %19)
(*.f64 %22 y)
(*.f64 %24 #s(literal 3 binary64))
(*.f64 #s(literal 1 binary64) %26)
%26
(*.f64 y %22)
(*.f64 #s(literal 3 binary64) %24)
(*.f64 x %4)
(pow.f64 %26 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %26 #s(literal -1 binary64)))
(neg.f64 %35)
(fma.f64 #s(literal 2 binary64) %24 %24)
(fma.f64 %24 #s(literal 2 binary64) %38)
(fma.f64 %24 #s(literal 1 binary64) %40)
(fma.f64 #s(literal 1 binary64) %24 %42)
(fma.f64 y x %42)
(fma.f64 x y %42)
(+.f64 %40 %38)
(+.f64 %38 %40)
(+.f64 %42 %24)
(+.f64 %24 %42)
(*.f64 (*.f64 %52 %53) %53)
(*.f64 %56 %58)
(*.f64 %61 %62)
(*.f64 %64 %60)
(*.f64 %62 %61)
(*.f64 %53 (*.f64 %53 %52))
(*.f64 %52 %50)
(*.f64 %35 %57)
(*.f64 %51 %71)
(*.f64 %73 %74)
(*.f64 %71 %51)
(*.f64 %74 %73)
(*.f64 %58 %56)
(*.f64 %60 %64)
(*.f64 %81 #s(literal 3 binary64))
(*.f64 %83 y)
(*.f64 %22 %24)
(*.f64 %50 %52)
(*.f64 %57 %35)
(*.f64 %80 %4)
(*.f64 %24 %22)
(*.f64 #s(literal 1 binary64) %90)
%90
(*.f64 %4 %80)
(*.f64 y %83)
(*.f64 #s(literal 3 binary64) %81)
(*.f64 x %26)
(pow.f64 %90 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %90 #s(literal -1 binary64)))
(neg.f64 (*.f64 %50 %64))
(neg.f64 (*.f64 %64 %50))
(neg.f64 (*.f64 %35 x))
(fma.f64 (*.f64 %71 %53) %53 %106)
(fma.f64 %108 %58 %106)
(fma.f64 %61 %60 %106)
(fma.f64 %53 (*.f64 %53 %71) %106)
(fma.f64 %71 %50 %106)
(fma.f64 %74 %57 %106)
(fma.f64 %58 %108 %106)
(fma.f64 %60 %61 %106)
(fma.f64 %81 #s(literal 2 binary64) %117)
(fma.f64 %81 #s(literal 1 binary64) %119)
(fma.f64 %50 %71 %106)
(fma.f64 %57 %74 %106)
(fma.f64 #s(literal 2 binary64) %81 %81)
(fma.f64 %80 y %106)
(fma.f64 %24 x %106)
(fma.f64 #s(literal 1 binary64) %81 %106)
(fma.f64 y %80 %106)
(fma.f64 x %24 %106)
(+.f64 %119 %117)
(+.f64 %117 %119)
(+.f64 %106 %81)
(+.f64 %81 %106)

reconstruct12.0ms (0.9%)

Counts
95 → 23
Compiler

Compiled 95 to 139 computations (-46.3% saved)

eval3.0ms (0.2%)

Compiler

Compiled 20 to 61 computations (-205.0% saved)

prune3.0ms (0.2%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New20020
Fresh000
Picked011
Done055
Total20626
Accuracy
100.0%
Counts
26 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
86.7%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
86.7%
(*.f64 (*.f64 x x) (*.f64 y #s(literal 3 binary64)))
99.7%
(*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 y x))
99.7%
(*.f64 x (*.f64 (*.f64 y x) #s(literal 3 binary64)))
99.7%
(*.f64 x (*.f64 x (*.f64 y #s(literal 3 binary64))))
99.6%
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 y x) x))
Compiler

Compiled 6 to 18 computations (-200.0% saved)

regimes30.0ms (2.3%)

Accuracy

Total 0.1b remaining (23.2%)

Threshold costs 0.1b (23.2%)

0.1b0.0%
0.0b-∞%

Counts
1 → 1
2 → 1
Calls
Call 1
Inputs
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 y x) x))
Outputs
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 y x) x))
Call 2
Inputs
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 y x) x))
(*.f64 x (*.f64 x (*.f64 y #s(literal 3 binary64))))
Outputs
(*.f64 x (*.f64 x (*.f64 y #s(literal 3 binary64))))
Calls

4 calls:

10.0ms
y
8.0ms
x
7.0ms
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
7.0ms
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
Results
AccuracySegmentsBranch
99.6%1
y
99.6%1
x
99.6%1
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
99.6%1
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
Compiler

Compiled 12 to 29 computations (-141.7% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations130.0ms (9.9%)

Stop Event
done
Compiler

Compiled 2 to 9 computations (-350.0% saved)

preprocess21.0ms (1.6%)

Compiler

Compiled 11 to 63 computations (-472.7% saved)

end0.0ms (0.0%)

gc334ms (25.6%)

Allocations
AllocatedPercentPhase
644.9 MiB44.9%sample
333.6 MiB23.2%rewrite
105.9 MiB7.4%series
103.4 MiB7.2%reconstruct
88.6 MiB6.2%preprocess
66.6 MiB4.6%derivations
44.4 MiB3.1%regimes
29.8 MiB2.1%eval
18.2 MiB1.3%prune
0.8 MiB0.1%analyze
0.1 MiB0.0%bsearch
0.0 MiB0.0%start
0.0 MiB0.0%end
1 436.3 MiB100.0%total

Profiling

Loading profile data...