Linear.Matrix:fromQuaternion from linear-1.19.1.3, A

Time bar (total: 1.0s)

start0.0ms (0.0%)

analyze0.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 11 to 9 computations (18.2% saved)

sample225.0ms (22.1%)

Samples
166.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 8.0ms
Mul: 6.0ms (72.0% of total, 0.0 MiB)
Sub: 2.0ms (24.0% of total, 0.0 MiB)
Bogosity

preprocess26.0ms (2.5%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02246
111542
241442
3157142
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.3%
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
Compiler

Compiled 2 to 14 computations (-600.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series7.0ms (0.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064259
Stop Event
iter-limit
Counts
7 → 18
Calls
Call 1
Inputs
%2 = (*.f64 x x)
%4 = (*.f64 x y)
%5 = (-.f64 %2 %4)
#s(literal 2 binary64)
x
%2
y
%4
%5
(*.f64 #s(literal 2 binary64) %5)
Outputs
%5 = (* x x)
%7 = (pow.f64 x #s(literal 2 binary64))
%10 = (* x y)
%11 = (*.f64 x y)
%13 = (- %5 %10)
%20 = (* 2 %13)
%24 = (*.f64 #s(literal 2 binary64) x)
%29 = (/.f64 y x)
%34 = (*.f64 #s(literal 2 binary64) %7)
%45 = (/.f64 %7 y)
(approx 2 #s(literal 0 binary64))
(approx x x)
(approx %5 %7)
(approx %10 %11)
(approx %13 (*.f64 #s(literal -1 binary64) %11))
(approx %13 (*.f64 x (-.f64 x y)))
(approx %20 (*.f64 #s(literal -2 binary64) %11))
(approx %20 (*.f64 x (fma.f64 #s(literal -2 binary64) y %24)))
(approx %13 (*.f64 %7 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %29))))
(approx %20 %34)
(approx %20 (*.f64 %7 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) %29))))
(approx y y)
(approx %13 (fma.f64 #s(literal -1 binary64) %11 %7))
(approx %20 (fma.f64 #s(literal -2 binary64) %11 %34))
(approx %13 (*.f64 y (-.f64 %45 x)))
(approx %20 (*.f64 y (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal 2 binary64) %45))))
(approx %13 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %45) (*.f64 #s(literal -1 binary64) x)))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -2 binary64) %45 %24))))
Calls

6 calls:

TimeVariablePoint
53.0ms
x
inf
1.0ms
y
inf
1.0ms
x
-inf
1.0ms
y
-inf
1.0ms
x
0

rewrite85.0ms (8.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0725
01121
13621
213221
357521
4281221
0483521
0505121
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
7 → 483
Calls
Call 1
Inputs
%2 = (*.f64 x x)
%4 = (*.f64 x y)
%5 = (-.f64 %2 %4)
#s(literal 2 binary64)
x
%2
y
%4
%5
(*.f64 #s(literal 2 binary64) %5)
Outputs
%2 = (fabs.f64 x)
%3 = (sqrt.f64 %2)
%4 = (*.f64 %3 %2)
%6 = (*.f64 x x)
%8 = (*.f64 %6 #s(literal 1/2 binary64))
%10 = (neg.f64 %2)
%12 = (*.f64 %10 #s(literal 1 binary64))
%15 = (+.f64 x x)
%16 = (*.f64 %15 x)
%22 = (neg.f64 x)
%26 = (*.f64 #s(literal 1/2 binary64) %6)
%33 = (*.f64 %6 %6)
%58 = (*.f64 %6 #s(literal -1 binary64))
%60 = (*.f64 #s(literal -1 binary64) %6)
%62 = (*.f64 %22 x)
%63 = (*.f64 %62 #s(literal 1 binary64))
%67 = (*.f64 %6 #s(literal 0 binary64))
%69 = (*.f64 #s(literal 0 binary64) %6)
%104 = (*.f64 %22 %10)
%107 = (*.f64 x %10)
%110 = (*.f64 %22 %2)
%113 = (*.f64 x %2)
%116 = (*.f64 %10 %22)
%119 = (*.f64 %2 %22)
%122 = (*.f64 %10 x)
%125 = (*.f64 %2 x)
%204 = (neg.f64 y)
%207 = (*.f64 y x)
%213 = (*.f64 %22 y)
%215 = (neg.f64 %15)
%216 = (-.f64 y x)
%217 = (*.f64 %216 #s(literal 1/2 binary64))
%219 = (-.f64 x y)
%220 = (*.f64 #s(literal 1/2 binary64) %219)
%221 = (*.f64 %220 x)
%223 = (*.f64 #s(literal 1/2 binary64) %221)
%225 = (*.f64 %216 x)
%226 = (*.f64 %225 #s(literal 1/2 binary64))
%228 = (*.f64 %219 #s(literal 1/2 binary64))
%230 = (*.f64 %219 #s(literal 2 binary64))
%231 = (*.f64 x #s(literal 1/2 binary64))
%233 = (*.f64 %15 %219)
%235 = (*.f64 %215 #s(literal 1/2 binary64))
%239 = (*.f64 %219 x)
%255 = (*.f64 %213 #s(literal 1/2 binary64))
%264 = (*.f64 %239 #s(literal 0 binary64))
%266 = (*.f64 #s(literal 0 binary64) %239)
%280 = (*.f64 #s(literal -2 binary64) %207)
%303 = (*.f64 y #s(literal 1 binary64))
%321 = (*.f64 %204 #s(literal 1 binary64))
%327 = (*.f64 #s(literal 1/2 binary64) %213)
%345 = (*.f64 #s(literal -2 binary64) %216)
%347 = (*.f64 %239 #s(literal 4 binary64))
%349 = (*.f64 %233 #s(literal 2 binary64))
%351 = (*.f64 #s(literal 2 binary64) %233)
%353 = (*.f64 #s(literal -2 binary64) %219)
%355 = (*.f64 #s(literal -2 binary64) x)
%357 = (*.f64 #s(literal -2 binary64) %22)
%362 = (*.f64 %216 #s(literal 2 binary64))
%366 = (*.f64 #s(literal 4 binary64) %239)
%369 = (fma.f64 %15 %219 %233)
%371 = (*.f64 x #s(literal -2 binary64))
%374 = (*.f64 %15 %216)
%376 = (*.f64 %22 #s(literal -2 binary64))
%380 = (fma.f64 y #s(literal 2 binary64) %215)
%382 = (+.f64 y y)
%383 = (fma.f64 %22 #s(literal 2 binary64) %382)
%385 = (*.f64 %219 #s(literal -2 binary64))
%399 = (*.f64 %233 #s(literal 0 binary64))
%401 = (*.f64 #s(literal 0 binary64) %233)
%407 = (fabs.f64 %15)
%410 = (-.f64 %219 y)
%411 = (*.f64 %410 x)
%412 = (*.f64 %411 #s(literal 1 binary64))
%415 = (*.f64 #s(literal 4 binary64) %6)
%426 = (-.f64 x %216)
%427 = (*.f64 %426 x)
%428 = (*.f64 %427 #s(literal 1 binary64))
%442 = (neg.f64 %382)
%445 = (neg.f64 %407)
%458 = (-.f64 %216 x)
%467 = (-.f64 y %219)
#s(literal 2 binary64)
x
(*.f64 %4 %3)
(*.f64 %8 #s(literal 2 binary64))
(*.f64 %12 %12)
(*.f64 %3 %4)
(*.f64 #s(literal 1/2 binary64) %16)
(*.f64 %16 #s(literal 1/2 binary64))
(*.f64 %10 %12)
(*.f64 %10 %10)
(*.f64 %2 %2)
(*.f64 %22 %22)
(*.f64 #s(literal 1 binary64) %6)
(*.f64 %6 #s(literal 1 binary64))
%6
(*.f64 #s(literal 2 binary64) %26)
(pow.f64 %12 #s(literal 2 binary64))
(pow.f64 (pow.f64 x #s(literal 8 binary64)) #s(literal 1/4 binary64))
(pow.f64 %33 #s(literal 1/2 binary64))
(pow.f64 %3 #s(literal 4 binary64))
(pow.f64 %10 #s(literal 2 binary64))
(pow.f64 %2 #s(literal 2 binary64))
(pow.f64 %22 #s(literal 2 binary64))
(pow.f64 %6 #s(literal 1 binary64))
(pow.f64 x #s(literal 2 binary64))
(/.f64 %16 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %33 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %22 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %6 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64)))
(neg.f64 %58)
(neg.f64 %60)
(neg.f64 %63)
(neg.f64 %62)
(fma.f64 %4 %3 %67)
(fma.f64 %4 %3 %69)
(fma.f64 %8 #s(literal 2 binary64) %67)
(fma.f64 %8 #s(literal 2 binary64) %69)
(fma.f64 %12 %12 %67)
(fma.f64 %12 %12 %69)
(fma.f64 %3 %4 %67)
(fma.f64 %3 %4 %69)
(fma.f64 #s(literal 1/2 binary64) %16 %67)
(fma.f64 #s(literal 1/2 binary64) %16 %69)
(fma.f64 #s(literal 1/2 binary64) %6 %26)
(fma.f64 %16 #s(literal 1/2 binary64) %67)
(fma.f64 %16 #s(literal 1/2 binary64) %69)
(fma.f64 %10 %12 %67)
(fma.f64 %10 %12 %69)
(fma.f64 %10 %10 %67)
(fma.f64 %10 %10 %69)
(fma.f64 %2 %2 %67)
(fma.f64 %2 %2 %69)
(fma.f64 %22 %22 %67)
(fma.f64 %22 %22 %69)
(fma.f64 #s(literal 1 binary64) %6 %67)
(fma.f64 #s(literal 1 binary64) %6 %69)
(fma.f64 %6 #s(literal 1/2 binary64) %8)
(fma.f64 %6 #s(literal 1 binary64) %67)
(fma.f64 %6 #s(literal 1 binary64) %69)
(fma.f64 x x %67)
(fma.f64 x x %69)
(fma.f64 #s(literal 2 binary64) %26 %67)
(fma.f64 #s(literal 2 binary64) %26 %69)
(sqrt.f64 (*.f64 %33 #s(literal 1 binary64)))
(sqrt.f64 %33)
(fabs.f64 (*.f64 #s(literal -1 binary64) %63))
(fabs.f64 (*.f64 #s(literal -1 binary64) %104))
(fabs.f64 (*.f64 #s(literal -1 binary64) %107))
(fabs.f64 (*.f64 #s(literal -1 binary64) %110))
(fabs.f64 (*.f64 #s(literal -1 binary64) %113))
(fabs.f64 (*.f64 #s(literal -1 binary64) %116))
(fabs.f64 (*.f64 #s(literal -1 binary64) %119))
(fabs.f64 (*.f64 #s(literal -1 binary64) %122))
(fabs.f64 (*.f64 #s(literal -1 binary64) %125))
(fabs.f64 (*.f64 #s(literal -1 binary64) %62))
(fabs.f64 (*.f64 #s(literal 1 binary64) %63))
(fabs.f64 (*.f64 #s(literal 1 binary64) %104))
(fabs.f64 (*.f64 #s(literal 1 binary64) %107))
(fabs.f64 (*.f64 #s(literal 1 binary64) %110))
(fabs.f64 (*.f64 #s(literal 1 binary64) %113))
(fabs.f64 (*.f64 #s(literal 1 binary64) %116))
(fabs.f64 (*.f64 #s(literal 1 binary64) %119))
(fabs.f64 (*.f64 #s(literal 1 binary64) %122))
(fabs.f64 (*.f64 #s(literal 1 binary64) %125))
(fabs.f64 (*.f64 %63 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %63 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %104 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %104 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %107 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %107 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %110 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %110 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %113 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %113 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %116 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %116 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %119 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %119 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %122 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %122 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %125 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %125 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %62 #s(literal -1 binary64)))
(fabs.f64 %58)
(fabs.f64 %60)
(fabs.f64 %63)
(fabs.f64 %104)
(fabs.f64 %107)
(fabs.f64 %110)
(fabs.f64 %113)
(fabs.f64 %116)
(fabs.f64 %119)
(fabs.f64 %122)
(fabs.f64 %125)
(fabs.f64 %62)
(fabs.f64 %6)
(+.f64 %8 %8)
(+.f64 %26 %26)
(+.f64 %6 %67)
(+.f64 %6 %69)
y
(*.f64 %204 %22)
(*.f64 %22 %204)
(*.f64 #s(literal 1 binary64) %207)
%207
(*.f64 x y)
(pow.f64 %207 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %207 #s(literal -1 binary64)))
(neg.f64 %213)
(*.f64 %215 %217)
(*.f64 %221 #s(literal 2 binary64))
(*.f64 #s(literal 4 binary64) %223)
(*.f64 #s(literal -2 binary64) %226)
(*.f64 %15 %228)
(*.f64 %230 %231)
(*.f64 #s(literal 1/2 binary64) %233)
(*.f64 %216 %235)
(*.f64 %216 %22)
(*.f64 #s(literal -1 binary64) %225)
%239
(*.f64 %225 #s(literal -1 binary64))
(*.f64 %22 %216)
(*.f64 #s(literal 1 binary64) %239)
(*.f64 %233 #s(literal 1/2 binary64))
(*.f64 %239 #s(literal 1 binary64))
(*.f64 x %219)
(*.f64 #s(literal 2 binary64) %221)
(pow.f64 %239 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %239 #s(literal -1 binary64)))
(/.f64 %233 #s(literal 2 binary64))
(neg.f64 %225)
(fma.f64 %4 %3 %213)
(fma.f64 (*.f64 #s(literal 1/2 binary64) %22) %216 %221)
(fma.f64 %255 #s(literal 2 binary64) %6)
(fma.f64 %8 #s(literal 2 binary64) %213)
(fma.f64 %220 x %221)
(fma.f64 (*.f64 #s(literal 1/2 binary64) %216) %22 %221)
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) %219 %221)
(fma.f64 %12 %12 %213)
(fma.f64 %215 %217 %264)
(fma.f64 %215 %217 %266)
(fma.f64 %221 #s(literal 1 binary64) %221)
(fma.f64 %221 #s(literal 2 binary64) %264)
(fma.f64 %221 #s(literal 2 binary64) %266)
(fma.f64 #s(literal 4 binary64) %223 %264)
(fma.f64 #s(literal 4 binary64) %223 %266)
(fma.f64 #s(literal -2 binary64) %226 %264)
(fma.f64 #s(literal -2 binary64) %226 %266)
(fma.f64 %3 %4 %213)
(fma.f64 %15 %228 %264)
(fma.f64 %15 %228 %266)
(fma.f64 %230 %231 %264)
(fma.f64 %230 %231 %266)
(fma.f64 #s(literal 1/2 binary64) %280 %6)
(fma.f64 #s(literal 1/2 binary64) %16 %213)
(fma.f64 #s(literal 1/2 binary64) %233 %264)
(fma.f64 #s(literal 1/2 binary64) %233 %266)
(fma.f64 #s(literal 1/2 binary64) %239 %221)
(fma.f64 %280 #s(literal 1/2 binary64) %6)
(fma.f64 %16 #s(literal 1/2 binary64) %213)
(fma.f64 %216 %235 %264)
(fma.f64 %216 %235 %266)
(fma.f64 %216 %22 %264)
(fma.f64 %216 %22 %266)
(fma.f64 %204 x %6)
(fma.f64 #s(literal -1 binary64) %225 %264)
(fma.f64 #s(literal -1 binary64) %225 %266)
(fma.f64 %10 %12 %213)
(fma.f64 %10 %10 %213)
(fma.f64 %219 x %264)
(fma.f64 %219 x %266)
(fma.f64 %213 #s(literal 1 binary64) %6)
(fma.f64 %225 #s(literal -1 binary64) %264)
(fma.f64 %225 #s(literal -1 binary64) %266)
(fma.f64 %2 %2 %213)
(fma.f64 %22 %303 %6)
(fma.f64 %22 %216 %264)
(fma.f64 %22 %216 %266)
(fma.f64 %22 %22 %213)
(fma.f64 %22 y %6)
(fma.f64 #s(literal 1 binary64) %221 %221)
(fma.f64 #s(literal 1 binary64) %213 %6)
(fma.f64 #s(literal 1 binary64) %239 %264)
(fma.f64 #s(literal 1 binary64) %239 %266)
(fma.f64 #s(literal 1 binary64) %6 %213)
(fma.f64 %233 #s(literal 1/2 binary64) %264)
(fma.f64 %233 #s(literal 1/2 binary64) %266)
(fma.f64 %239 #s(literal 1/2 binary64) %221)
(fma.f64 %239 #s(literal 1 binary64) %264)
(fma.f64 %239 #s(literal 1 binary64) %266)
(fma.f64 y %22 %6)
(fma.f64 %6 #s(literal 1 binary64) %213)
(fma.f64 x %321 %6)
(fma.f64 x %204 %6)
(fma.f64 x %219 %264)
(fma.f64 x %219 %266)
(fma.f64 x x %213)
(fma.f64 #s(literal 2 binary64) %327 %6)
(fma.f64 #s(literal 2 binary64) %26 %213)
(fma.f64 #s(literal 2 binary64) %221 %264)
(fma.f64 #s(literal 2 binary64) %221 %266)
(-.f64 %213 %60)
(-.f64 %213 %63)
(-.f64 %213 %62)
(-.f64 %6 (*.f64 %207 #s(literal 1 binary64)))
(-.f64 %6 (*.f64 #s(literal -1 binary64) %213))
(-.f64 %6 %207)
(+.f64 %221 %221)
(+.f64 %213 %6)
(+.f64 %239 %264)
(+.f64 %239 %266)
(+.f64 %6 %213)
(*.f64 %345 x)
(*.f64 %347 #s(literal 1/2 binary64))
(*.f64 %349 #s(literal 1/2 binary64))
(*.f64 %351 #s(literal 1/2 binary64))
(*.f64 %353 %22)
(*.f64 %355 %216)
(*.f64 %357 %219)
(*.f64 %215 %216)
(*.f64 %221 #s(literal 4 binary64))
(*.f64 #s(literal 4 binary64) %221)
(*.f64 %362 %22)
(*.f64 #s(literal -2 binary64) %225)
%233
(*.f64 %230 x)
(*.f64 #s(literal 1/2 binary64) %366)
(*.f64 #s(literal 1/2 binary64) %351)
(*.f64 #s(literal 1/2 binary64) %369)
(*.f64 %216 %371)
(*.f64 %216 %215)
(*.f64 %374 #s(literal -1 binary64))
(*.f64 %219 %376)
(*.f64 %219 %15)
(*.f64 %225 #s(literal -2 binary64))
(*.f64 %22 %380)
(*.f64 %22 %383)
(*.f64 %22 %385)
(*.f64 %22 %362)
(*.f64 #s(literal 1 binary64) %233)
(*.f64 %233 #s(literal 1 binary64))
(*.f64 %239 #s(literal 2 binary64))
(*.f64 x %230)
(*.f64 #s(literal 2 binary64) %239)
(pow.f64 %233 #s(literal 1 binary64))
(/.f64 %349 #s(literal 2 binary64))
(/.f64 %351 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %233 #s(literal -1 binary64)))
(neg.f64 %374)
(fma.f64 %345 x %399)
(fma.f64 %345 x %401)
(fma.f64 %347 #s(literal 1/2 binary64) %399)
(fma.f64 %347 #s(literal 1/2 binary64) %401)
(fma.f64 (*.f64 %213 #s(literal 4 binary64)) #s(literal 1/2 binary64) %16)
(fma.f64 (*.f64 %407 %3) %3 %280)
(fma.f64 %4 %3 %412)
(fma.f64 %4 %3 %411)
(fma.f64 %415 #s(literal 1/2 binary64) %280)
(fma.f64 %349 #s(literal 1/2 binary64) %399)
(fma.f64 %349 #s(literal 1/2 binary64) %401)
(fma.f64 (*.f64 %280 #s(literal 2 binary64)) #s(literal 1/2 binary64) %16)
(fma.f64 (*.f64 %16 #s(literal 2 binary64)) #s(literal 1/2 binary64) %280)
(fma.f64 %351 #s(literal 1/2 binary64) %399)
(fma.f64 %351 #s(literal 1/2 binary64) %401)
(fma.f64 %255 #s(literal 4 binary64) %16)
(fma.f64 %255 #s(literal 2 binary64) %428)
(fma.f64 %255 #s(literal 2 binary64) %427)
(fma.f64 %8 #s(literal 4 binary64) %280)
(fma.f64 %8 #s(literal 2 binary64) %412)
(fma.f64 %8 #s(literal 2 binary64) %411)
(fma.f64 %353 %22 %399)
(fma.f64 %353 %22 %401)
(fma.f64 %355 %216 %399)
(fma.f64 %355 %216 %401)
(fma.f64 %357 %219 %399)
(fma.f64 %357 %219 %401)
(fma.f64 %12 %12 %412)
(fma.f64 %12 %12 %411)
(fma.f64 %442 x %16)
(fma.f64 %382 %22 %16)
(fma.f64 %445 %12 %280)
(fma.f64 %445 %10 %280)
(fma.f64 %407 %2 %280)
(fma.f64 %215 %217 %239)
(fma.f64 %215 %303 %16)
(fma.f64 %215 %216 %399)
(fma.f64 %215 %216 %401)
(fma.f64 %215 %22 %280)
(fma.f64 %215 y %16)
(fma.f64 %221 #s(literal 4 binary64) %399)
(fma.f64 %221 #s(literal 4 binary64) %401)
(fma.f64 %221 #s(literal 2 binary64) %239)
(fma.f64 %458 %22 %213)
(fma.f64 %426 x %213)
(fma.f64 %410 x %6)
(fma.f64 #s(literal 4 binary64) %223 %239)
(fma.f64 #s(literal 4 binary64) %327 %16)
(fma.f64 #s(literal 4 binary64) %26 %280)
(fma.f64 #s(literal 4 binary64) %221 %399)
(fma.f64 #s(literal 4 binary64) %221 %401)
(fma.f64 %467 %22 %6)
(fma.f64 %362 %22 %399)
(fma.f64 %362 %22 %401)
(fma.f64 #s(literal -2 binary64) %226 %239)
(fma.f64 #s(literal -2 binary64) %62 %280)
(fma.f64 #s(literal -2 binary64) %225 %399)
(fma.f64 #s(literal -2 binary64) %225 %401)
(fma.f64 #s(literal -2 binary64) %207 %16)
(fma.f64 %3 %4 %412)
(fma.f64 %3 %4 %411)
(fma.f64 %3 (*.f64 %3 %407) %280)
(fma.f64 %411 #s(literal 1 binary64) %6)
(fma.f64 %427 #s(literal 1 binary64) %213)
(fma.f64 %15 %228 %239)
(fma.f64 %15 %321 %16)
(fma.f64 %15 %204 %16)
(fma.f64 %15 %219 %399)
(fma.f64 %15 %219 %401)
(fma.f64 %15 x %280)
(fma.f64 %230 %231 %239)
(fma.f64 %230 x %399)
(fma.f64 %230 x %401)
(fma.f64 #s(literal 1/2 binary64) %366 %399)
(fma.f64 #s(literal 1/2 binary64) %366 %401)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %213) %16)
(fma.f64 #s(literal 1/2 binary64) %415 %280)
(fma.f64 #s(literal 1/2 binary64) %351 %399)
(fma.f64 #s(literal 1/2 binary64) %351 %401)
(fma.f64 #s(literal 1/2 binary64) %369 %399)
(fma.f64 #s(literal 1/2 binary64) %369 %401)
(fma.f64 #s(literal 1/2 binary64) %280 %428)
(fma.f64 #s(literal 1/2 binary64) %280 %427)
(fma.f64 #s(literal 1/2 binary64) %16 %412)
(fma.f64 #s(literal 1/2 binary64) %16 %411)
(fma.f64 #s(literal 1/2 binary64) %233 %239)
(fma.f64 %280 #s(literal 1/2 binary64) %428)
(fma.f64 %280 #s(literal 1/2 binary64) %427)
(fma.f64 %280 #s(literal 1 binary64) %16)
(fma.f64 %16 #s(literal 1/2 binary64) %412)
(fma.f64 %16 #s(literal 1/2 binary64) %411)
(fma.f64 %16 #s(literal 1 binary64) %280)
(fma.f64 %216 %235 %239)
(fma.f64 %216 %371 %399)
(fma.f64 %216 %371 %401)
(fma.f64 %216 %215 %399)
(fma.f64 %216 %215 %401)
(fma.f64 %216 %22 %239)
(fma.f64 %374 #s(literal -1 binary64) %399)
(fma.f64 %374 #s(literal -1 binary64) %401)
(fma.f64 %62 #s(literal -2 binary64) %280)
(fma.f64 %204 %15 %16)
(fma.f64 %204 x %428)
(fma.f64 %204 x %427)
(fma.f64 #s(literal -1 binary64) %225 %239)
(fma.f64 %10 %12 %412)
(fma.f64 %10 %12 %411)
(fma.f64 %10 %445 %280)
(fma.f64 %10 %10 %412)
(fma.f64 %10 %10 %411)
(fma.f64 %219 %376 %399)
(fma.f64 %219 %376 %401)
(fma.f64 %219 %15 %399)
(fma.f64 %219 %15 %401)
(fma.f64 %219 x %239)
(fma.f64 %213 #s(literal 1 binary64) %428)
(fma.f64 %213 #s(literal 1 binary64) %427)
(fma.f64 %213 #s(literal 2 binary64) %16)
(fma.f64 %225 #s(literal -2 binary64) %399)
(fma.f64 %225 #s(literal -2 binary64) %401)
(fma.f64 %225 #s(literal -1 binary64) %239)
(fma.f64 %2 %407 %280)
(fma.f64 %2 %2 %412)
(fma.f64 %2 %2 %411)
(fma.f64 %22 %303 %428)
(fma.f64 %22 %303 %427)
(fma.f64 %22 %380 %399)
(fma.f64 %22 %380 %401)
(fma.f64 %22 %383 %399)
(fma.f64 %22 %383 %401)
(fma.f64 %22 %385 %399)
(fma.f64 %22 %385 %401)
(fma.f64 %22 %382 %16)
(fma.f64 %22 %215 %280)
(fma.f64 %22 %458 %213)
(fma.f64 %22 %467 %6)
(fma.f64 %22 %362 %399)
(fma.f64 %22 %362 %401)
(fma.f64 %22 %216 %239)
(fma.f64 %22 %22 %412)
(fma.f64 %22 %22 %411)
(fma.f64 %22 y %428)
(fma.f64 %22 y %427)
(fma.f64 #s(literal 1 binary64) %411 %6)
(fma.f64 #s(literal 1 binary64) %427 %213)
(fma.f64 #s(literal 1 binary64) %280 %16)
(fma.f64 #s(literal 1 binary64) %16 %280)
(fma.f64 #s(literal 1 binary64) %213 %428)
(fma.f64 #s(literal 1 binary64) %213 %427)
(fma.f64 #s(literal 1 binary64) %233 %399)
(fma.f64 #s(literal 1 binary64) %233 %401)
(fma.f64 #s(literal 1 binary64) %239 %239)
(fma.f64 #s(literal 1 binary64) %6 %412)
(fma.f64 #s(literal 1 binary64) %6 %411)
(fma.f64 %233 #s(literal 1/2 binary64) %239)
(fma.f64 %233 #s(literal 1 binary64) %399)
(fma.f64 %233 #s(literal 1 binary64) %401)
(fma.f64 %239 #s(literal 1 binary64) %239)
(fma.f64 %239 #s(literal 2 binary64) %399)
(fma.f64 %239 #s(literal 2 binary64) %401)
(fma.f64 %207 #s(literal -2 binary64) %16)
(fma.f64 y %215 %16)
(fma.f64 y %22 %428)
(fma.f64 y %22 %427)
(fma.f64 %6 #s(literal 1 binary64) %412)
(fma.f64 %6 #s(literal 1 binary64) %411)
(fma.f64 %6 #s(literal 2 binary64) %280)
(fma.f64 x %321 %428)
(fma.f64 x %321 %427)
(fma.f64 x %442 %16)
(fma.f64 x %426 %213)
(fma.f64 x %410 %6)
(fma.f64 x %15 %280)
(fma.f64 x %230 %399)
(fma.f64 x %230 %401)
(fma.f64 x %204 %428)
(fma.f64 x %204 %427)
(fma.f64 x %219 %239)
(fma.f64 x x %412)
(fma.f64 x x %411)
(fma.f64 #s(literal 2 binary64) %327 %428)
(fma.f64 #s(literal 2 binary64) %327 %427)
(fma.f64 #s(literal 2 binary64) %26 %412)
(fma.f64 #s(literal 2 binary64) %26 %411)
(fma.f64 #s(literal 2 binary64) %221 %239)
(fma.f64 #s(literal 2 binary64) %213 %16)
(fma.f64 #s(literal 2 binary64) %239 %399)
(fma.f64 #s(literal 2 binary64) %239 %401)
(fma.f64 #s(literal 2 binary64) %6 %280)
(-.f64 %411 %62)
(-.f64 %427 %207)
(-.f64 %280 (*.f64 (neg.f64 %445) %10))
(-.f64 %280 (*.f64 #s(literal -2 binary64) %6))
(-.f64 %280 (*.f64 %15 %22))
(-.f64 %16 (*.f64 %382 x))
(-.f64 %213 (*.f64 x %458))
(-.f64 %239 %225)
(-.f64 %6 (*.f64 %467 x))
(+.f64 %428 %213)
(+.f64 %412 %6)
(+.f64 %411 %6)
(+.f64 %427 %213)
(+.f64 %280 %16)
(+.f64 %16 %280)
(+.f64 %213 %428)
(+.f64 %213 %427)
(+.f64 %233 %399)
(+.f64 %233 %401)
(+.f64 %239 %239)
(+.f64 %6 %412)
(+.f64 %6 %411)

reconstruct55.0ms (5.4%)

Counts
501 → 49
Compiler

Compiled 501 to 666 computations (-32.9% saved)

eval7.0ms (0.7%)

Compiler

Compiled 46 to 141 computations (-206.5% saved)

prune2.0ms (0.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New44246
Fresh000
Picked011
Done000
Total44347
Accuracy
100.0%
Counts
47 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (+.f64 x x) (-.f64 x y))
95.3%
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
55.8%
(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 x y)))
Compiler

Compiled 3 to 12 computations (-300.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series15.0ms (1.5%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068229
Stop Event
iter-limit
Counts
9 → 19
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%3 = (-.f64 x y)
%5 = (*.f64 #s(literal -2 binary64) %2)
%12 = (+.f64 x x)
x
y
%2
%3
#s(literal -2 binary64)
%5
(approx (* 2 (- (* x x) (* x y))) %5)
%12
(*.f64 %12 %3)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%8 = (- x y)
%10 = (*.f64 #s(literal -1 binary64) y)
%22 = (* 2 (- (* x x) %5))
%24 = (*.f64 #s(literal 2 binary64) x)
%31 = (/.f64 y x)
%36 = (pow.f64 x #s(literal 2 binary64))
%37 = (*.f64 #s(literal 2 binary64) %36)
%52 = (/.f64 x y)
%56 = (/.f64 %36 y)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %8 %10)
(approx %8 (-.f64 x y))
(approx (* -2 %5) (*.f64 #s(literal -2 binary64) %6))
(approx %22 (*.f64 x (fma.f64 #s(literal -2 binary64) y %24)))
(approx (+ x x) %24)
(approx %8 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %31))))
(approx %22 %37)
(approx %22 (*.f64 %36 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) %31))))
(approx %8 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %31 #s(literal 1 binary64)))))
(approx y y)
(approx %8 (+.f64 x %10))
(approx %22 (fma.f64 #s(literal -2 binary64) %6 %37))
(approx %8 (*.f64 y (-.f64 %52 #s(literal 1 binary64))))
(approx %22 (*.f64 y (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal 2 binary64) %56))))
(approx %8 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %52)))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -2 binary64) %56 %24))))
Calls

6 calls:

TimeVariablePoint
5.0ms
x
0
3.0ms
x
inf
2.0ms
x
-inf
2.0ms
y
inf
2.0ms
y
-inf

rewrite104.0ms (10.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01439
01937
15937
217837
367637
4304437
0415837
0437937
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
9 → 442
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%3 = (-.f64 x y)
%5 = (*.f64 #s(literal -2 binary64) %2)
%12 = (+.f64 x x)
x
y
%2
%3
#s(literal -2 binary64)
%5
(approx (* 2 (- (* x x) (* x y))) %5)
%12
(*.f64 %12 %3)
Outputs
%2 = (neg.f64 y)
%3 = (neg.f64 x)
%7 = (*.f64 y x)
%14 = (*.f64 %2 x)
%16 = (-.f64 x y)
%18 = (*.f64 %16 #s(literal 1/2 binary64))
%21 = (-.f64 y x)
%23 = (*.f64 %21 #s(literal -2 binary64))
%27 = (*.f64 #s(literal 1/2 binary64) %16)
%40 = (*.f64 %16 #s(literal 0 binary64))
%42 = (*.f64 #s(literal 0 binary64) %16)
%61 = (*.f64 %2 #s(literal 1 binary64))
%69 = (*.f64 %14 #s(literal 4 binary64))
%71 = (*.f64 #s(literal -2 binary64) x)
%72 = (*.f64 %71 y)
%73 = (*.f64 %72 #s(literal 2 binary64))
%75 = (*.f64 %14 #s(literal 1/2 binary64))
%77 = (*.f64 #s(literal -2 binary64) %3)
%79 = (*.f64 #s(literal -2 binary64) %2)
%81 = (+.f64 y y)
%83 = (*.f64 #s(literal 1/2 binary64) %14)
%85 = (*.f64 #s(literal -2 binary64) y)
%87 = (*.f64 #s(literal 4 binary64) %14)
%90 = (*.f64 y #s(literal 1 binary64))
%93 = (*.f64 %3 #s(literal -2 binary64))
%95 = (+.f64 x x)
%97 = (*.f64 %2 #s(literal -2 binary64))
%112 = (*.f64 %95 y)
%114 = (*.f64 %72 #s(literal 0 binary64))
%116 = (*.f64 #s(literal 0 binary64) %72)
%190 = (approx (* (* (- x y) x) 2) %72)
%195 = (*.f64 x #s(literal 4 binary64))
%197 = (*.f64 %95 #s(literal 2 binary64))
%199 = (*.f64 x #s(literal 1/2 binary64))
%201 = (*.f64 #s(literal 1/2 binary64) x)
%203 = (*.f64 #s(literal 4 binary64) x)
%214 = (*.f64 %95 #s(literal 0 binary64))
%216 = (*.f64 #s(literal 0 binary64) %95)
%239 = (*.f64 %16 x)
%240 = (*.f64 %239 #s(literal 4 binary64))
%242 = (*.f64 %95 %16)
%243 = (*.f64 %242 #s(literal 2 binary64))
%245 = (*.f64 #s(literal 2 binary64) %242)
%247 = (*.f64 #s(literal -2 binary64) %16)
%249 = (*.f64 #s(literal -2 binary64) %21)
%252 = (*.f64 #s(literal 1/2 binary64) %239)
%255 = (*.f64 %21 #s(literal 2 binary64))
%258 = (*.f64 #s(literal 4 binary64) %239)
%261 = (fma.f64 %95 %16 %242)
%263 = (*.f64 %21 %95)
%267 = (*.f64 %21 x)
%269 = (*.f64 %16 #s(literal -2 binary64))
%286 = (fabs.f64 x)
%287 = (neg.f64 %286)
%288 = (*.f64 x x)
%291 = (sqrt.f64 (fabs.f64 (*.f64 %287 %288)))
%292 = (sqrt.f64 %286)
%293 = (fma.f64 #s(literal -2 binary64) y x)
%294 = (*.f64 %293 x)
%295 = (*.f64 %294 #s(literal 1 binary64))
%300 = (sqrt.f64 (fabs.f64 (*.f64 %286 %288)))
%305 = (sqrt.f64 (fabs.f64 (*.f64 %3 %288)))
%310 = (sqrt.f64 (fabs.f64 (*.f64 %288 x)))
%313 = (*.f64 %242 #s(literal 0 binary64))
%315 = (*.f64 #s(literal 0 binary64) %242)
%317 = (*.f64 %286 #s(literal 2 binary64))
%320 = (*.f64 #s(literal 4 binary64) %288)
%322 = (*.f64 %95 x)
%324 = (*.f64 %292 %286)
%335 = (-.f64 %95 y)
%336 = (*.f64 %335 x)
%337 = (*.f64 %336 #s(literal 1 binary64))
%340 = (*.f64 %288 #s(literal 1/2 binary64))
%352 = (*.f64 %287 #s(literal 1 binary64))
%356 = (*.f64 %287 #s(literal 2 binary64))
%363 = (-.f64 %21 x)
%369 = (*.f64 #s(literal 1/2 binary64) %288)
%374 = (-.f64 y %16)
%417 = (*.f64 %3 x)
x
y
(*.f64 %2 %3)
(*.f64 %3 %2)
(*.f64 #s(literal 1 binary64) %7)
%7
(*.f64 x y)
(pow.f64 %7 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
(neg.f64 %14)
(*.f64 %18 #s(literal 2 binary64))
(*.f64 %23 #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) %23)
(*.f64 #s(literal 1 binary64) %16)
(*.f64 #s(literal 2 binary64) %27)
(*.f64 %16 #s(literal 1 binary64))
(pow.f64 %16 #s(literal 1 binary64))
(/.f64 %23 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %16 #s(literal -1 binary64)))
(neg.f64 (*.f64 %16 #s(literal -1 binary64)))
(neg.f64 (*.f64 #s(literal -1 binary64) %16))
(neg.f64 %21)
(fma.f64 %18 #s(literal 2 binary64) %40)
(fma.f64 %18 #s(literal 2 binary64) %42)
(fma.f64 %23 #s(literal 1/2 binary64) %40)
(fma.f64 %23 #s(literal 1/2 binary64) %42)
(fma.f64 #s(literal 1/2 binary64) %23 %40)
(fma.f64 #s(literal 1/2 binary64) %23 %42)
(fma.f64 #s(literal 1/2 binary64) %16 %27)
(fma.f64 %2 #s(literal 1 binary64) x)
(fma.f64 #s(literal 1 binary64) %2 x)
(fma.f64 #s(literal 1 binary64) %16 %40)
(fma.f64 #s(literal 1 binary64) %16 %42)
(fma.f64 #s(literal 2 binary64) %27 %40)
(fma.f64 #s(literal 2 binary64) %27 %42)
(fma.f64 %16 #s(literal 1/2 binary64) %18)
(fma.f64 %16 #s(literal 1 binary64) %40)
(fma.f64 %16 #s(literal 1 binary64) %42)
(-.f64 %2 %3)
%16
(+.f64 %18 %18)
(+.f64 %27 %27)
(+.f64 %61 x)
(+.f64 %2 x)
(+.f64 %16 %40)
(+.f64 %16 %42)
(+.f64 x %61)
(+.f64 x %2)
#s(literal -2 binary64)
(*.f64 %69 #s(literal 1/2 binary64))
(*.f64 %73 #s(literal 1/2 binary64))
(*.f64 %75 #s(literal 4 binary64))
(*.f64 %77 %2)
(*.f64 %79 %3)
(*.f64 %81 %3)
(*.f64 #s(literal 4 binary64) %83)
(*.f64 %85 x)
(*.f64 #s(literal 1/2 binary64) %87)
(*.f64 %72 #s(literal 1 binary64))
(*.f64 %71 %90)
%72
(*.f64 %14 #s(literal 2 binary64))
(*.f64 %2 %93)
(*.f64 %2 %95)
(*.f64 %3 %97)
(*.f64 %3 %81)
(*.f64 #s(literal 1 binary64) %72)
(*.f64 %95 %61)
(*.f64 %95 %2)
(*.f64 #s(literal 2 binary64) %14)
(*.f64 #s(literal -2 binary64) %7)
(*.f64 %7 #s(literal -2 binary64))
(*.f64 y %71)
(*.f64 x %85)
(pow.f64 %72 #s(literal 1 binary64))
(/.f64 %73 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %72 #s(literal -1 binary64)))
(neg.f64 %112)
(fma.f64 %69 #s(literal 1/2 binary64) %114)
(fma.f64 %69 #s(literal 1/2 binary64) %116)
(fma.f64 %73 #s(literal 1/2 binary64) %114)
(fma.f64 %73 #s(literal 1/2 binary64) %116)
(fma.f64 %75 #s(literal 4 binary64) %114)
(fma.f64 %75 #s(literal 4 binary64) %116)
(fma.f64 %75 #s(literal 2 binary64) %14)
(fma.f64 %77 %2 %114)
(fma.f64 %77 %2 %116)
(fma.f64 %79 %3 %114)
(fma.f64 %79 %3 %116)
(fma.f64 %81 %3 %114)
(fma.f64 %81 %3 %116)
(fma.f64 #s(literal 4 binary64) %83 %114)
(fma.f64 #s(literal 4 binary64) %83 %116)
(fma.f64 %85 x %114)
(fma.f64 %85 x %116)
(fma.f64 #s(literal 1/2 binary64) %87 %114)
(fma.f64 #s(literal 1/2 binary64) %87 %116)
(fma.f64 #s(literal 1/2 binary64) %72 %14)
(fma.f64 %72 #s(literal 1/2 binary64) %14)
(fma.f64 %72 #s(literal 1 binary64) %114)
(fma.f64 %72 #s(literal 1 binary64) %116)
(fma.f64 %71 %90 %114)
(fma.f64 %71 %90 %116)
(fma.f64 %71 y %114)
(fma.f64 %71 y %116)
(fma.f64 %14 #s(literal 1 binary64) %14)
(fma.f64 %14 #s(literal 2 binary64) %114)
(fma.f64 %14 #s(literal 2 binary64) %116)
(fma.f64 %2 %93 %114)
(fma.f64 %2 %93 %116)
(fma.f64 %2 %95 %114)
(fma.f64 %2 %95 %116)
(fma.f64 %2 x %14)
(fma.f64 %3 %90 %14)
(fma.f64 %3 %97 %114)
(fma.f64 %3 %97 %116)
(fma.f64 %3 %81 %114)
(fma.f64 %3 %81 %116)
(fma.f64 %3 y %14)
(fma.f64 #s(literal 1 binary64) %72 %114)
(fma.f64 #s(literal 1 binary64) %72 %116)
(fma.f64 #s(literal 1 binary64) %14 %14)
(fma.f64 %95 %61 %114)
(fma.f64 %95 %61 %116)
(fma.f64 %95 %2 %114)
(fma.f64 %95 %2 %116)
(fma.f64 #s(literal 2 binary64) %83 %14)
(fma.f64 #s(literal 2 binary64) %14 %114)
(fma.f64 #s(literal 2 binary64) %14 %116)
(fma.f64 #s(literal -2 binary64) %7 %114)
(fma.f64 #s(literal -2 binary64) %7 %116)
(fma.f64 %7 #s(literal -2 binary64) %114)
(fma.f64 %7 #s(literal -2 binary64) %116)
(fma.f64 y %71 %114)
(fma.f64 y %71 %116)
(fma.f64 y %3 %14)
(fma.f64 x %61 %14)
(fma.f64 x %85 %114)
(fma.f64 x %85 %116)
(fma.f64 x %2 %14)
(-.f64 %14 (*.f64 %7 #s(literal 1 binary64)))
(-.f64 %14 (*.f64 #s(literal -1 binary64) %14))
(-.f64 %14 %7)
(+.f64 %72 %114)
(+.f64 %72 %116)
(+.f64 %14 %14)
(*.f64 #s(literal 1 binary64) %190)
(pow.f64 %190 #s(literal 1 binary64))
%190
(/.f64 #s(literal 1 binary64) (pow.f64 %190 #s(literal -1 binary64)))
(*.f64 %195 #s(literal 1/2 binary64))
(*.f64 %197 #s(literal 1/2 binary64))
(*.f64 %199 #s(literal 4 binary64))
(*.f64 #s(literal 4 binary64) %201)
(*.f64 #s(literal 1/2 binary64) %203)
(*.f64 #s(literal 1 binary64) %95)
(*.f64 %95 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(pow.f64 %95 #s(literal 1 binary64))
(/.f64 %197 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %95 #s(literal -1 binary64)))
(neg.f64 %71)
(fma.f64 %195 #s(literal 1/2 binary64) %214)
(fma.f64 %195 #s(literal 1/2 binary64) %216)
(fma.f64 %197 #s(literal 1/2 binary64) %214)
(fma.f64 %197 #s(literal 1/2 binary64) %216)
(fma.f64 %199 #s(literal 4 binary64) %214)
(fma.f64 %199 #s(literal 4 binary64) %216)
(fma.f64 #s(literal 4 binary64) %201 %214)
(fma.f64 #s(literal 4 binary64) %201 %216)
(fma.f64 #s(literal 1/2 binary64) %203 %214)
(fma.f64 #s(literal 1/2 binary64) %203 %216)
(fma.f64 #s(literal 1 binary64) %95 %214)
(fma.f64 #s(literal 1 binary64) %95 %216)
(fma.f64 %95 #s(literal 1 binary64) %214)
(fma.f64 %95 #s(literal 1 binary64) %216)
(fma.f64 #s(literal 2 binary64) x %214)
(fma.f64 #s(literal 2 binary64) x %216)
(fma.f64 x #s(literal 2 binary64) %214)
(fma.f64 x #s(literal 2 binary64) %216)
(-.f64 x (*.f64 #s(literal -1 binary64) x))
(-.f64 x %3)
(+.f64 %95 %214)
(+.f64 %95 %216)
%95
(*.f64 %240 #s(literal 1/2 binary64))
(*.f64 %243 #s(literal 1/2 binary64))
(*.f64 %245 #s(literal 1/2 binary64))
(*.f64 %247 %3)
(*.f64 %249 x)
(*.f64 %77 %16)
(*.f64 %252 #s(literal 4 binary64))
(*.f64 #s(literal 4 binary64) %252)
(*.f64 %255 %3)
(*.f64 %23 x)
(*.f64 #s(literal 1/2 binary64) %258)
(*.f64 #s(literal 1/2 binary64) %245)
(*.f64 #s(literal 1/2 binary64) %261)
(*.f64 %263 #s(literal -1 binary64))
(*.f64 %71 %21)
(*.f64 %21 %71)
(*.f64 %267 #s(literal -2 binary64))
(*.f64 %3 %269)
(*.f64 %3 %255)
(*.f64 #s(literal 1 binary64) %242)
%242
(*.f64 %242 #s(literal 1 binary64))
(*.f64 %239 #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) %239)
(*.f64 #s(literal -2 binary64) %267)
(*.f64 %16 %93)
(*.f64 %16 %95)
(*.f64 x %23)
(pow.f64 %242 #s(literal 1 binary64))
(/.f64 %243 #s(literal 2 binary64))
(/.f64 %245 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %242 #s(literal -1 binary64)))
(neg.f64 %263)
(fma.f64 %291 %292 %295)
(fma.f64 %291 %292 %294)
(fma.f64 %300 %292 %295)
(fma.f64 %300 %292 %294)
(fma.f64 %305 %292 %295)
(fma.f64 %305 %292 %294)
(fma.f64 %310 %292 %295)
(fma.f64 %310 %292 %294)
(fma.f64 %240 #s(literal 1/2 binary64) %313)
(fma.f64 %240 #s(literal 1/2 binary64) %315)
(fma.f64 (*.f64 %317 %292) %292 %72)
(fma.f64 %320 #s(literal 1/2 binary64) %72)
(fma.f64 %69 #s(literal 1/2 binary64) %322)
(fma.f64 %324 %292 %295)
(fma.f64 %324 %292 %294)
(fma.f64 %243 #s(literal 1/2 binary64) %313)
(fma.f64 %243 #s(literal 1/2 binary64) %315)
(fma.f64 (*.f64 %322 #s(literal 2 binary64)) #s(literal 1/2 binary64) %72)
(fma.f64 %73 #s(literal 1/2 binary64) %322)
(fma.f64 %245 #s(literal 1/2 binary64) %313)
(fma.f64 %245 #s(literal 1/2 binary64) %315)
(fma.f64 %75 #s(literal 4 binary64) %322)
(fma.f64 %75 #s(literal 2 binary64) %337)
(fma.f64 %75 #s(literal 2 binary64) %336)
(fma.f64 %340 #s(literal 4 binary64) %72)
(fma.f64 %340 #s(literal 2 binary64) %295)
(fma.f64 %340 #s(literal 2 binary64) %294)
(fma.f64 %247 %3 %313)
(fma.f64 %247 %3 %315)
(fma.f64 %249 x %313)
(fma.f64 %249 x %315)
(fma.f64 %77 %2 %322)
(fma.f64 %77 %16 %313)
(fma.f64 %77 %16 %315)
(fma.f64 %79 %3 %322)
(fma.f64 %352 %352 %295)
(fma.f64 %352 %352 %294)
(fma.f64 %81 %3 %322)
(fma.f64 %356 %352 %72)
(fma.f64 %356 %287 %72)
(fma.f64 %317 %286 %72)
(fma.f64 %252 #s(literal 4 binary64) %313)
(fma.f64 %252 #s(literal 4 binary64) %315)
(fma.f64 %252 #s(literal 2 binary64) %239)
(fma.f64 %363 %3 %14)
(fma.f64 %293 x %288)
(fma.f64 #s(literal 4 binary64) (*.f64 #s(literal 1/2 binary64) %252) %239)
(fma.f64 #s(literal 4 binary64) %83 %322)
(fma.f64 #s(literal 4 binary64) %369 %72)
(fma.f64 #s(literal 4 binary64) %252 %313)
(fma.f64 #s(literal 4 binary64) %252 %315)
(fma.f64 %335 x %14)
(fma.f64 %374 %3 %288)
(fma.f64 %255 %3 %313)
(fma.f64 %255 %3 %315)
(fma.f64 %292 %291 %295)
(fma.f64 %292 %291 %294)
(fma.f64 %292 %300 %295)
(fma.f64 %292 %300 %294)
(fma.f64 %292 %305 %295)
(fma.f64 %292 %305 %294)
(fma.f64 %292 %310 %295)
(fma.f64 %292 %310 %294)
(fma.f64 %292 (*.f64 %292 %317) %72)
(fma.f64 %292 %324 %295)
(fma.f64 %292 %324 %294)
(fma.f64 %294 #s(literal 1 binary64) %288)
(fma.f64 %336 #s(literal 1 binary64) %14)
(fma.f64 %85 x %322)
(fma.f64 %23 %199 %239)
(fma.f64 %23 x %313)
(fma.f64 %23 x %315)
(fma.f64 #s(literal 1/2 binary64) %320 %72)
(fma.f64 #s(literal 1/2 binary64) %258 %313)
(fma.f64 #s(literal 1/2 binary64) %258 %315)
(fma.f64 #s(literal 1/2 binary64) %87 %322)
(fma.f64 #s(literal 1/2 binary64) %245 %313)
(fma.f64 #s(literal 1/2 binary64) %245 %315)
(fma.f64 #s(literal 1/2 binary64) %261 %313)
(fma.f64 #s(literal 1/2 binary64) %261 %315)
(fma.f64 #s(literal 1/2 binary64) %72 %337)
(fma.f64 #s(literal 1/2 binary64) %72 %336)
(fma.f64 #s(literal 1/2 binary64) %322 %295)
(fma.f64 #s(literal 1/2 binary64) %322 %294)
(fma.f64 #s(literal 1/2 binary64) %242 %239)
(fma.f64 %72 #s(literal 1/2 binary64) %337)
(fma.f64 %72 #s(literal 1/2 binary64) %336)
(fma.f64 %72 #s(literal 1 binary64) %322)
(fma.f64 %322 #s(literal 1/2 binary64) %295)
(fma.f64 %322 #s(literal 1/2 binary64) %294)
(fma.f64 %322 #s(literal 1 binary64) %72)
(fma.f64 %263 #s(literal -1 binary64) %313)
(fma.f64 %263 #s(literal -1 binary64) %315)
(fma.f64 %417 #s(literal -2 binary64) %72)
(fma.f64 %71 %90 %322)
(fma.f64 %71 (*.f64 %21 #s(literal 1/2 binary64)) %239)
(fma.f64 %71 %21 %313)
(fma.f64 %71 %21 %315)
(fma.f64 %71 %3 %72)
(fma.f64 %71 y %322)
(fma.f64 #s(literal -1 binary64) %267 %239)
(fma.f64 %287 %352 %295)
(fma.f64 %287 %352 %294)
(fma.f64 %287 %356 %72)
(fma.f64 %287 %287 %295)
(fma.f64 %287 %287 %294)
(fma.f64 %14 #s(literal 1 binary64) %337)
(fma.f64 %14 #s(literal 1 binary64) %336)
(fma.f64 %14 #s(literal 2 binary64) %322)
(fma.f64 %2 %93 %322)
(fma.f64 %2 %95 %322)
(fma.f64 %2 x %337)
(fma.f64 %2 x %336)
(fma.f64 %21 (*.f64 %71 #s(literal 1/2 binary64)) %239)
(fma.f64 %21 %71 %313)
(fma.f64 %21 %71 %315)
(fma.f64 %21 %3 %239)
(fma.f64 %267 #s(literal -1 binary64) %239)
(fma.f64 %267 #s(literal -2 binary64) %313)
(fma.f64 %267 #s(literal -2 binary64) %315)
(fma.f64 %286 %317 %72)
(fma.f64 %286 %286 %295)
(fma.f64 %286 %286 %294)
(fma.f64 %3 %90 %337)
(fma.f64 %3 %90 %336)
(fma.f64 %3 %269 %313)
(fma.f64 %3 %269 %315)
(fma.f64 %3 %97 %322)
(fma.f64 %3 %81 %322)
(fma.f64 %3 %363 %14)
(fma.f64 %3 %374 %288)
(fma.f64 %3 %255 %313)
(fma.f64 %3 %255 %315)
(fma.f64 %3 %71 %72)
(fma.f64 %3 %21 %239)
(fma.f64 %3 %3 %295)
(fma.f64 %3 %3 %294)
(fma.f64 %3 y %337)
(fma.f64 %3 y %336)
(fma.f64 #s(literal 1 binary64) %294 %288)
(fma.f64 #s(literal 1 binary64) %336 %14)
(fma.f64 #s(literal 1 binary64) %72 %322)
(fma.f64 #s(literal 1 binary64) %322 %72)
(fma.f64 #s(literal 1 binary64) %14 %337)
(fma.f64 #s(literal 1 binary64) %14 %336)
(fma.f64 #s(literal 1 binary64) %242 %313)
(fma.f64 #s(literal 1 binary64) %242 %315)
(fma.f64 #s(literal 1 binary64) %239 %239)
(fma.f64 #s(literal 1 binary64) %288 %295)
(fma.f64 #s(literal 1 binary64) %288 %294)
(fma.f64 %95 %18 %239)
(fma.f64 %95 %61 %322)
(fma.f64 %95 %2 %322)
(fma.f64 %95 %16 %313)
(fma.f64 %95 %16 %315)
(fma.f64 %95 x %72)
(fma.f64 %242 #s(literal 1/2 binary64) %239)
(fma.f64 %242 #s(literal 1 binary64) %313)
(fma.f64 %242 #s(literal 1 binary64) %315)
(fma.f64 %239 #s(literal 1 binary64) %239)
(fma.f64 %239 #s(literal 2 binary64) %313)
(fma.f64 %239 #s(literal 2 binary64) %315)
(fma.f64 %288 #s(literal 1 binary64) %295)
(fma.f64 %288 #s(literal 1 binary64) %294)
(fma.f64 %288 #s(literal 2 binary64) %72)
(fma.f64 #s(literal 2 binary64) %83 %337)
(fma.f64 #s(literal 2 binary64) %83 %336)
(fma.f64 #s(literal 2 binary64) %369 %295)
(fma.f64 #s(literal 2 binary64) %369 %294)
(fma.f64 #s(literal 2 binary64) %252 %239)
(fma.f64 #s(literal 2 binary64) %14 %322)
(fma.f64 #s(literal 2 binary64) %239 %313)
(fma.f64 #s(literal 2 binary64) %239 %315)
(fma.f64 #s(literal 2 binary64) %288 %72)
(fma.f64 #s(literal -2 binary64) (*.f64 %267 #s(literal 1/2 binary64)) %239)
(fma.f64 #s(literal -2 binary64) %417 %72)
(fma.f64 #s(literal -2 binary64) %267 %313)
(fma.f64 #s(literal -2 binary64) %267 %315)
(fma.f64 #s(literal -2 binary64) %7 %322)
(fma.f64 %16 %93 %313)
(fma.f64 %16 %93 %315)
(fma.f64 %16 %95 %313)
(fma.f64 %16 %95 %315)
(fma.f64 %16 x %239)
(fma.f64 %7 #s(literal -2 binary64) %322)
(fma.f64 y %71 %322)
(fma.f64 y %3 %337)
(fma.f64 y %3 %336)
(fma.f64 x %61 %337)
(fma.f64 x %61 %336)
(fma.f64 x %293 %288)
(fma.f64 x %335 %14)
(fma.f64 x %85 %322)
(fma.f64 x %23 %313)
(fma.f64 x %23 %315)
(fma.f64 x %2 %337)
(fma.f64 x %2 %336)
(fma.f64 x %95 %72)
(fma.f64 x %16 %239)
(fma.f64 x x %295)
(fma.f64 x x %294)
(-.f64 %294 %417)
(-.f64 %336 %7)
(-.f64 %72 (*.f64 (neg.f64 %356) %287))
(-.f64 %72 (*.f64 #s(literal -2 binary64) %288))
(-.f64 %72 (*.f64 %71 x))
(-.f64 %322 %112)
(-.f64 %14 (*.f64 x %363))
(-.f64 %239 %267)
(-.f64 %288 (*.f64 %374 x))
(+.f64 %337 %14)
(+.f64 %295 %288)
(+.f64 %294 %288)
(+.f64 %336 %14)
(+.f64 %72 %322)
(+.f64 %322 %72)
(+.f64 %14 %337)
(+.f64 %14 %336)
(+.f64 %242 %313)
(+.f64 %242 %315)
(+.f64 %239 %239)
(+.f64 %288 %295)
(+.f64 %288 %294)

reconstruct37.0ms (3.7%)

Counts
461 → 48
Compiler

Compiled 461 to 584 computations (-26.7% saved)

eval4.0ms (0.4%)

Compiler

Compiled 46 to 113 computations (-145.7% saved)

prune2.0ms (0.2%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New44246
Fresh000
Picked112
Done011
Total45449
Accuracy
100.0%
Counts
49 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (+.f64 x x) (-.f64 x y))
95.3%
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
55.8%
(approx (* (* (- x y) x) 2) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
11.0%
(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 (approx x #s(literal 0 binary64)) y)))
Compiler

Compiled 4 to 16 computations (-300.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series10.0ms (1.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044142
Stop Event
iter-limit
Counts
11 → 12
Calls
Call 1
Inputs
%4 = (*.f64 #s(literal -2 binary64) x)
%5 = (approx x #s(literal 0 binary64))
%6 = (*.f64 %4 y)
%12 = (*.f64 %5 y)
%13 = (*.f64 #s(literal -2 binary64) %12)
x
y
#s(literal 0 binary64)
#s(literal -2 binary64)
%4
%5
%6
(approx (* (* (- x y) x) 2) %6)
%12
%13
(approx (* 2 (- (* x x) (* x y))) %13)
Outputs
%5 = (* -2 x)
%11 = (*.f64 x y)
%17 = (* (* (- x y) x) 2)
%19 = (*.f64 #s(literal 2 binary64) x)
%25 = (pow.f64 x #s(literal 2 binary64))
%26 = (*.f64 #s(literal 2 binary64) %25)
%36 = (/.f64 %25 y)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 (*.f64 #s(literal -2 binary64) x))
(approx (* %5 y) (*.f64 #s(literal -2 binary64) %11))
(approx %17 (*.f64 x (fma.f64 #s(literal -2 binary64) y %19)))
(approx (* x y) %11)
(approx %17 %26)
(approx %17 (*.f64 %25 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (/.f64 y x)))))
(approx y y)
(approx %17 (fma.f64 #s(literal -2 binary64) %11 %26))
(approx %17 (*.f64 y (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal 2 binary64) %36))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -2 binary64) %36 %19))))
Calls

6 calls:

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

rewrite103.0ms (10.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01957
02355
17555
220255
373855
4345355
0405255
0413655
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
11 → 188
Calls
Call 1
Inputs
%4 = (*.f64 #s(literal -2 binary64) x)
%5 = (approx x #s(literal 0 binary64))
%6 = (*.f64 %4 y)
%12 = (*.f64 %5 y)
%13 = (*.f64 #s(literal -2 binary64) %12)
x
y
#s(literal 0 binary64)
#s(literal -2 binary64)
%4
%5
%6
(approx (* (* (- x y) x) 2) %6)
%12
%13
(approx (* 2 (- (* x x) (* x y))) %13)
Outputs
%4 = (+.f64 x x)
%8 = (neg.f64 x)
%12 = (*.f64 %8 #s(literal 1/2 binary64))
%15 = (*.f64 #s(literal 1/2 binary64) x)
%17 = (*.f64 #s(literal -2 binary64) x)
%20 = (*.f64 #s(literal 1/2 binary64) %8)
%37 = (*.f64 #s(literal -2 binary64) %8)
%39 = (*.f64 %8 #s(literal -2 binary64))
%59 = (approx x #s(literal 0 binary64))
%63 = (*.f64 #s(literal -2 binary64) y)
%64 = (*.f64 %63 %4)
%66 = (*.f64 %63 #s(literal 2 binary64))
%68 = (neg.f64 y)
%69 = (*.f64 %68 x)
%70 = (*.f64 %69 #s(literal 4 binary64))
%72 = (*.f64 y x)
%73 = (*.f64 %72 #s(literal -2 binary64))
%74 = (*.f64 %73 #s(literal 2 binary64))
%76 = (*.f64 %68 #s(literal 1 binary64))
%78 = (*.f64 %69 #s(literal 1/2 binary64))
%81 = (*.f64 #s(literal -2 binary64) %68)
%83 = (+.f64 y y)
%85 = (*.f64 y #s(literal 1 binary64))
%88 = (*.f64 #s(literal 1/2 binary64) %69)
%91 = (*.f64 #s(literal 4 binary64) %69)
%94 = (*.f64 #s(literal 1/2 binary64) %63)
%97 = (*.f64 #s(literal 1 binary64) %68)
%103 = (*.f64 %68 #s(literal -2 binary64))
%107 = (*.f64 %15 %63)
%114 = (E.f64 )
%123 = (*.f64 %73 #s(literal 0 binary64))
%125 = (*.f64 #s(literal 0 binary64) %73)
%218 = (* (* (- x y) x) 2)
%219 = (approx %218 %73)
%223 = (*.f64 %59 y)
%233 = (*.f64 %59 #s(literal -2 binary64))
%235 = (*.f64 %223 #s(literal -2 binary64))
%250 = (approx %218 %235)
x
y
#s(literal 0 binary64)
#s(literal -2 binary64)
(*.f64 (*.f64 #s(literal -2 binary64) %4) #s(literal 1/2 binary64))
(*.f64 (*.f64 %8 #s(literal 4 binary64)) #s(literal 1/2 binary64))
(*.f64 %12 #s(literal 4 binary64))
(*.f64 #s(literal -4 binary64) %15)
(*.f64 %17 #s(literal 1 binary64))
(*.f64 #s(literal 4 binary64) %20)
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %8))
(*.f64 #s(literal -1 binary64) %4)
(*.f64 %4 #s(literal -1 binary64))
(*.f64 %8 #s(literal 2 binary64))
(*.f64 #s(literal 1 binary64) %17)
(*.f64 #s(literal 2 binary64) (*.f64 %15 #s(literal -2 binary64)))
(*.f64 #s(literal 2 binary64) %8)
%17
(*.f64 x #s(literal -2 binary64))
(pow.f64 %17 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64)))
(neg.f64 %37)
(neg.f64 %39)
(neg.f64 %4)
(fma.f64 %12 #s(literal 2 binary64) %8)
(fma.f64 %17 #s(literal 1/2 binary64) %8)
(fma.f64 #s(literal 1/2 binary64) %17 %8)
(fma.f64 #s(literal -1 binary64) x %8)
(fma.f64 %4 #s(literal -1/2 binary64) %8)
(fma.f64 %8 #s(literal 1 binary64) %8)
(fma.f64 #s(literal 1 binary64) %8 %8)
(fma.f64 #s(literal 2 binary64) (*.f64 #s(literal -1/2 binary64) x) %8)
(fma.f64 #s(literal 2 binary64) (neg.f64 %15) %8)
(fma.f64 #s(literal 2 binary64) %20 %8)
(fma.f64 #s(literal -2 binary64) %15 %8)
(fma.f64 x #s(literal -1 binary64) %8)
(-.f64 %8 x)
(+.f64 %8 %8)
(pow.f64 %59 #s(literal 1 binary64))
%59
(/.f64 #s(literal 1 binary64) (pow.f64 %59 #s(literal -1 binary64)))
(*.f64 %64 #s(literal 1/2 binary64))
(*.f64 %66 %15)
(*.f64 %70 #s(literal 1/2 binary64))
(*.f64 %74 #s(literal 1/2 binary64))
(*.f64 %76 %4)
(*.f64 %78 #s(literal 4 binary64))
(*.f64 %37 %68)
(*.f64 %81 %8)
(*.f64 %83 %8)
(*.f64 %17 %85)
(*.f64 %17 y)
(*.f64 #s(literal 4 binary64) %88)
(*.f64 %63 x)
(*.f64 #s(literal 1/2 binary64) %91)
(*.f64 %73 #s(literal 1 binary64))
(*.f64 %4 %94)
(*.f64 %4 %76)
(*.f64 %4 %97)
(*.f64 %4 %68)
(*.f64 %69 #s(literal 2 binary64))
(*.f64 %68 %39)
(*.f64 %68 %4)
(*.f64 %8 %103)
(*.f64 %8 %83)
(*.f64 #s(literal 1 binary64) %73)
%73
(*.f64 #s(literal 2 binary64) %107)
(*.f64 #s(literal 2 binary64) %69)
(*.f64 #s(literal -2 binary64) %72)
(*.f64 y %17)
(*.f64 x %63)
(pow.f64 %73 #s(literal 1 binary64))
(/.f64 (*.f64 %73 %114) %114)
(/.f64 %74 #s(literal 2 binary64))
(/.f64 %73 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %73 #s(literal -1 binary64)))
(neg.f64 (*.f64 %4 y))
(fma.f64 %64 #s(literal 1/2 binary64) %123)
(fma.f64 %64 #s(literal 1/2 binary64) %125)
(fma.f64 %66 %15 %123)
(fma.f64 %66 %15 %125)
(fma.f64 %70 #s(literal 1/2 binary64) %123)
(fma.f64 %70 #s(literal 1/2 binary64) %125)
(fma.f64 %74 #s(literal 1/2 binary64) %123)
(fma.f64 %74 #s(literal 1/2 binary64) %125)
(fma.f64 %76 %4 %123)
(fma.f64 %76 %4 %125)
(fma.f64 %76 x %69)
(fma.f64 (*.f64 #s(literal 1 binary64) y) %8 %69)
(fma.f64 %97 x %69)
(fma.f64 %78 #s(literal 4 binary64) %123)
(fma.f64 %78 #s(literal 4 binary64) %125)
(fma.f64 %78 #s(literal 2 binary64) %69)
(fma.f64 %37 %68 %123)
(fma.f64 %37 %68 %125)
(fma.f64 %81 %8 %123)
(fma.f64 %81 %8 %125)
(fma.f64 %83 %8 %123)
(fma.f64 %83 %8 %125)
(fma.f64 %17 %85 %123)
(fma.f64 %17 %85 %125)
(fma.f64 %17 y %123)
(fma.f64 %17 y %125)
(fma.f64 #s(literal 4 binary64) %88 %123)
(fma.f64 #s(literal 4 binary64) %88 %125)
(fma.f64 %63 %15 %69)
(fma.f64 %63 x %123)
(fma.f64 %63 x %125)
(fma.f64 #s(literal 1/2 binary64) %91 %123)
(fma.f64 #s(literal 1/2 binary64) %91 %125)
(fma.f64 #s(literal 1/2 binary64) %73 %69)
(fma.f64 %73 #s(literal 1/2 binary64) %69)
(fma.f64 %73 #s(literal 1 binary64) %123)
(fma.f64 %73 #s(literal 1 binary64) %125)
(fma.f64 %4 %94 %123)
(fma.f64 %4 %94 %125)
(fma.f64 %4 (*.f64 #s(literal 1/2 binary64) %68) %69)
(fma.f64 %4 %76 %123)
(fma.f64 %4 %76 %125)
(fma.f64 %4 %97 %123)
(fma.f64 %4 %97 %125)
(fma.f64 %4 %68 %123)
(fma.f64 %4 %68 %125)
(fma.f64 %69 #s(literal 1 binary64) %69)
(fma.f64 %69 #s(literal 2 binary64) %123)
(fma.f64 %69 #s(literal 2 binary64) %125)
(fma.f64 %68 %39 %123)
(fma.f64 %68 %39 %125)
(fma.f64 %68 %4 %123)
(fma.f64 %68 %4 %125)
(fma.f64 %68 x %69)
(fma.f64 %8 %85 %69)
(fma.f64 %8 %103 %123)
(fma.f64 %8 %103 %125)
(fma.f64 %8 %83 %123)
(fma.f64 %8 %83 %125)
(fma.f64 %8 y %69)
(fma.f64 #s(literal 1 binary64) %73 %123)
(fma.f64 #s(literal 1 binary64) %73 %125)
(fma.f64 #s(literal 1 binary64) %69 %69)
(fma.f64 %72 #s(literal -2 binary64) %123)
(fma.f64 %72 #s(literal -2 binary64) %125)
(fma.f64 #s(literal 2 binary64) %107 %123)
(fma.f64 #s(literal 2 binary64) %107 %125)
(fma.f64 #s(literal 2 binary64) (*.f64 %15 %68) %69)
(fma.f64 #s(literal 2 binary64) %88 %69)
(fma.f64 #s(literal 2 binary64) %69 %123)
(fma.f64 #s(literal 2 binary64) %69 %125)
(fma.f64 #s(literal -2 binary64) %72 %123)
(fma.f64 #s(literal -2 binary64) %72 %125)
(fma.f64 y %17 %123)
(fma.f64 y %17 %125)
(fma.f64 y %8 %69)
(fma.f64 x %76 %69)
(fma.f64 x %97 %69)
(fma.f64 x %63 %123)
(fma.f64 x %63 %125)
(fma.f64 x %68 %69)
(-.f64 %69 (*.f64 #s(literal -1 binary64) %69))
(-.f64 %69 %72)
(+.f64 %73 %123)
(+.f64 %73 %125)
(+.f64 %69 %69)
(pow.f64 %219 #s(literal 1 binary64))
%219
(/.f64 #s(literal 1 binary64) (pow.f64 %219 #s(literal -1 binary64)))
%223
(*.f64 y %59)
(pow.f64 %223 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %223 #s(literal -1 binary64)))
(neg.f64 (*.f64 %68 %59))
(neg.f64 (*.f64 %59 %68))
(*.f64 %63 %59)
(*.f64 %233 y)
%235
(*.f64 %59 %63)
(*.f64 #s(literal -2 binary64) %223)
(*.f64 y %233)
(pow.f64 %235 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %235 #s(literal -1 binary64)))
(neg.f64 (*.f64 #s(literal 2 binary64) %223))
(neg.f64 (*.f64 %68 %233))
(neg.f64 (*.f64 %233 %68))
(neg.f64 (*.f64 %223 #s(literal 2 binary64)))
(pow.f64 %250 #s(literal 1 binary64))
%250
(/.f64 #s(literal 1 binary64) (pow.f64 %250 #s(literal -1 binary64)))

reconstruct14.0ms (1.3%)

Counts
200 → 31
Compiler

Compiled 200 to 266 computations (-33.0% saved)

eval3.0ms (0.3%)

Compiler

Compiled 27 to 66 computations (-144.4% saved)

prune2.0ms (0.2%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New27027
Fresh000
Picked022
Done022
Total27431
Accuracy
100.0%
Counts
31 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (+.f64 x x) (-.f64 x y))
95.3%
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
55.8%
(approx (* (* (- x y) x) 2) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
11.0%
(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 (approx x #s(literal 0 binary64)) y)))
Compiler

Compiled 4 to 16 computations (-300.0% saved)

regimes12.0ms (1.2%)

Accuracy

Total 0.2b remaining (0.3%)

Threshold costs 0.2b (0.3%)

0.2b0.0%
0.0b0%
0.0b0%

Counts
1 → 1
3 → 1
4 → 1
Calls
Call 1
Inputs
(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 x y)))
Outputs
(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 x y)))
Call 2
Inputs
%6 = (* 2 (- (* x x) (* x y)))
(approx %6 (*.f64 #s(literal -2 binary64) (*.f64 x y)))
(approx %6 (*.f64 #s(literal -2 binary64) (*.f64 (approx x #s(literal 0 binary64)) y)))
(approx (* (* (- x y) x) 2) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
Outputs
(approx (* (* (- x y) x) 2) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
Call 3
Inputs
%6 = (* 2 (- (* x x) (* x y)))
(approx %6 (*.f64 #s(literal -2 binary64) (*.f64 x y)))
(approx %6 (*.f64 #s(literal -2 binary64) (*.f64 (approx x #s(literal 0 binary64)) y)))
(approx (* (* (- x y) x) 2) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
(*.f64 (+.f64 x x) (-.f64 x y))
Outputs
(*.f64 (+.f64 x x) (-.f64 x y))
Calls

4 calls:

4.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
3.0ms
x
3.0ms
y
3.0ms
(-.f64 (*.f64 x x) (*.f64 x y))
Results
AccuracySegmentsBranch
55.8%1
y
55.8%1
x
55.8%1
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
55.8%1
(-.f64 (*.f64 x x) (*.f64 x y))
Compiler

Compiled 9 to 24 computations (-166.7% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations41.0ms (4.0%)

Stop Event
done
Compiler

Compiled 3 to 10 computations (-233.3% saved)

preprocess12.0ms (1.2%)

Compiler

Compiled 4 to 17 computations (-325.0% saved)

end0.0ms (0.0%)

gc249ms (24.5%)

Allocations
AllocatedPercentPhase
366.1 MiB33.7%sample
290.7 MiB26.8%rewrite
198.8 MiB18.3%reconstruct
72.9 MiB6.7%series
53.0 MiB4.9%preprocess
38.1 MiB3.5%derivations
28.8 MiB2.6%eval
25.9 MiB2.4%regimes
11.7 MiB1.1%prune
0.5 MiB0.0%analyze
0.1 MiB0.0%bsearch
0.0 MiB0.0%start
0.0 MiB0.0%end
1 086.8 MiB100.0%total

Profiling

Loading profile data...