Linear.V2:$cdot from linear-1.19.1.3, A

Time bar (total: 996.0ms)

start0.0ms (0.0%)

analyze1.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%99.8%0.2%0.0%0.0%0.0%0
100.0%99.8%0.0%0.2%0.0%0.0%0.0%1
Compiler

Compiled 9 to 9 computations (0.0% saved)

sample368.0ms (37.0%)

Samples
364.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 10.0ms
Mul: 7.0ms (73.1% of total, 0.0 MiB)
Add: 3.0ms (31.3% of total, 0.0 MiB)
Bogosity

preprocess81.0ms (8.1%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037109
1138105
2277105
3415105
4469105
5861105
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(+.f64 (*.f64 x y) (*.f64 z t))
Symmetry

(sort x y)

(sort z t)

Compiler

Compiled 2 to 14 computations (-600.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series26.0ms (2.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059193
Stop Event
iter-limit
Counts
7 → 16
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%5 = (*.f64 z t)
x
y
%2
z
t
%5
(+.f64 %2 %5)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%11 = (+ %5 (* z t))
%12 = (*.f64 t z)
%16 = (/.f64 %12 x)
%27 = (/.f64 %12 y)
%37 = (/.f64 %6 z)
%47 = (/.f64 %6 t)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %11 %12)
(approx %11 (fma.f64 t z %6))
(approx %11 (*.f64 x (+.f64 y %16)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %16)))))
(approx y y)
(approx %11 (*.f64 y (+.f64 x %27)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %27)))))
(approx z z)
(approx %11 (*.f64 z (+.f64 t %37)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) %37)))))
(approx t t)
(approx %11 (*.f64 t (+.f64 z %47)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %47)))))
Calls

12 calls:

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

rewrite93.0ms (9.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
01017
12617
26017
312217
422117
558517
0403917
0416116
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
7 → 47
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%5 = (*.f64 z t)
x
y
%2
z
t
%5
(+.f64 %2 %5)
Outputs
%3 = (neg.f64 x)
%4 = (*.f64 %3 y)
%6 = (neg.f64 y)
%10 = (*.f64 y x)
%19 = (neg.f64 z)
%20 = (*.f64 %19 t)
%22 = (neg.f64 t)
%25 = (*.f64 t z)
%32 = (fma.f64 t z %10)
%33 = (neg.f64 %32)
%48 = (*.f64 %10 #s(literal 1 binary64))
%51 = (*.f64 %25 #s(literal 1 binary64))
x
y
(*.f64 #s(literal -1 binary64) %4)
(*.f64 %6 %3)
(*.f64 %3 %6)
(*.f64 #s(literal 1 binary64) %10)
%10
(*.f64 x y)
(pow.f64 %10 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -1 binary64)))
(neg.f64 %4)
z
t
(*.f64 #s(literal -1 binary64) %20)
(*.f64 %22 %19)
(*.f64 %19 %22)
(*.f64 #s(literal 1 binary64) %25)
%25
(*.f64 z t)
(pow.f64 %25 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %25 #s(literal -1 binary64)))
(neg.f64 %20)
(*.f64 #s(literal -1 binary64) %33)
(*.f64 #s(literal 1 binary64) %32)
(pow.f64 %32 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %32 #s(literal -1 binary64)))
(neg.f64 %33)
(fma.f64 #s(literal -1 binary64) %4 %25)
(fma.f64 #s(literal -1 binary64) %20 %10)
(fma.f64 %6 %3 %25)
(fma.f64 %3 %6 %25)
(fma.f64 %22 %19 %10)
(fma.f64 %19 %22 %10)
(fma.f64 #s(literal 1 binary64) %25 %10)
(fma.f64 #s(literal 1 binary64) %10 %25)
(fma.f64 %25 #s(literal 1 binary64) %48)
%32
(fma.f64 z t %10)
(fma.f64 %10 #s(literal 1 binary64) %51)
(fma.f64 y x %25)
(fma.f64 x y %25)
(-.f64 %25 %4)
(-.f64 %10 %20)
(+.f64 %51 %48)
(+.f64 %48 %51)
(+.f64 %25 %10)
(+.f64 %10 %25)

reconstruct15.0ms (1.5%)

Counts
63 → 18
Compiler

Compiled 63 to 91 computations (-44.4% saved)

eval3.0ms (0.3%)

Compiler

Compiled 15 to 40 computations (-166.7% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New13215
Fresh000
Picked101
Done000
Total14216
Accuracy
100.0%
Counts
16 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(approx (+ (* x y) (* z t)) (fma.f64 t z (*.f64 x y)))
54.7%
(approx (+ (* x y) (* z t)) (*.f64 t z))
Compiler

Compiled 2 to 7 computations (-250.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series14.0ms (1.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059193
Stop Event
iter-limit
Counts
9 → 16
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%5 = (*.f64 t z)
%8 = (+ (* x y) (* z t))
%10 = (fma.f64 t z %2)
x
y
%2
z
t
%5
(approx %8 %5)
%10
(approx %8 %10)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%11 = (+ %5 (* z t))
%12 = (*.f64 t z)
%16 = (/.f64 %12 x)
%27 = (/.f64 %12 y)
%37 = (/.f64 %6 z)
%47 = (/.f64 %6 t)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %11 %12)
(approx %11 (fma.f64 t z %6))
(approx %11 (*.f64 x (+.f64 y %16)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %16)))))
(approx y y)
(approx %11 (*.f64 y (+.f64 x %27)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %27)))))
(approx z z)
(approx %11 (*.f64 z (+.f64 t %37)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) %37)))))
(approx t t)
(approx %11 (*.f64 t (+.f64 z %47)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %47)))))
Calls

12 calls:

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

rewrite104.0ms (10.5%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01241
01639
14239
28739
314439
422439
559239
0405239
0418239
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
9 → 55
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%5 = (*.f64 t z)
%8 = (+ (* x y) (* z t))
%10 = (fma.f64 t z %2)
x
y
%2
z
t
%5
(approx %8 %5)
%10
(approx %8 %10)
Outputs
%3 = (neg.f64 x)
%4 = (*.f64 %3 y)
%6 = (neg.f64 y)
%10 = (*.f64 y x)
%19 = (neg.f64 z)
%20 = (*.f64 %19 t)
%22 = (neg.f64 t)
%25 = (*.f64 t z)
%34 = (+ (* t z) (* y x))
%35 = (approx %34 %25)
%40 = (fma.f64 t z %10)
%41 = (neg.f64 %40)
%56 = (*.f64 %10 #s(literal 1 binary64))
%59 = (*.f64 %25 #s(literal 1 binary64))
%69 = (approx %34 %40)
x
y
(*.f64 #s(literal -1 binary64) %4)
(*.f64 %6 %3)
(*.f64 %3 %6)
(*.f64 #s(literal 1 binary64) %10)
%10
(*.f64 x y)
(pow.f64 %10 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -1 binary64)))
(neg.f64 %4)
z
t
(*.f64 #s(literal -1 binary64) %20)
(*.f64 %22 %19)
(*.f64 %19 %22)
(*.f64 #s(literal 1 binary64) %25)
%25
(*.f64 z t)
(pow.f64 %25 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %25 #s(literal -1 binary64)))
(neg.f64 %20)
(*.f64 #s(literal 1 binary64) %35)
(pow.f64 %35 #s(literal 1 binary64))
%35
(/.f64 #s(literal 1 binary64) (pow.f64 %35 #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) %41)
(*.f64 #s(literal 1 binary64) %40)
(pow.f64 %40 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %40 #s(literal -1 binary64)))
(neg.f64 %41)
(fma.f64 #s(literal -1 binary64) %4 %25)
(fma.f64 #s(literal -1 binary64) %20 %10)
(fma.f64 %6 %3 %25)
(fma.f64 %22 %19 %10)
(fma.f64 %3 %6 %25)
(fma.f64 %19 %22 %10)
(fma.f64 #s(literal 1 binary64) %25 %10)
(fma.f64 #s(literal 1 binary64) %10 %25)
(fma.f64 %25 #s(literal 1 binary64) %56)
%40
(fma.f64 z t %10)
(fma.f64 %10 #s(literal 1 binary64) %59)
(fma.f64 y x %25)
(fma.f64 x y %25)
(-.f64 %25 %4)
(-.f64 %10 %20)
(+.f64 %59 %56)
(+.f64 %56 %59)
(+.f64 %25 %10)
(+.f64 %10 %25)
(*.f64 #s(literal 1 binary64) %69)
(pow.f64 %69 #s(literal 1 binary64))
%69
(/.f64 #s(literal 1 binary64) (pow.f64 %69 #s(literal -1 binary64)))

reconstruct8.0ms (0.8%)

Counts
71 → 22
Compiler

Compiled 71 to 99 computations (-39.4% saved)

eval2.0ms (0.2%)

Compiler

Compiled 18 to 40 computations (-122.2% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New18018
Fresh000
Picked022
Done000
Total18220
Accuracy
100.0%
Counts
20 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(approx (+ (* x y) (* z t)) (fma.f64 t z (*.f64 x y)))
54.7%
(approx (+ (* x y) (* z t)) (*.f64 t z))
Compiler

Compiled 2 to 7 computations (-250.0% saved)

regimes16.0ms (1.6%)

Accuracy

Total -0.0b remaining (-0.0%)

Threshold costs -0.0b (-0.0%)

0.0b0%
-0.0b-0.0%

Counts
1 → 1
2 → 1
Calls
Call 1
Inputs
(approx (+ (* x y) (* z t)) (*.f64 t z))
Outputs
(approx (+ (* x y) (* z t)) (*.f64 t z))
Call 2
Inputs
%6 = (+ (* x y) (* z t))
(approx %6 (*.f64 t z))
(approx %6 (fma.f64 t z (*.f64 x y)))
Outputs
(approx (+ (* x y) (* z t)) (fma.f64 t z (*.f64 x y)))
Calls

7 calls:

4.0ms
y
2.0ms
x
2.0ms
z
2.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
2.0ms
t
Results
AccuracySegmentsBranch
54.7%1
t
54.7%1
z
54.7%1
y
54.7%1
x
54.7%1
(+.f64 (*.f64 x y) (*.f64 z t))
54.7%1
(*.f64 x y)
54.7%1
(*.f64 z t)
Compiler

Compiled 10 to 16 computations (-60.0% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations1.0ms (0.1%)

Stop Event
done
Compiler

Compiled 2 to 7 computations (-250.0% saved)

preprocess13.0ms (1.3%)

Compiler

Compiled 11 to 50 computations (-354.5% saved)

end0.0ms (0.0%)

gc248ms (24.9%)

Allocations
AllocatedPercentPhase
643.7 MiB64.8%sample
137.5 MiB13.8%rewrite
76.5 MiB7.7%preprocess
42.0 MiB4.2%series
39.7 MiB4.0%reconstruct
37.3 MiB3.7%regimes
7.7 MiB0.8%eval
5.1 MiB0.5%prune
2.8 MiB0.3%derivations
1.1 MiB0.1%analyze
0.1 MiB0.0%start
0.1 MiB0.0%bsearch
0.0 MiB0.0%end
993.5 MiB100.0%total

Profiling

Loading profile data...