Bouland and Aaronson, Equation (26)

Time bar (total: 2.7s)

analyze15.0ms (0.6%)

Memory
4.5MiB live, 4.5MiB 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 39 to 27 computations (30.8% saved)

sample2.5s (94.5%)

Memory
7.7MiB live, 787.7MiB allocated
Samples
603.0ms8 256×73valid-baseline
511.0ms8 256×73valid-rival
468.0ms8 256×73valid-sollya
Precisions
Click to see Rival histograms. Total time spent on operations: 357.0ms
ival-mult: 160.0ms (44.8% of total)
ival-add: 73.0ms (20.5% of total)
ival-pow: 71.0ms (19.9% of total)
ival-sub: 35.0ms (9.8% of total)
...in/eval/compile.rkt:110:19: 8.0ms (2.2% of total)
ival-true: 8.0ms (2.2% of total)
ival-assert: 3.0ms (0.8% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 349.0ms
ival-mult: 155.0ms (44.4% of total)
ival-add: 72.0ms (20.6% of total)
ival-pow: 68.0ms (19.5% of total)
ival-sub: 37.0ms (10.6% of total)
const: 17.0ms (4.9% of total)
Bogosity

preprocess99.0ms (3.7%)

Memory
5.3MiB live, 21.1MiB allocated
Algorithm
egg-herbie
Rules
800×fmm-def
781×unsub-neg
589×sub-neg
437×fma-define
365×distribute-lft-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
038449
199421
2233413
3706413
42751413
57161413
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 b b))) #s(literal 1 binary64))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 b b))) #s(literal 1 binary64))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 b b))) #s(literal 1 binary64))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 (neg.f64 b) (neg.f64 b)))) #s(literal 1 binary64))
(neg.f64 (-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 b b))) #s(literal 1 binary64)))
(neg.f64 (-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 (neg.f64 b) (neg.f64 b)))) #s(literal 1 binary64)))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 a a))) #s(literal 1 binary64))
Outputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 b b))) #s(literal 1 binary64))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 b b) #s(literal 4 binary64)) #s(literal 1 binary64)))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 (*.f64 b b) #s(literal 4 binary64) #s(literal -1 binary64)))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 b (*.f64 b #s(literal 4 binary64)) #s(literal -1 binary64)))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 b b))) #s(literal 1 binary64))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 b b) #s(literal 4 binary64)) #s(literal 1 binary64)))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 (*.f64 b b) #s(literal 4 binary64) #s(literal -1 binary64)))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 b (*.f64 b #s(literal 4 binary64)) #s(literal -1 binary64)))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 b b))) #s(literal 1 binary64))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 b b) #s(literal 4 binary64)) #s(literal 1 binary64)))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 (*.f64 b b) #s(literal 4 binary64) #s(literal -1 binary64)))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 b (*.f64 b #s(literal 4 binary64)) #s(literal -1 binary64)))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 (neg.f64 b) (neg.f64 b)))) #s(literal 1 binary64))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 b b) #s(literal 4 binary64)) #s(literal 1 binary64)))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 (*.f64 b b) #s(literal 4 binary64) #s(literal -1 binary64)))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 b (*.f64 b #s(literal 4 binary64)) #s(literal -1 binary64)))
(neg.f64 (-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 b b))) #s(literal 1 binary64)))
(neg.f64 (+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 b b) #s(literal 4 binary64)) #s(literal 1 binary64))))
(+.f64 (neg.f64 (fma.f64 (*.f64 b b) #s(literal 4 binary64) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)))) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) (fma.f64 b (*.f64 b #s(literal 4 binary64)) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))))
(-.f64 (fma.f64 b (*.f64 b #s(literal -4 binary64)) #s(literal 1 binary64)) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)))
(neg.f64 (-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 (neg.f64 b) (neg.f64 b)))) #s(literal 1 binary64)))
(neg.f64 (+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 b b) #s(literal 4 binary64)) #s(literal 1 binary64))))
(+.f64 (neg.f64 (fma.f64 (*.f64 b b) #s(literal 4 binary64) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)))) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) (fma.f64 b (*.f64 b #s(literal 4 binary64)) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))))
(-.f64 (fma.f64 b (*.f64 b #s(literal -4 binary64)) #s(literal 1 binary64)) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 a a))) #s(literal 1 binary64))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 a a) #s(literal 4 binary64)) #s(literal 1 binary64)))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 (*.f64 a a) #s(literal 4 binary64) #s(literal -1 binary64)))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 a (*.f64 a #s(literal 4 binary64)) #s(literal -1 binary64)))
Symmetry

(abs a)

(abs b)

Compiler

Compiled 19 to 12 computations (36.8% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB 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
99.9%
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 b b))) #s(literal 1 binary64))
Compiler

Compiled 38 to 24 computations (36.8% saved)

simplify3.0ms (0.1%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
egg-herbie
Rules
+-commutative
1-exp
unsub-neg
sub-neg
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01767
12867
23267
33567
43867
54167
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 b b))) #s(literal 1 binary64))
Outputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 b b))) #s(literal 1 binary64))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 (*.f64 b b) #s(literal 4 binary64))) #s(literal 1 binary64))
(+.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 (*.f64 b b) #s(literal 4 binary64))) #s(literal -1 binary64))

soundness0.0ms (0%)

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

Compiled 19 to 12 computations (36.8% saved)

preprocess29.0ms (1.1%)

Memory
-9.0MiB live, 25.4MiB allocated
Remove

(abs b)

(abs a)

Compiler

Compiled 228 to 144 computations (36.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...