Linear.Quaternion:$c/ from linear-1.19.1.3, D

Time bar (total: 783.0ms)

start0.0ms (0.0%)

analyze1.0ms (0.1%)

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 17 to 11 computations (35.3% saved)

sample312.0ms (39.8%)

Samples
140.0ms5 733×0valid
74.0ms2 523×1valid
Precisions
Click to see histograms. Total time spent on operations: 20.0ms
Mul: 9.0ms (45.2% of total, 0.0 MiB)
Sub: 5.0ms (25.1% of total, 0.0 MiB)
Add: 4.0ms (20.1% of total, 0.0 MiB)
adjust: 2.0ms (10.0% of total, 0.0 MiB)
Bogosity

preprocess21.0ms (2.7%)

Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
041136
125992
2108356
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.3%
%3 = (*.f64 y y)
(-.f64 (+.f64 (-.f64 (*.f64 x y) %3) %3) (*.f64 y z))
Symmetry

(negabs y)

Compiler

Compiled 2 to 18 computations (-800.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series13.0ms (1.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
075359
Stop Event
iter-limit
Counts
9 → 22
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%3 = (*.f64 y y)
%4 = (-.f64 %2 %3)
%5 = (+.f64 %4 %3)
%7 = (*.f64 y z)
x
y
%2
%3
%4
%5
z
%7
(-.f64 %5 %7)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%8 = (* y y)
%9 = (- %5 %8)
%12 = (pow.f64 y #s(literal 2 binary64))
%19 = (* y z)
%20 = (- (+ %9 %8) %19)
%21 = (*.f64 y z)
%26 = (/.f64 %12 x)
%31 = (/.f64 %21 x)
%46 = (*.f64 #s(literal -1 binary64) y)
%68 = (/.f64 %6 z)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %9 (*.f64 #s(literal -1 binary64) %12))
(approx %9 (-.f64 %6 %12))
(approx %20 (*.f64 #s(literal -1 binary64) %21))
(approx %20 (-.f64 %6 %21))
(approx %9 (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) %26))))
(approx %20 (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) %31))))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y %26))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y %31))))
(approx y y)
(approx %8 %12)
(approx %9 (*.f64 y (+.f64 x %46)))
(approx %19 %21)
(approx %20 (*.f64 y (-.f64 x z)))
(approx %9 (*.f64 %12 (-.f64 (/.f64 x y) #s(literal 1 binary64))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal -1 binary64) z)))))
(approx z z)
(approx %20 (fma.f64 #s(literal -1 binary64) %21 %6))
(approx %20 (*.f64 z (-.f64 %68 y)))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) %68) %46))))
Calls

9 calls:

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

rewrite62.0ms (7.9%)

Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0945
01533
15429
222726
398625
0408725
0409125
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
9 → 383
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%3 = (*.f64 y y)
%4 = (-.f64 %2 %3)
%5 = (+.f64 %4 %3)
%7 = (*.f64 y z)
x
y
%2
%3
%4
%5
z
%7
(-.f64 %5 %7)
Outputs
%2 = (neg.f64 x)
%3 = (neg.f64 y)
%4 = (*.f64 %2 %3)
%6 = (-.f64 %2 #s(literal 0 binary64))
%7 = (*.f64 %3 %6)
%8 = (*.f64 %3 %2)
%9 = (+.f64 y x)
%10 = (+.f64 %3 %9)
%11 = (*.f64 y %10)
%12 = (-.f64 #s(literal 0 binary64) %2)
%13 = (*.f64 y %12)
%14 = (+.f64 #s(literal 0 binary64) x)
%15 = (*.f64 y %14)
%16 = (*.f64 y x)
%17 = (*.f64 x y)
%19 = (pow.f64 %16 #s(literal 1 binary64))
%22 = (/.f64 (fma.f64 %16 #s(literal 2 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))
%25 = (/.f64 (-.f64 (*.f64 %16 #s(literal 2 binary64)) #s(literal 0 binary64)) #s(literal 2 binary64))
%26 = (*.f64 %3 x)
%27 = (neg.f64 %26)
%28 = (fabs.f64 y)
%29 = (sqrt.f64 %28)
%30 = (*.f64 %28 %29)
%31 = (-.f64 x y)
%32 = (*.f64 %31 y)
%33 = (fma.f64 %30 %29 %32)
%34 = (neg.f64 %28)
%35 = (*.f64 %34 %29)
%36 = (+.f64 x y)
%37 = (*.f64 y %36)
%38 = (fma.f64 %35 %29 %37)
%39 = (*.f64 %3 y)
%40 = (fma.f64 %9 y %39)
%41 = (fma.f64 %2 %3 #s(literal 0 binary64))
%42 = (*.f64 %29 %28)
%43 = (fma.f64 %29 %42 %32)
%44 = (*.f64 %29 %34)
%45 = (fma.f64 %29 %44 %37)
%46 = (-.f64 y x)
%47 = (*.f64 y y)
%48 = (fma.f64 %46 %3 %47)
%49 = (fma.f64 %34 %34 %32)
%50 = (fma.f64 %34 %28 %37)
%51 = (fma.f64 %31 y %47)
%52 = (fma.f64 %28 %34 %37)
%53 = (fma.f64 %28 %28 %32)
%54 = (+.f64 %3 %2)
%55 = (fma.f64 %3 %54 %39)
%56 = (+.f64 %2 %3)
%57 = (fma.f64 %3 %56 %39)
%58 = (fma.f64 %3 %6 #s(literal 0 binary64))
%59 = (-.f64 %2 %3)
%60 = (fma.f64 %3 %59 %47)
%61 = (-.f64 %2 y)
%62 = (fma.f64 %3 %61 %39)
%63 = (-.f64 %3 x)
%64 = (fma.f64 %3 %63 %39)
%65 = (fma.f64 %3 %2 #s(literal 0 binary64))
%66 = (fma.f64 %3 %46 %47)
%67 = (fma.f64 %3 %3 %32)
%68 = (fma.f64 %3 y %37)
%69 = (fma.f64 y %10 #s(literal 0 binary64))
%70 = (fma.f64 y %12 #s(literal 0 binary64))
%71 = (fma.f64 y %14 #s(literal 0 binary64))
%72 = (fma.f64 y %36 %39)
%73 = (-.f64 x %3)
%74 = (fma.f64 y %73 %39)
%75 = (fma.f64 y %9 %39)
%76 = (fma.f64 y %31 %47)
%77 = (fma.f64 y %3 %37)
%78 = (fma.f64 y y %32)
%79 = (fma.f64 y x #s(literal 0 binary64))
%80 = (fma.f64 x y #s(literal 0 binary64))
%81 = (-.f64 %37 %47)
%82 = (-.f64 #s(literal 0 binary64) %26)
%84 = (-.f64 %39 (*.f64 %3 %9))
%85 = (-.f64 %32 %39)
%86 = (*.f64 %46 y)
%87 = (-.f64 %47 %86)
%88 = (-.f64 %16 #s(literal 0 binary64))
%90 = (+.f64 (*.f64 %9 y) %39)
%91 = (+.f64 %37 %39)
%92 = (+.f64 #s(literal 0 binary64) %16)
%93 = (+.f64 %39 %37)
%94 = (+.f64 %32 %47)
%95 = (+.f64 %47 %32)
%96 = (+.f64 %16 #s(literal 0 binary64))
%102 = (*.f64 %47 %47)
%155 = (neg.f64 z)
%157 = (+.f64 %155 #s(literal 0 binary64))
%159 = (-.f64 y z)
%160 = (-.f64 %159 y)
%162 = (-.f64 y %159)
%163 = (neg.f64 %162)
%166 = (*.f64 z y)
%167 = (+.f64 %162 #s(literal 0 binary64))
%169 = (+.f64 #s(literal 0 binary64) %162)
%171 = (-.f64 #s(literal 0 binary64) %163)
%173 = (-.f64 z y)
%174 = (-.f64 %173 %3)
%176 = (+.f64 z #s(literal 0 binary64))
%178 = (neg.f64 %163)
%185 = (*.f64 %3 z)
%187 = (*.f64 %173 y)
%196 = (+.f64 %155 y)
%198 = (-.f64 %155 %3)
%227 = (*.f64 %159 y)
%233 = (+.f64 %2 z)
%235 = (-.f64 %46 %159)
%237 = (-.f64 %2 %155)
%239 = (-.f64 %173 %31)
%241 = (+.f64 %46 %173)
%243 = (+.f64 %173 %46)
%245 = (-.f64 z x)
%247 = (-.f64 %31 z)
%248 = (+.f64 %247 y)
%250 = (+.f64 %163 x)
%252 = (-.f64 %159 %46)
%253 = (+.f64 %252 #s(literal 0 binary64))
%255 = (+.f64 %155 x)
%256 = (+.f64 %255 #s(literal 0 binary64))
%258 = (-.f64 %31 %173)
%259 = (+.f64 %258 #s(literal 0 binary64))
%261 = (-.f64 x z)
%262 = (+.f64 %261 #s(literal 0 binary64))
%264 = (+.f64 y %247)
%266 = (+.f64 x %163)
%268 = (-.f64 %247 %3)
%270 = (-.f64 %163 %2)
%272 = (-.f64 %252 #s(literal 0 binary64))
%274 = (-.f64 %255 #s(literal 0 binary64))
%276 = (-.f64 %258 #s(literal 0 binary64))
%278 = (-.f64 %261 #s(literal 0 binary64))
%280 = (-.f64 z %31)
%281 = (-.f64 y %280)
%283 = (-.f64 x %162)
%288 = (*.f64 y %261)
%295 = (*.f64 y %245)
%297 = (*.f64 y %247)
%299 = (-.f64 x %173)
%300 = (*.f64 y %299)
%318 = (+.f64 y z)
%319 = (*.f64 %3 %318)
%354 = (+.f64 %155 %9)
%434 = (*.f64 y %354)
%446 = (*.f64 y (-.f64 z %9))
x
y
%4
%7
%8
%11
%13
%15
%16
%17
%19
%22
%25
%27
%33
%38
%40
%41
%43
%45
%48
%49
%50
%51
%52
%53
%55
%57
%58
%60
%62
%64
%65
%66
%67
%68
%69
%70
%71
%72
%74
%75
%76
%77
%78
%79
%80
%81
%82
%84
%85
%87
%88
%90
%91
%92
%93
%94
%95
%96
(*.f64 %30 %29)
(*.f64 %29 %42)
(*.f64 %34 %34)
(*.f64 %28 %28)
(*.f64 %3 %3)
%47
(pow.f64 %102 #s(literal 1/2 binary64))
(pow.f64 %34 #s(literal 2 binary64))
(pow.f64 %28 #s(literal 2 binary64))
(pow.f64 %3 #s(literal 2 binary64))
(pow.f64 %47 #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(neg.f64 %39)
(sqrt.f64 %102)
(fabs.f64 (*.f64 %3 %34))
(fabs.f64 (*.f64 y %34))
(fabs.f64 (*.f64 %3 %28))
(fabs.f64 (*.f64 y %28))
(fabs.f64 (*.f64 %34 %3))
(fabs.f64 (*.f64 %28 %3))
(fabs.f64 (*.f64 %34 y))
(fabs.f64 (*.f64 %28 y))
(fabs.f64 %39)
(fabs.f64 %47)
(*.f64 %46 %3)
%32
(*.f64 %3 %59)
(*.f64 %3 %46)
(*.f64 y %31)
(pow.f64 %32 #s(literal 1 binary64))
(neg.f64 %86)
(fma.f64 %35 %29 %16)
(fma.f64 %2 %3 %39)
(fma.f64 %29 %44 %16)
(fma.f64 %34 %28 %16)
(fma.f64 %28 %34 %16)
(fma.f64 %3 %6 %39)
(fma.f64 %3 %2 %39)
(fma.f64 %3 y %16)
(fma.f64 y %10 %39)
(fma.f64 y %12 %39)
(fma.f64 y %14 %39)
(fma.f64 y %3 %16)
(fma.f64 y x %39)
(fma.f64 x y %39)
(-.f64 %39 %26)
(-.f64 %16 %47)
(+.f64 %39 %16)
(+.f64 %16 %39)
%4
%7
%8
%11
%13
%15
%16
%17
%19
%22
%25
%27
%33
%38
%40
%41
%43
%45
%48
%49
%50
%51
%52
%53
%55
%57
%58
%60
%62
%64
%65
%66
%67
%68
%69
%70
%71
%72
%74
%75
%76
%77
%78
%79
%80
%81
%82
%84
%85
%87
%88
%90
%91
%92
%93
%94
%95
%96
z
(*.f64 %155 %3)
(*.f64 %3 %157)
(*.f64 %3 %160)
(*.f64 %3 %163)
(*.f64 %3 %155)
%166
(*.f64 y %167)
(*.f64 y %169)
(*.f64 y %171)
(*.f64 y %174)
(*.f64 y %176)
(*.f64 y %178)
(*.f64 y %162)
(*.f64 y z)
(pow.f64 %166 #s(literal 1 binary64))
(/.f64 (fma.f64 %166 #s(literal 2 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))
(neg.f64 %185)
(fma.f64 %30 %29 %187)
(fma.f64 %173 y %47)
(fma.f64 %29 %42 %187)
(fma.f64 %159 %3 %47)
(fma.f64 %155 %3 #s(literal 0 binary64))
(fma.f64 %34 %34 %187)
(fma.f64 %28 %28 %187)
(fma.f64 %3 %157 #s(literal 0 binary64))
(fma.f64 %3 %196 %47)
(fma.f64 %3 %198 %47)
(fma.f64 %3 %160 #s(literal 0 binary64))
(fma.f64 %3 %163 #s(literal 0 binary64))
(fma.f64 %3 %159 %47)
(fma.f64 %3 %155 #s(literal 0 binary64))
(fma.f64 %3 %3 %187)
(fma.f64 z y #s(literal 0 binary64))
(fma.f64 y %167 #s(literal 0 binary64))
(fma.f64 y %169 #s(literal 0 binary64))
(fma.f64 y (+.f64 %162 %3) %47)
(fma.f64 y (+.f64 %3 %162) %47)
(fma.f64 y %171 #s(literal 0 binary64))
(fma.f64 y (-.f64 %162 y) %47)
(fma.f64 y (-.f64 %3 %163) %47)
(fma.f64 y %174 #s(literal 0 binary64))
(fma.f64 y %176 #s(literal 0 binary64))
(fma.f64 y %178 #s(literal 0 binary64))
(fma.f64 y %162 #s(literal 0 binary64))
(fma.f64 y %173 %47)
(fma.f64 y z #s(literal 0 binary64))
(fma.f64 y y %187)
(-.f64 %187 %39)
(-.f64 %166 #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) %185)
(-.f64 %47 %227)
(+.f64 %187 %47)
(+.f64 %166 #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) %166)
(+.f64 %47 %187)
(*.f64 %3 %233)
(*.f64 %3 %235)
(*.f64 %3 %237)
(*.f64 %3 %239)
(*.f64 %3 %241)
(*.f64 %3 %243)
(*.f64 %3 %245)
(*.f64 y %248)
(*.f64 y %250)
(*.f64 y %253)
(*.f64 y %256)
(*.f64 y %259)
(*.f64 y %262)
(*.f64 y %264)
(*.f64 y %266)
(*.f64 y %268)
(*.f64 y %270)
(*.f64 y %272)
(*.f64 y %274)
(*.f64 y %276)
(*.f64 y %278)
(*.f64 y %281)
(*.f64 y %283)
(*.f64 y %252)
(*.f64 y %255)
(*.f64 y %258)
%288
(pow.f64 %288 #s(literal 1 binary64))
(/.f64 (fma.f64 %288 #s(literal 2 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %288 #s(literal 2 binary64)) #s(literal 0 binary64)) #s(literal 2 binary64))
(neg.f64 %295)
(fma.f64 %30 %29 %297)
(fma.f64 %35 %29 %300)
(fma.f64 %2 %3 %185)
(fma.f64 %29 %42 %297)
(fma.f64 %29 %44 %300)
(fma.f64 %159 y %32)
(fma.f64 %155 y %16)
(fma.f64 %46 %3 %227)
(fma.f64 %34 %34 %297)
(fma.f64 %34 %28 %300)
(fma.f64 %31 y %227)
(fma.f64 %28 %34 %300)
(fma.f64 %28 %28 %297)
(fma.f64 %3 (+.f64 %173 %2) %39)
(fma.f64 %3 (+.f64 %173 y) %16)
(fma.f64 %3 %233 #s(literal 0 binary64))
(fma.f64 %3 %54 %319)
(fma.f64 %3 %56 %319)
(fma.f64 %3 (+.f64 %2 %173) %39)
(fma.f64 %3 (-.f64 %2 %159) %39)
(fma.f64 %3 %6 %185)
(fma.f64 %3 %235 #s(literal 0 binary64))
(fma.f64 %3 %237 #s(literal 0 binary64))
(fma.f64 %3 %239 #s(literal 0 binary64))
(fma.f64 %3 %59 %227)
(fma.f64 %3 %174 %16)
(fma.f64 %3 %61 %319)
(fma.f64 %3 (-.f64 %46 %155) %47)
(fma.f64 %3 %63 %319)
(fma.f64 %3 %241 #s(literal 0 binary64))
(fma.f64 %3 %243 #s(literal 0 binary64))
(fma.f64 %3 (+.f64 %46 z) %47)
(fma.f64 %3 (-.f64 z #s(literal 0 binary64)) %16)
(fma.f64 %3 %162 %16)
(fma.f64 %3 %245 #s(literal 0 binary64))
(fma.f64 %3 %280 %47)
(fma.f64 %3 %2 %185)
(fma.f64 %3 %173 %32)
(fma.f64 %3 %46 %227)
(fma.f64 %3 %3 %297)
(fma.f64 %3 z %16)
(fma.f64 %3 y %300)
(fma.f64 z %3 %16)
(fma.f64 y (+.f64 %163 %9) %39)
(fma.f64 y %354 %39)
(fma.f64 y %10 %185)
(fma.f64 y %248 #s(literal 0 binary64))
(fma.f64 y %250 #s(literal 0 binary64))
(fma.f64 y %253 #s(literal 0 binary64))
(fma.f64 y %256 #s(literal 0 binary64))
(fma.f64 y %259 #s(literal 0 binary64))
(fma.f64 y %262 #s(literal 0 binary64))
(fma.f64 y %264 #s(literal 0 binary64))
(fma.f64 y %266 #s(literal 0 binary64))
(fma.f64 y (+.f64 #s(literal 0 binary64) %163) %16)
(fma.f64 y (+.f64 %163 %31) %47)
(fma.f64 y (+.f64 %3 %252) %47)
(fma.f64 y (+.f64 %3 %255) %47)
(fma.f64 y (+.f64 %3 %258) %47)
(fma.f64 y (+.f64 %3 %261) %47)
(fma.f64 y (+.f64 %31 %163) %47)
(fma.f64 y (+.f64 %163 y) %32)
(fma.f64 y (+.f64 y %163) %32)
(fma.f64 y (-.f64 %163 #s(literal 0 binary64)) %16)
(fma.f64 y %299 %39)
(fma.f64 y %268 #s(literal 0 binary64))
(fma.f64 y %270 #s(literal 0 binary64))
(fma.f64 y %272 #s(literal 0 binary64))
(fma.f64 y %274 #s(literal 0 binary64))
(fma.f64 y %276 #s(literal 0 binary64))
(fma.f64 y %278 #s(literal 0 binary64))
(fma.f64 y %281 #s(literal 0 binary64))
(fma.f64 y %283 #s(literal 0 binary64))
(fma.f64 y %12 %185)
(fma.f64 y (-.f64 #s(literal 0 binary64) %162) %16)
(fma.f64 y (-.f64 %163 %3) %32)
(fma.f64 y (-.f64 %31 %162) %47)
(fma.f64 y (-.f64 y %162) %32)
(fma.f64 y (+.f64 %159 x) %39)
(fma.f64 y %14 %185)
(fma.f64 y (+.f64 %159 %3) %16)
(fma.f64 y %36 %319)
(fma.f64 y (+.f64 %155 %31) %47)
(fma.f64 y (+.f64 x %159) %39)
(fma.f64 y %196 %32)
(fma.f64 y %73 %319)
(fma.f64 y %198 %32)
(fma.f64 y (-.f64 %155 #s(literal 0 binary64)) %16)
(fma.f64 y %160 %16)
(fma.f64 y %163 %16)
(fma.f64 y %252 #s(literal 0 binary64))
(fma.f64 y %255 #s(literal 0 binary64))
(fma.f64 y %258 #s(literal 0 binary64))
(fma.f64 y %261 #s(literal 0 binary64))
(fma.f64 y %9 %319)
(fma.f64 y %247 %47)
(fma.f64 y %159 %32)
(fma.f64 y %155 %16)
(fma.f64 y %31 %227)
(fma.f64 y %3 %300)
(fma.f64 y y %297)
(fma.f64 y x %185)
(fma.f64 x y %185)
(-.f64 %300 %47)
(-.f64 %434 %47)
(-.f64 %297 %39)
(-.f64 %37 (*.f64 y %318))
(-.f64 #s(literal 0 binary64) %295)
(-.f64 %227 %86)
(-.f64 %185 %26)
(-.f64 %39 (*.f64 y (-.f64 %173 x)))
(-.f64 %39 %446)
(-.f64 %288 #s(literal 0 binary64))
(-.f64 %32 %187)
(-.f64 %47 (*.f64 y (+.f64 %245 y)))
(-.f64 %16 %166)
(+.f64 (neg.f64 %446) %39)
(+.f64 %300 %39)
(+.f64 %434 %39)
(+.f64 %297 %47)
(+.f64 %37 %319)
(+.f64 #s(literal 0 binary64) %288)
(+.f64 %227 %32)
(+.f64 %185 %16)
(+.f64 %39 %300)
(+.f64 %288 #s(literal 0 binary64))
(+.f64 %32 %227)
(+.f64 %47 %297)
(+.f64 %16 %185)

reconstruct32.0ms (4.1%)

Counts
405 → 73
Compiler

Compiled 405 to 506 computations (-24.9% saved)

eval6.0ms (0.7%)

Compiler

Compiled 70 to 196 computations (-180.0% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New67370
Fresh000
Picked101
Done000
Total68371
Accuracy
100.0%
Counts
71 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(fma.f64 x y (*.f64 (neg.f64 y) z))
97.2%
(-.f64 (*.f64 x y) (*.f64 y z))
100.0%
%3 = (* y y)
(approx (- (+ (- (* x y) %3) %3) (* y z)) (*.f64 y (-.f64 x z)))
Compiler

Compiled 3 to 11 computations (-266.7% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series14.0ms (1.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
087327
Stop Event
iter-limit
Counts
12 → 27
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (*.f64 y z)
%6 = (-.f64 x z)
%7 = (*.f64 y %6)
%9 = (* y y)
%15 = (neg.f64 y)
%16 = (*.f64 %15 z)
x
y
%2
z
%4
(-.f64 %2 %4)
%6
%7
(approx (- (+ (- (* x y) %9) %9) (* y z)) %7)
%15
%16
(fma.f64 x y %16)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%9 = (* y z)
%10 = (- %5 %9)
%12 = (*.f64 y z)
%17 = (- x z)
%18 = (*.f64 #s(literal -1 binary64) z)
%20 = (-.f64 x z)
%22 = (* y %17)
%25 = (/.f64 %12 x)
%31 = (/.f64 z x)
%48 = (neg y)
%49 = (*.f64 #s(literal -1 binary64) y)
%52 = (+ %5 (* %48 z))
%53 = (+.f64 x %18)
%56 = (*.f64 #s(literal -1 binary64) x)
%67 = (/.f64 %6 z)
%71 = (/.f64 x z)
%78 = (*.f64 #s(literal -1 binary64) %67)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %10 (*.f64 #s(literal -1 binary64) %12))
(approx %10 (-.f64 %6 %12))
(approx %17 %18)
(approx %17 %20)
(approx %22 (fma.f64 #s(literal -1 binary64) %12 %6))
(approx %10 (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) %25))))
(approx %17 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %31))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y %25))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %31 #s(literal 1 binary64)))))
(approx y y)
(approx %9 %12)
(approx %10 (*.f64 y %20))
(approx %48 %49)
(approx %52 (*.f64 y %53))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %56 %18))))
(approx %52 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 z %56))))
(approx z z)
(approx %17 %53)
(approx %10 (*.f64 z (-.f64 %67 y)))
(approx %17 (*.f64 z (-.f64 %71 #s(literal 1 binary64))))
(approx %22 (*.f64 z (fma.f64 #s(literal -1 binary64) y %67)))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 %78 %49))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %71)))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 y %78))))
Calls

9 calls:

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

rewrite62.0ms (7.9%)

Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01858
02758
18647
228744
393644
0413044
0413444
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
12 → 547
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (*.f64 y z)
%6 = (-.f64 x z)
%7 = (*.f64 y %6)
%9 = (* y y)
%15 = (neg.f64 y)
%16 = (*.f64 %15 z)
x
y
%2
z
%4
(-.f64 %2 %4)
%6
%7
(approx (- (+ (- (* x y) %9) %9) (* y z)) %7)
%15
%16
(fma.f64 x y %16)
Outputs
%2 = (neg.f64 x)
%3 = (neg.f64 y)
%6 = (-.f64 %2 #s(literal 0 binary64))
%9 = (+.f64 y x)
%10 = (+.f64 %3 %9)
%12 = (-.f64 #s(literal 0 binary64) %2)
%14 = (*.f64 y x)
%24 = (*.f64 %3 x)
%26 = (fabs.f64 y)
%27 = (sqrt.f64 %26)
%28 = (*.f64 %26 %27)
%29 = (-.f64 x y)
%30 = (*.f64 %29 y)
%32 = (neg.f64 %26)
%33 = (*.f64 %32 %27)
%34 = (+.f64 x y)
%35 = (*.f64 y %34)
%37 = (*.f64 %3 y)
%40 = (*.f64 %27 %26)
%42 = (*.f64 %27 %32)
%44 = (-.f64 y x)
%45 = (*.f64 y y)
%52 = (+.f64 %3 %2)
%54 = (+.f64 %2 %3)
%56 = (-.f64 %2 %3)
%58 = (-.f64 %2 y)
%61 = (-.f64 %3 x)
%70 = (-.f64 x %3)
%80 = (*.f64 %3 %9)
%83 = (*.f64 %44 y)
%88 = (-.f64 #s(literal 0 binary64) %37)
%98 = (-.f64 #s(literal 0 binary64) %45)
%109 = (neg.f64 z)
%111 = (+.f64 %109 #s(literal 0 binary64))
%113 = (-.f64 y z)
%114 = (-.f64 %113 y)
%117 = (*.f64 z y)
%118 = (-.f64 z y)
%119 = (-.f64 %118 %3)
%121 = (+.f64 z #s(literal 0 binary64))
%127 = (*.f64 %3 z)
%129 = (*.f64 %118 y)
%150 = (*.f64 %113 y)
%158 = (-.f64 z x)
%159 = (*.f64 %158 %3)
%160 = (-.f64 %44 %113)
%161 = (*.f64 %3 %160)
%162 = (-.f64 %118 %29)
%163 = (*.f64 %3 %162)
%164 = (+.f64 %44 %118)
%165 = (*.f64 %3 %164)
%166 = (*.f64 %3 %158)
%167 = (-.f64 x z)
%168 = (*.f64 %167 y)
%169 = (-.f64 %29 z)
%170 = (+.f64 %169 y)
%171 = (*.f64 y %170)
%172 = (+.f64 y %169)
%173 = (*.f64 y %172)
%174 = (-.f64 %29 %118)
%175 = (+.f64 %174 #s(literal 0 binary64))
%176 = (*.f64 y %175)
%177 = (-.f64 %169 %3)
%178 = (*.f64 y %177)
%179 = (-.f64 z %29)
%180 = (-.f64 y %179)
%181 = (*.f64 y %180)
%182 = (-.f64 %174 #s(literal 0 binary64))
%183 = (*.f64 y %182)
%184 = (-.f64 %167 #s(literal 0 binary64))
%185 = (*.f64 y %184)
%186 = (+.f64 %167 #s(literal 0 binary64))
%187 = (*.f64 y %186)
%188 = (*.f64 y %174)
%189 = (*.f64 y %167)
%190 = (pow.f64 %168 #s(literal 1 binary64))
%192 = (/.f64 (fma.f64 %168 #s(literal 2 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))
%195 = (/.f64 (-.f64 (*.f64 %168 #s(literal 2 binary64)) #s(literal 0 binary64)) #s(literal 2 binary64))
%196 = (*.f64 %158 y)
%197 = (neg.f64 %196)
%198 = (*.f64 y %169)
%199 = (fma.f64 %28 %27 %198)
%200 = (-.f64 x %118)
%201 = (*.f64 y %200)
%202 = (fma.f64 %33 %27 %201)
%203 = (fma.f64 %2 %3 %127)
%204 = (fma.f64 %27 %40 %198)
%205 = (fma.f64 %27 %42 %201)
%206 = (fma.f64 %113 y %30)
%207 = (fma.f64 %44 %3 %150)
%208 = (fma.f64 %32 %32 %198)
%209 = (fma.f64 %32 %26 %201)
%210 = (fma.f64 %29 y %150)
%211 = (fma.f64 %109 y %14)
%212 = (fma.f64 %158 %3 #s(literal 0 binary64))
%213 = (fma.f64 %26 %32 %201)
%214 = (fma.f64 %26 %26 %198)
%216 = (fma.f64 %3 (+.f64 %118 %2) %37)
%218 = (fma.f64 %3 (+.f64 %2 %118) %37)
%219 = (+.f64 y z)
%220 = (*.f64 %3 %219)
%221 = (fma.f64 %3 %52 %220)
%222 = (fma.f64 %3 %54 %220)
%223 = (+.f64 %118 y)
%224 = (fma.f64 %3 %223 %14)
%225 = (fma.f64 %3 %160 #s(literal 0 binary64))
%227 = (fma.f64 %3 (-.f64 %2 %113) %37)
%228 = (fma.f64 %3 %56 %150)
%229 = (fma.f64 %3 %58 %220)
%230 = (fma.f64 %3 %162 #s(literal 0 binary64))
%231 = (fma.f64 %3 %6 %127)
%232 = (fma.f64 %3 %119 %14)
%234 = (fma.f64 %3 (+.f64 y %158) %45)
%235 = (fma.f64 %3 %61 %220)
%237 = (fma.f64 %3 (-.f64 %44 %109) %45)
%238 = (+.f64 %44 z)
%239 = (fma.f64 %3 %238 %45)
%240 = (fma.f64 %3 %164 #s(literal 0 binary64))
%241 = (-.f64 z #s(literal 0 binary64))
%242 = (fma.f64 %3 %241 %14)
%243 = (fma.f64 %3 %2 %127)
%244 = (fma.f64 %3 %179 %45)
%245 = (fma.f64 %3 %118 %30)
%246 = (fma.f64 %3 %44 %150)
%247 = (fma.f64 %3 %158 #s(literal 0 binary64))
%248 = (fma.f64 %3 %3 %198)
%249 = (fma.f64 %3 z %14)
%250 = (fma.f64 %3 y %201)
%251 = (fma.f64 %167 y #s(literal 0 binary64))
%252 = (fma.f64 z %3 %14)
%253 = (fma.f64 y %170 #s(literal 0 binary64))
%254 = (fma.f64 y %172 #s(literal 0 binary64))
%255 = (fma.f64 y %175 #s(literal 0 binary64))
%256 = (+.f64 %109 %9)
%257 = (fma.f64 y %256 %37)
%258 = (fma.f64 y %10 %127)
%260 = (fma.f64 y (+.f64 %3 %174) %45)
%261 = (fma.f64 y %177 #s(literal 0 binary64))
%262 = (fma.f64 y %180 #s(literal 0 binary64))
%263 = (fma.f64 y %182 #s(literal 0 binary64))
%264 = (fma.f64 y %200 %37)
%265 = (fma.f64 y %12 %127)
%267 = (fma.f64 y (+.f64 %113 x) %37)
%269 = (fma.f64 y (+.f64 %3 %167) %45)
%271 = (fma.f64 y (+.f64 %109 %29) %45)
%273 = (fma.f64 y (+.f64 x %113) %37)
%274 = (fma.f64 y %34 %220)
%275 = (+.f64 %113 %3)
%276 = (fma.f64 y %275 %14)
%277 = (fma.f64 y %70 %220)
%278 = (fma.f64 y %184 #s(literal 0 binary64))
%279 = (fma.f64 y %186 #s(literal 0 binary64))
%280 = (fma.f64 y %114 %14)
%281 = (-.f64 %109 #s(literal 0 binary64))
%282 = (fma.f64 y %281 %14)
%283 = (fma.f64 y %174 #s(literal 0 binary64))
%284 = (fma.f64 y %9 %220)
%285 = (fma.f64 y %169 %45)
%286 = (fma.f64 y %113 %30)
%287 = (fma.f64 y %29 %150)
%288 = (fma.f64 y %109 %14)
%289 = (fma.f64 y %3 %201)
%290 = (fma.f64 y %167 #s(literal 0 binary64))
%291 = (fma.f64 y y %198)
%292 = (fma.f64 y x %127)
%293 = (fma.f64 x y %127)
%294 = (-.f64 %201 %45)
%295 = (*.f64 y %256)
%296 = (-.f64 %295 %45)
%297 = (*.f64 y %219)
%298 = (-.f64 %35 %297)
%299 = (-.f64 %198 %37)
%300 = (-.f64 #s(literal 0 binary64) %196)
%301 = (-.f64 %150 %83)
%304 = (-.f64 %37 (*.f64 y (-.f64 z %9)))
%305 = (-.f64 %127 %24)
%306 = (-.f64 %30 %129)
%308 = (-.f64 %45 (*.f64 y %238))
%309 = (-.f64 %168 #s(literal 0 binary64))
%310 = (-.f64 %14 %117)
%312 = (+.f64 (-.f64 %45 %297) %14)
%314 = (+.f64 (-.f64 %45 %196) %37)
%316 = (+.f64 (-.f64 %168 %37) %37)
%318 = (+.f64 (-.f64 %168 %26) %26)
%320 = (+.f64 (-.f64 %168 %3) %3)
%322 = (+.f64 (-.f64 %168 %45) %45)
%324 = (+.f64 (-.f64 %168 y) y)
%325 = (-.f64 %127 %45)
%326 = (+.f64 %325 %35)
%327 = (+.f64 %201 %37)
%328 = (+.f64 %295 %37)
%329 = (+.f64 %35 %220)
%330 = (+.f64 %198 %45)
%331 = (+.f64 #s(literal 0 binary64) %168)
%332 = (+.f64 %150 %30)
%333 = (+.f64 %37 %201)
%334 = (+.f64 %127 %14)
%335 = (+.f64 %30 %150)
%336 = (+.f64 %45 %198)
%337 = (+.f64 %168 #s(literal 0 binary64))
%338 = (+.f64 %14 %127)
%348 = (approx (* (- x z) y) %168)
x
y
(*.f64 %2 %3)
(*.f64 %3 %6)
(*.f64 %3 %2)
(*.f64 y %10)
(*.f64 y %12)
%14
(*.f64 x y)
(pow.f64 %14 #s(literal 1 binary64))
(/.f64 (fma.f64 %14 #s(literal 2 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %14 #s(literal 2 binary64)) #s(literal 0 binary64)) #s(literal 2 binary64))
(neg.f64 %24)
(fma.f64 %28 %27 %30)
(fma.f64 %33 %27 %35)
(fma.f64 %9 y %37)
(fma.f64 %2 %3 #s(literal 0 binary64))
(fma.f64 %27 %40 %30)
(fma.f64 %27 %42 %35)
(fma.f64 %44 %3 %45)
(fma.f64 %32 %32 %30)
(fma.f64 %32 %26 %35)
(fma.f64 %29 y %45)
(fma.f64 %26 %32 %35)
(fma.f64 %26 %26 %30)
(fma.f64 %3 %52 %37)
(fma.f64 %3 %54 %37)
(fma.f64 %3 %56 %45)
(fma.f64 %3 %58 %37)
(fma.f64 %3 %6 #s(literal 0 binary64))
(fma.f64 %3 %61 %37)
(fma.f64 %3 %2 #s(literal 0 binary64))
(fma.f64 %3 %44 %45)
(fma.f64 %3 %3 %30)
(fma.f64 %3 y %35)
(fma.f64 y %10 #s(literal 0 binary64))
(fma.f64 y %12 #s(literal 0 binary64))
(fma.f64 y %34 %37)
(fma.f64 y %70 %37)
(fma.f64 y %9 %37)
(fma.f64 y %29 %45)
(fma.f64 y %3 %35)
(fma.f64 y y %30)
(fma.f64 y x #s(literal 0 binary64))
(fma.f64 x y #s(literal 0 binary64))
(-.f64 %35 %45)
(-.f64 #s(literal 0 binary64) %24)
(-.f64 %37 %80)
(-.f64 %30 %37)
(-.f64 %45 %83)
(-.f64 %14 #s(literal 0 binary64))
(+.f64 (-.f64 #s(literal 0 binary64) %80) %37)
(+.f64 %88 %30)
(+.f64 (-.f64 #s(literal 0 binary64) %83) %45)
(+.f64 (-.f64 %14 %26) %26)
(+.f64 (-.f64 %14 %3) %3)
(+.f64 (-.f64 %14 y) y)
(+.f64 %98 %35)
(+.f64 (*.f64 %9 y) %37)
(+.f64 %35 %37)
(+.f64 #s(literal 0 binary64) %14)
(+.f64 %37 %35)
(+.f64 %30 %45)
(+.f64 %45 %30)
(+.f64 %14 #s(literal 0 binary64))
z
(*.f64 %109 %3)
(*.f64 %3 %111)
(*.f64 %3 %114)
(*.f64 %3 %109)
%117
(*.f64 y %119)
(*.f64 y %121)
(*.f64 y z)
(pow.f64 %117 #s(literal 1 binary64))
(/.f64 (fma.f64 %117 #s(literal 2 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))
(neg.f64 %127)
(fma.f64 %28 %27 %129)
(fma.f64 %118 y %45)
(fma.f64 %27 %40 %129)
(fma.f64 %113 %3 %45)
(fma.f64 %32 %32 %129)
(fma.f64 %109 %3 #s(literal 0 binary64))
(fma.f64 %26 %26 %129)
(fma.f64 %3 %111 #s(literal 0 binary64))
(fma.f64 %3 %114 #s(literal 0 binary64))
(fma.f64 %3 %113 %45)
(fma.f64 %3 %109 #s(literal 0 binary64))
(fma.f64 %3 %3 %129)
(fma.f64 z y #s(literal 0 binary64))
(fma.f64 y %119 #s(literal 0 binary64))
(fma.f64 y %121 #s(literal 0 binary64))
(fma.f64 y %118 %45)
(fma.f64 y z #s(literal 0 binary64))
(fma.f64 y y %129)
(-.f64 %129 %37)
(-.f64 #s(literal 0 binary64) %127)
(-.f64 %45 %150)
(-.f64 %117 #s(literal 0 binary64))
(+.f64 %88 %129)
(+.f64 %129 %45)
(+.f64 #s(literal 0 binary64) %117)
(+.f64 %45 %129)
(+.f64 %117 #s(literal 0 binary64))
%159
%161
%163
%165
%166
%168
%171
%173
%176
%178
%181
%183
%185
%187
%188
%189
%190
%192
%195
%197
%199
%202
%203
%204
%205
%206
%207
%208
%209
%210
%211
%212
%213
%214
%216
%218
%221
%222
%224
%225
%227
%228
%229
%230
%231
%232
%234
%235
%237
%239
%240
%242
%243
%244
%245
%246
%247
%248
%249
%250
%251
%252
%253
%254
%255
%257
%258
%260
%261
%262
%263
%264
%265
%267
%269
%271
%273
%274
%276
%277
%278
%279
%280
%282
%283
%284
%285
%286
%287
%288
%289
%290
%291
%292
%293
%294
%296
%298
%299
%300
%301
%304
%305
%306
%308
%309
%310
%312
%314
%316
%318
%320
%322
%324
%326
%327
%328
%329
%330
%331
%332
%333
%334
%335
%336
%337
%338
(pow.f64 %167 #s(literal 1 binary64))
(neg.f64 %158)
(-.f64 %113 %44)
(-.f64 %109 %2)
%167
(+.f64 %113 %29)
(+.f64 %109 x)
(+.f64 x %109)
%159
%161
%163
%165
%166
%168
%171
%173
%176
%178
%181
%183
%185
%187
%188
%189
%190
%192
%195
%197
%199
%202
%203
%204
%205
%206
%207
%208
%209
%210
%211
%212
%213
%214
%216
%218
%221
%222
%224
%225
%227
%228
%229
%230
%231
%232
%234
%235
%237
%239
%240
%242
%243
%244
%245
%246
%247
%248
%249
%250
%251
%252
%253
%254
%255
%257
%258
%260
%261
%262
%263
%264
%265
%267
%269
%271
%273
%274
%276
%277
%278
%279
%280
%282
%283
%284
%285
%286
%287
%288
%289
%290
%291
%292
%293
%294
%296
%298
%299
%300
%301
%304
%305
%306
%308
%309
%310
%312
%314
%316
%318
%320
%322
%324
%326
%327
%328
%329
%330
%331
%332
%333
%334
%335
%336
%337
%338
(pow.f64 %348 #s(literal 1 binary64))
%348
(pow.f64 %3 #s(literal 1 binary64))
%3
(*.f64 %109 y)
(*.f64 %3 %223)
(*.f64 %3 %119)
(*.f64 %3 %241)
%127
(*.f64 z %3)
(*.f64 y %275)
(*.f64 y %114)
(*.f64 y %281)
(*.f64 y %109)
(pow.f64 %127 #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %127 #s(literal 2 binary64)) #s(literal 0 binary64)) #s(literal 2 binary64))
(neg.f64 %117)
(fma.f64 %33 %27 %150)
(fma.f64 %27 %42 %150)
(fma.f64 %113 y %37)
(fma.f64 %32 %26 %150)
(fma.f64 %109 y #s(literal 0 binary64))
(fma.f64 %26 %32 %150)
(fma.f64 %3 %223 #s(literal 0 binary64))
(fma.f64 %3 %119 #s(literal 0 binary64))
(fma.f64 %3 %219 %45)
(fma.f64 %3 (-.f64 y %109) %45)
(fma.f64 %3 %241 #s(literal 0 binary64))
(fma.f64 %3 %118 %37)
(fma.f64 %3 z #s(literal 0 binary64))
(fma.f64 %3 y %150)
(fma.f64 z %3 #s(literal 0 binary64))
(fma.f64 y (+.f64 %3 %109) %45)
(fma.f64 y %275 #s(literal 0 binary64))
(fma.f64 y (-.f64 %3 z) %45)
(fma.f64 y %114 #s(literal 0 binary64))
(fma.f64 y %281 #s(literal 0 binary64))
(fma.f64 y %113 %37)
(fma.f64 y %109 #s(literal 0 binary64))
(fma.f64 y %3 %150)
(-.f64 #s(literal 0 binary64) %117)
(-.f64 %150 %45)
(-.f64 %37 %129)
(-.f64 %127 #s(literal 0 binary64))
(+.f64 (-.f64 %127 %26) %26)
(+.f64 (-.f64 %127 %3) %3)
(+.f64 (-.f64 %127 y) y)
(+.f64 %98 %150)
(+.f64 %325 %45)
(+.f64 %220 %45)
(+.f64 #s(literal 0 binary64) %127)
(+.f64 %150 %37)
(+.f64 %37 %150)
(+.f64 %127 #s(literal 0 binary64))
%159
%161
%163
%165
%166
%168
%171
%173
%176
%178
%181
%183
%185
%187
%188
%189
%190
%192
%195
%197
%199
%202
%203
%204
%205
%206
%207
%208
%209
%210
%211
%212
%213
%214
%216
%218
%221
%222
%224
%225
%227
%228
%229
%230
%231
%232
%234
%235
%237
%239
%240
%242
%243
%244
%245
%246
%247
%248
%249
%250
%251
%252
%253
%254
%255
%257
%258
%260
%261
%262
%263
%264
%265
%267
%269
%271
%273
%274
%276
%277
%278
%279
%280
%282
%283
%284
%285
%286
%287
%288
%289
%290
%291
%292
%293
%294
%296
%298
%299
%300
%301
%304
%305
%306
%308
%309
%310
%312
%314
%316
%318
%320
%322
%324
%326
%327
%328
%329
%330
%331
%332
%333
%334
%335
%336
%337
%338

reconstruct39.0ms (5.0%)

Counts
574 → 134
Compiler

Compiled 574 to 453 computations (21.1% saved)

eval8.0ms (1.0%)

Compiler

Compiled 107 to 182 computations (-70.1% saved)

prune2.0ms (0.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1070107
Fresh000
Picked033
Done000
Total1073110
Accuracy
100.0%
Counts
110 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(fma.f64 x y (*.f64 (neg.f64 y) z))
97.2%
(-.f64 (*.f64 x y) (*.f64 y z))
100.0%
%3 = (* y y)
(approx (- (+ (- (* x y) %3) %3) (* y z)) (*.f64 y (-.f64 x z)))
Compiler

Compiled 3 to 11 computations (-266.7% saved)

regimes12.0ms (1.5%)

Accuracy

Total 0.0b remaining (0.0%)

Threshold costs 0.0b (0.0%)

Counts
1 → 1
Calls
Call 1
Inputs
%3 = (* y y)
(approx (- (+ (- (* x y) %3) %3) (* y z)) (*.f64 y (-.f64 x z)))
Outputs
%3 = (* y y)
(approx (- (+ (- (* x y) %3) %3) (* y z)) (*.f64 y (-.f64 x z)))
Calls

4 calls:

3.0ms
%3 = (*.f64 y y)
(-.f64 (+.f64 (-.f64 (*.f64 x y) %3) %3) (*.f64 y z))
3.0ms
x
3.0ms
z
3.0ms
y
Results
AccuracySegmentsBranch
100.0%1
z
100.0%1
y
100.0%1
x
100.0%1
%18 = (*.f64 y y)
(-.f64 (+.f64 (-.f64 (*.f64 x y) %18) %18) (*.f64 y z))
Compiler

Compiled 8 to 24 computations (-200.0% saved)

bsearch0.0ms (0.0%)

derivations1.0ms (0.1%)

Stop Event
done
Compiler

Compiled 1 to 5 computations (-400.0% saved)

preprocess5.0ms (0.7%)

Compiler

Compiled 4 to 24 computations (-500.0% saved)

end0.0ms (0.0%)

gc193ms (24.6%)

Allocations
AllocatedPercentPhase
792.3 MiB52.2%sample
265.7 MiB17.5%rewrite
170.5 MiB11.2%reconstruct
129.7 MiB8.5%series
58.1 MiB3.8%preprocess
45.2 MiB3.0%eval
34.9 MiB2.3%regimes
14.8 MiB1.0%prune
3.8 MiB0.2%derivations
2.4 MiB0.2%analyze
0.3 MiB0.0%start
0.1 MiB0.0%end
0.0 MiB0.0%bsearch
1 517.8 MiB100.0%total

Profiling

Loading profile data...