Bouland and Aaronson, Equation (25)

Time bar (total: 3.2s)

analyze0.0ms (0%)

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 68 to 40 computations (41.2% saved)

sample3.1s (95.7%)

Results
564.0ms8256×0valid-sollya
811.0ms8256×0valid-rival
767.0ms8256×0valid-baseline
Bogosity

preprocess112.0ms (3.5%)

Algorithm
egg-herbie
Rules
646×sub-neg
611×unsub-neg
510×fma-define
479×fma-neg
296×distribute-lft-neg-out
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
060807
1211771
2772715
33548715
47867715
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 (*.f64 (*.f64 a a) (+.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) a)))))) #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 (*.f64 (*.f64 a a) (+.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) a)))))) #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 (*.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (+.f64 #s(literal 1 binary64) (neg.f64 a))) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (neg.f64 a))))))) #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 (*.f64 (*.f64 a a) (+.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) a)))))) #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 (*.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (+.f64 #s(literal 1 binary64) (neg.f64 a))) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (neg.f64 a))))))) #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 (*.f64 (*.f64 a a) (+.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) a)))))) #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 (*.f64 (*.f64 b b) (+.f64 #s(literal 1 binary64) b)) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) 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 (*.f64 (*.f64 a a) (+.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64))
(+.f64 (+.f64 (*.f64 #s(literal 4 binary64) (fma.f64 (*.f64 a a) (+.f64 a #s(literal 1 binary64)) (*.f64 b (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -3 binary64) a)))))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64))
(+.f64 (fma.f64 #s(literal 4 binary64) (fma.f64 a (*.f64 a (+.f64 a #s(literal 1 binary64))) (*.f64 b (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 a #s(literal -3 binary64)))))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64))
(+.f64 (fma.f64 #s(literal 4 binary64) (fma.f64 b (*.f64 b (fma.f64 a #s(literal -3 binary64) #s(literal 1 binary64))) (fma.f64 a a (pow.f64 a #s(literal 3 binary64)))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64))
(fma.f64 #s(literal 4 binary64) (fma.f64 (*.f64 b b) (fma.f64 a #s(literal -3 binary64) #s(literal 1 binary64)) (fma.f64 a a (pow.f64 a #s(literal 3 binary64)))) (+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 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 (*.f64 (*.f64 a a) (+.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64))
(+.f64 (+.f64 (*.f64 #s(literal 4 binary64) (fma.f64 (*.f64 a a) (+.f64 a #s(literal 1 binary64)) (*.f64 b (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -3 binary64) a)))))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64))
(+.f64 (fma.f64 #s(literal 4 binary64) (fma.f64 a (*.f64 a (+.f64 a #s(literal 1 binary64))) (*.f64 b (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 a #s(literal -3 binary64)))))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64))
(+.f64 (fma.f64 #s(literal 4 binary64) (fma.f64 b (*.f64 b (fma.f64 a #s(literal -3 binary64) #s(literal 1 binary64))) (fma.f64 a a (pow.f64 a #s(literal 3 binary64)))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64))
(fma.f64 #s(literal 4 binary64) (fma.f64 (*.f64 b b) (fma.f64 a #s(literal -3 binary64) #s(literal 1 binary64)) (fma.f64 a a (pow.f64 a #s(literal 3 binary64)))) (+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 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 (*.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (+.f64 #s(literal 1 binary64) (neg.f64 a))) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (neg.f64 a))))))) #s(literal 1 binary64))
(+.f64 (+.f64 (*.f64 #s(literal 4 binary64) (fma.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a) (*.f64 b (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -3 binary64) (neg.f64 a))))))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64))
(+.f64 (fma.f64 #s(literal 4 binary64) (fma.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a) (*.f64 b (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 a #s(literal 3 binary64)))))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 #s(literal 4 binary64) (-.f64 (fma.f64 b (*.f64 b (fma.f64 a #s(literal 3 binary64) #s(literal 1 binary64))) (*.f64 a a)) (pow.f64 a #s(literal 3 binary64))) #s(literal -1 binary64)))
(+.f64 (fma.f64 #s(literal 4 binary64) (fma.f64 a a (-.f64 (*.f64 (*.f64 b b) (fma.f64 a #s(literal 3 binary64) #s(literal 1 binary64))) (pow.f64 a #s(literal 3 binary64)))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 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 (*.f64 (*.f64 a a) (+.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64))
(+.f64 (+.f64 (*.f64 #s(literal 4 binary64) (fma.f64 (*.f64 a a) (+.f64 a #s(literal 1 binary64)) (*.f64 b (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -3 binary64) a)))))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64))
(+.f64 (fma.f64 #s(literal 4 binary64) (fma.f64 a (*.f64 a (+.f64 a #s(literal 1 binary64))) (*.f64 b (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 a #s(literal -3 binary64)))))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64))
(+.f64 (fma.f64 #s(literal 4 binary64) (fma.f64 b (*.f64 b (fma.f64 a #s(literal -3 binary64) #s(literal 1 binary64))) (fma.f64 a a (pow.f64 a #s(literal 3 binary64)))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64))
(fma.f64 #s(literal 4 binary64) (fma.f64 (*.f64 b b) (fma.f64 a #s(literal -3 binary64) #s(literal 1 binary64)) (fma.f64 a a (pow.f64 a #s(literal 3 binary64)))) (+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 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 (*.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (+.f64 #s(literal 1 binary64) (neg.f64 a))) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (neg.f64 a))))))) #s(literal 1 binary64)))
(neg.f64 (+.f64 (+.f64 (*.f64 #s(literal 4 binary64) (fma.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a) (*.f64 b (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -3 binary64) (neg.f64 a))))))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64)))
(+.f64 (neg.f64 (fma.f64 #s(literal 4 binary64) (fma.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a) (*.f64 b (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 a #s(literal 3 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 #s(literal 4 binary64) (-.f64 (fma.f64 b (*.f64 b (fma.f64 a #s(literal 3 binary64) #s(literal 1 binary64))) (*.f64 a a)) (pow.f64 a #s(literal 3 binary64))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))))
(-.f64 #s(literal 1 binary64) (fma.f64 #s(literal 4 binary64) (fma.f64 a a (-.f64 (*.f64 (*.f64 b b) (fma.f64 a #s(literal 3 binary64) #s(literal 1 binary64))) (pow.f64 a #s(literal 3 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 (*.f64 (*.f64 a a) (+.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64)))
(neg.f64 (+.f64 (+.f64 (*.f64 #s(literal 4 binary64) (fma.f64 (*.f64 a a) (+.f64 a #s(literal 1 binary64)) (*.f64 b (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -3 binary64) a)))))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))) #s(literal -1 binary64)))
(+.f64 (neg.f64 (fma.f64 #s(literal 4 binary64) (fma.f64 a (*.f64 a (+.f64 a #s(literal 1 binary64))) (*.f64 b (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 a #s(literal -3 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 #s(literal 4 binary64) (fma.f64 b (*.f64 b (fma.f64 a #s(literal -3 binary64) #s(literal 1 binary64))) (fma.f64 a a (pow.f64 a #s(literal 3 binary64)))) (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64))))
(-.f64 #s(literal 1 binary64) (fma.f64 #s(literal 4 binary64) (fma.f64 (*.f64 b b) (fma.f64 a #s(literal -3 binary64) #s(literal 1 binary64)) (fma.f64 a a (pow.f64 a #s(literal 3 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 (*.f64 (*.f64 b b) (+.f64 #s(literal 1 binary64) b)) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) b)))))) #s(literal 1 binary64))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) (fma.f64 (*.f64 b b) (+.f64 b #s(literal 1 binary64)) (*.f64 (*.f64 a a) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -3 binary64) b))))) #s(literal 1 binary64)))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 #s(literal 4 binary64) (fma.f64 a (*.f64 a (+.f64 #s(literal 1 binary64) (*.f64 b #s(literal -3 binary64)))) (+.f64 (*.f64 b b) (pow.f64 b #s(literal 3 binary64)))) #s(literal -1 binary64)))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) (fma.f64 #s(literal 4 binary64) (fma.f64 a (*.f64 a (fma.f64 b #s(literal -3 binary64) #s(literal 1 binary64))) (fma.f64 b b (pow.f64 b #s(literal 3 binary64)))) #s(literal -1 binary64)))
(fma.f64 #s(literal 4 binary64) (fma.f64 a (*.f64 a (fma.f64 b #s(literal -3 binary64) #s(literal 1 binary64))) (fma.f64 b b (pow.f64 b #s(literal 3 binary64)))) (+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) #s(literal 2 binary64)) #s(literal -1 binary64)))
Symmetry

(abs b)

Compiler

Compiled 33 to 19 computations (42.4% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
69.5%
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (+.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64))
Compiler

Compiled 66 to 38 computations (42.4% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
11×+-commutative
10×neg-mul-1
unsub-neg
*-commutative
sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024121
145121
259121
370121
487121
5110121
6112121
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 (*.f64 (*.f64 a a) (+.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) 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 (*.f64 (*.f64 a a) (+.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) a)))))) #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 (*.f64 (*.f64 a a) (+.f64 a #s(literal 1 binary64))) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 a #s(literal 3 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 (*.f64 (*.f64 a a) (+.f64 a #s(literal 1 binary64))) (*.f64 (*.f64 b b) (-.f64 #s(literal 1 binary64) (*.f64 a #s(literal 3 binary64))))))) #s(literal -1 binary64))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 33 to 20 computations (39.4% saved)

preprocess20.0ms (0.6%)

Remove

(abs b)

Compiler

Compiled 264 to 158 computations (40.2% saved)

end0.0ms (0%)

Profiling

Loading profile data...