FastMath dist3

Time bar (total: 2.6s)

analyze14.0ms (0.5%)

Memory
4.2MiB live, 4.2MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 32 to 25 computations (21.9% saved)

sample2.4s (93.3%)

Memory
-3.4MiB live, 732.2MiB allocated
Samples
518.0ms8 221×0valid-sollya
463.0ms8 221×0valid-baseline
428.0ms8 221×0valid-rival
5.0ms30×1valid-baseline
3.0ms30×1valid-rival
2.0ms30×1valid-sollya
1.0ms2valid-baseline
1.0ms2valid-rival
0.0ms2valid-sollya
Bogosity

preprocess125.0ms (4.9%)

Memory
4.3MiB live, 21.5MiB allocated
Algorithm
egg-herbie
Rules
680×unsub-neg
480×sub-neg
389×fmm-def
374×distribute-lft-neg-in
366×associate-+r+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
052564
1134453
2431332
31739308
45248308
56494308
67392308
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) (neg.f64 d1))) (*.f64 (neg.f64 d1) #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 d1 (neg.f64 d2)) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 (neg.f64 d3) #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) (neg.f64 d1))) (*.f64 (neg.f64 d1) #s(literal 32 binary64))))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 (neg.f64 d2)) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64))))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 (neg.f64 d3) #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64))))
(+.f64 (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d2)) (*.f64 d2 #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 d3 d2) (*.f64 (+.f64 d1 #s(literal 5 binary64)) d3)) (*.f64 d3 #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 d1 d3) (*.f64 (+.f64 d2 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
Outputs
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (fma.f64 d1 d2 (*.f64 d1 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d1 #s(literal 32 binary64)))
(fma.f64 d1 d2 (*.f64 d1 (+.f64 (+.f64 d3 #s(literal 5 binary64)) #s(literal 32 binary64))))
(*.f64 d1 (+.f64 (+.f64 d2 #s(literal 37 binary64)) d3))
(*.f64 d1 (+.f64 d2 (+.f64 d3 #s(literal 37 binary64))))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (fma.f64 d1 d2 (*.f64 d1 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d1 #s(literal 32 binary64)))
(fma.f64 d1 d2 (*.f64 d1 (+.f64 (+.f64 d3 #s(literal 5 binary64)) #s(literal 32 binary64))))
(*.f64 d1 (+.f64 (+.f64 d2 #s(literal 37 binary64)) d3))
(*.f64 d1 (+.f64 d2 (+.f64 d3 #s(literal 37 binary64))))
(+.f64 (+.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) (neg.f64 d1))) (*.f64 (neg.f64 d1) #s(literal 32 binary64)))
(+.f64 (fma.f64 (neg.f64 d1) d2 (*.f64 (+.f64 d3 #s(literal 5 binary64)) (neg.f64 d1))) (*.f64 #s(literal 32 binary64) (neg.f64 d1)))
(+.f64 (*.f64 (neg.f64 d1) (+.f64 d2 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d1 #s(literal -32 binary64)))
(neg.f64 (*.f64 d1 (+.f64 (+.f64 d2 #s(literal 37 binary64)) d3)))
(*.f64 d1 (-.f64 #s(literal -37 binary64) (+.f64 d2 d3)))
(*.f64 d1 (-.f64 (-.f64 #s(literal -37 binary64) d3) d2))
(+.f64 (+.f64 (*.f64 d1 (neg.f64 d2)) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (*.f64 d1 #s(literal 32 binary64)) (fma.f64 d1 (neg.f64 d2) (*.f64 d1 (+.f64 d3 #s(literal 5 binary64)))))
(fma.f64 d1 #s(literal 32 binary64) (*.f64 d1 (+.f64 (neg.f64 d2) (+.f64 d3 #s(literal 5 binary64)))))
(*.f64 d1 (+.f64 (neg.f64 d2) (+.f64 d3 #s(literal 37 binary64))))
(*.f64 d1 (+.f64 #s(literal 37 binary64) (-.f64 d3 d2)))
(*.f64 d1 (+.f64 d3 (-.f64 #s(literal 37 binary64) d2)))
(*.f64 d1 (-.f64 d3 (+.f64 #s(literal -37 binary64) d2)))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 (neg.f64 d3) #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (*.f64 d1 #s(literal 32 binary64)) (fma.f64 d1 d2 (*.f64 d1 (+.f64 #s(literal 5 binary64) (neg.f64 d3)))))
(fma.f64 d1 d2 (*.f64 d1 (+.f64 (-.f64 #s(literal 5 binary64) d3) #s(literal 32 binary64))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) #s(literal 37 binary64))))
(*.f64 d1 (+.f64 d2 (-.f64 #s(literal 37 binary64) d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) (neg.f64 d1))) (*.f64 (neg.f64 d1) #s(literal 32 binary64))))
(+.f64 (fma.f64 d1 d2 (*.f64 d1 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d1 #s(literal 32 binary64)))
(fma.f64 d1 d2 (*.f64 d1 (+.f64 (+.f64 d3 #s(literal 5 binary64)) #s(literal 32 binary64))))
(*.f64 d1 (+.f64 (+.f64 d2 #s(literal 37 binary64)) d3))
(*.f64 d1 (+.f64 d2 (+.f64 d3 #s(literal 37 binary64))))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 (neg.f64 d2)) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64))))
(neg.f64 (+.f64 (*.f64 d1 #s(literal 32 binary64)) (fma.f64 d1 (neg.f64 d2) (*.f64 d1 (+.f64 d3 #s(literal 5 binary64))))))
(-.f64 (*.f64 d1 #s(literal -32 binary64)) (*.f64 d1 (+.f64 (neg.f64 d2) (+.f64 d3 #s(literal 5 binary64)))))
(*.f64 d1 (-.f64 #s(literal -32 binary64) (-.f64 (+.f64 d3 #s(literal 5 binary64)) d2)))
(*.f64 d1 (-.f64 #s(literal -37 binary64) (-.f64 d3 d2)))
(*.f64 d1 (+.f64 d2 (-.f64 #s(literal -37 binary64) d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 (neg.f64 d3) #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64))))
(neg.f64 (+.f64 (*.f64 d1 #s(literal 32 binary64)) (fma.f64 d1 d2 (*.f64 d1 (+.f64 #s(literal 5 binary64) (neg.f64 d3))))))
(-.f64 (*.f64 d1 #s(literal -32 binary64)) (*.f64 d1 (+.f64 d2 (-.f64 #s(literal 5 binary64) d3))))
(*.f64 d1 (-.f64 #s(literal -32 binary64) (-.f64 (+.f64 d2 #s(literal 5 binary64)) d3)))
(*.f64 d1 (+.f64 #s(literal -37 binary64) (-.f64 d3 d2)))
(*.f64 d1 (+.f64 (-.f64 d3 d2) #s(literal -37 binary64)))
(*.f64 d1 (+.f64 d3 (-.f64 #s(literal -37 binary64) d2)))
(+.f64 (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d2)) (*.f64 d2 #s(literal 32 binary64)))
(+.f64 (fma.f64 d2 d1 (*.f64 d2 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d2 #s(literal 32 binary64)))
(fma.f64 d2 #s(literal 32 binary64) (*.f64 d2 (+.f64 d1 (+.f64 d3 #s(literal 5 binary64)))))
(*.f64 d2 (+.f64 d1 (+.f64 d3 #s(literal 37 binary64))))
(*.f64 d2 (+.f64 (+.f64 d1 d3) #s(literal 37 binary64)))
(+.f64 (+.f64 (*.f64 d3 d2) (*.f64 (+.f64 d1 #s(literal 5 binary64)) d3)) (*.f64 d3 #s(literal 32 binary64)))
(+.f64 (fma.f64 d3 d2 (*.f64 d3 (+.f64 d1 #s(literal 5 binary64)))) (*.f64 d3 #s(literal 32 binary64)))
(fma.f64 d3 #s(literal 32 binary64) (*.f64 d3 (+.f64 d2 (+.f64 d1 #s(literal 5 binary64)))))
(*.f64 d3 (+.f64 d2 (+.f64 d1 #s(literal 37 binary64))))
(*.f64 d3 (+.f64 d1 (+.f64 d2 #s(literal 37 binary64))))
(+.f64 (+.f64 (*.f64 d1 d3) (*.f64 (+.f64 d2 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (fma.f64 d1 d2 (*.f64 d1 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d1 #s(literal 32 binary64)))
(fma.f64 d1 d2 (*.f64 d1 (+.f64 (+.f64 d3 #s(literal 5 binary64)) #s(literal 32 binary64))))
(*.f64 d1 (+.f64 (+.f64 d2 #s(literal 37 binary64)) d3))
(*.f64 d1 (+.f64 d2 (+.f64 d3 #s(literal 37 binary64))))
Symmetry

(negabs d1)

(sort d2 d3)

Compiler

Compiled 16 to 11 computations (31.3% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
97.6%
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
Compiler

Compiled 32 to 22 computations (31.3% saved)

simplify2.0ms (0.1%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
egg-herbie
Rules
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01752
12352
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
Outputs
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d1 #s(literal 32 binary64)))

soundness0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Stop Event
fuel
Compiler

Compiled 16 to 11 computations (31.3% saved)

preprocess28.0ms (1.1%)

Memory
-10.6MiB live, 36.4MiB allocated
Remove

(sort d2 d3)

(negabs d1)

Compiler

Compiled 212 to 146 computations (31.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...