Difference of squares

Time bar (total: 2.1s)

analyze12.0ms (0.6%)

Memory
3.6MiB live, 3.6MiB 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 19 to 13 computations (31.6% saved)

sample1.9s (87.5%)

Memory
-13.1MiB live, 531.8MiB allocated
Samples
419.0ms8 256×0valid-sollya
335.0ms8 256×0valid-baseline
303.0ms8 256×0valid-rival
Bogosity

preprocess227.0ms (10.7%)

Memory
5.9MiB live, 21.6MiB allocated
Algorithm
egg-herbie
Rules
890×fma-define
593×sub-neg
575×fmm-def
564×distribute-lft-in
514×distribute-rgt-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
020229
166217
2174217
3440217
41065217
52042217
63004217
73846217
85624217
96223217
106336217
116450217
126530217
136530217
147911217
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 (*.f64 a a) (*.f64 b b))
(-.f64 (*.f64 a a) (*.f64 b b))
(-.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b))
(-.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b)))
(neg.f64 (-.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)))
(neg.f64 (-.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))))
(-.f64 (*.f64 b b) (*.f64 a a))
Outputs
(-.f64 (*.f64 a a) (*.f64 b b))
(fma.f64 a a (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(fma.f64 a a (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b))
(-.f64 (*.f64 a a) (*.f64 b b))
(fma.f64 a a (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(fma.f64 a a (*.f64 b (neg.f64 b)))
(neg.f64 (-.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)))
(neg.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 (*.f64 b b) (*.f64 a a))
(fma.f64 a (neg.f64 a) (*.f64 b b))
(*.f64 (-.f64 b a) (+.f64 a b))
(neg.f64 (-.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))))
(neg.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 (*.f64 b b) (*.f64 a a))
(fma.f64 a (neg.f64 a) (*.f64 b b))
(*.f64 (-.f64 b a) (+.f64 a b))
(-.f64 (*.f64 b b) (*.f64 a a))
(neg.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(fma.f64 a (neg.f64 a) (*.f64 b b))
(*.f64 (-.f64 b a) (+.f64 a b))
Symmetry

(abs a)

(abs b)

Compiler

Compiled 9 to 5 computations (44.4% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.6%
(-.f64 (*.f64 a a) (*.f64 b b))
Compiler

Compiled 18 to 10 computations (44.4% saved)

simplify2.0ms (0.1%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
egg-herbie
Rules
sub-neg
+-commutative
*-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01031
11631
22431
32831
43031
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 a a) (*.f64 b b))
Outputs
(-.f64 (*.f64 a a) (*.f64 b b))

soundness0.0ms (0%)

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

Compiled 9 to 5 computations (44.4% saved)

preprocess24.0ms (1.1%)

Memory
6.0MiB live, 37.1MiB allocated
Remove

(abs b)

(abs a)

Compiler

Compiled 126 to 70 computations (44.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...