Difference of squares

Time bar (total: 2.1s)

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 10 to 6 computations (40% saved)

sample851.0ms (41.4%)

Results
472.0ms4680×body256valid
366.0ms3576×body256infinite
Bogosity

preprocess143.0ms (7%)

Algorithm
egg-herbie
Rules
4458×fma-def
1946×associate--l+
1530×associate--l-
1002×distribute-lft-in
836×distribute-rgt-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01595
15795
213695
336895
496995
5183195
6298695
7386595
8469295
9515895
10526395
11530995
12647595
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)))
(-.f64 (*.f64 b b) (*.f64 a a))
Outputs
(-.f64 (*.f64 a a) (*.f64 b b))
(fma.f64 a a (neg.f64 (*.f64 b b)))
(fma.f64 a a (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(fma.f64 a a (neg.f64 (*.f64 b b)))
(fma.f64 a a (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b))
(fma.f64 a a (neg.f64 (*.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)))
(fma.f64 a a (neg.f64 (*.f64 b b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(fma.f64 a a (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 b b) (*.f64 a a))
Symmetry

(abs a)

(abs b)

Compiler

Compiled 9 to 5 computations (44.4% saved)

eval0.0ms (0%)

Compiler

Compiled 16 to 8 computations (50% saved)

prune2.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
98.0%
(fma.f64 a a (*.f64 b (neg.f64 b)))
94.9%
(-.f64 (*.f64 a a) (*.f64 b b))
98.0%
(fma.f64 a a (*.f64 b (neg.f64 b)))
94.9%
(-.f64 (*.f64 a a) (*.f64 b b))
Compiler

Compiled 36 to 20 computations (44.4% saved)

localize45.0ms (2.2%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
98.0%
(fma.f64 a a (*.f64 b (neg.f64 b)))
95.3%
(-.f64 (*.f64 a a) (*.f64 b b))
Compiler

Compiled 33 to 9 computations (72.7% saved)

series3.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
a
@-inf
(fma.f64 a a (*.f64 b (neg.f64 b)))
0.0ms
a
@0
(-.f64 (*.f64 a a) (*.f64 b b))
0.0ms
a
@0
(fma.f64 a a (*.f64 b (neg.f64 b)))
0.0ms
b
@0
(-.f64 (*.f64 a a) (*.f64 b b))
0.0ms
a
@inf
(-.f64 (*.f64 a a) (*.f64 b b))

rewrite64.0ms (3.1%)

Algorithm
batch-egg-rewrite
Rules
1892×pow1
1746×add-exp-log
1744×log1p-expm1-u
1744×expm1-log1p-u
248×add-sqr-sqrt
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01238
125926
2323226
Stop Event
node limit
Counts
2 → 83
Calls
Call 1
Inputs
(-.f64 (*.f64 a a) (*.f64 b b))
(fma.f64 a a (*.f64 b (neg.f64 b)))
Outputs
(+.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 a a) (+.f64 (*.f64 b b) (fma.f64 b b (*.f64 b b))))
(+.f64 (*.f64 b b) (*.f64 a a))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 (*.f64 b b) 1 (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (pow.f64 b 4)) (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 a b) 2) (*.f64 (fma.f64 b b (*.f64 b b)) 1))
(+.f64 (pow.f64 (+.f64 a b) 2) (+.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 a b) 2))
(*.f64 (pow.f64 (+.f64 a b) 2) 1)
(*.f64 1 (pow.f64 (+.f64 a b) 2))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 a b) 2)) (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))))
(*.f64 (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (+.f64 a b) 2)))
(*.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (/.f64 1 (pow.f64 (+.f64 a b) 2)))
(*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(*.f64 (+.f64 a b) (+.f64 a b))
(/.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2)) (+.f64 (pow.f64 a 6) (pow.f64 b 6))))
(/.f64 1 (/.f64 (pow.f64 (+.f64 a b) 2) (+.f64 (pow.f64 a 4) (pow.f64 b 4))))
(/.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (+.f64 a b) 2))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2)))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6))) (neg.f64 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (neg.f64 (pow.f64 (+.f64 a b) 2)))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) (pow.f64 (fma.f64 b b (*.f64 b b)) 3)) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))) (*.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b))))))
(/.f64 (-.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b)))) (-.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b))))
(pow.f64 (pow.f64 (+.f64 a b) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (+.f64 a b) 2)) 3)
(pow.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) 1/3)
(pow.f64 (+.f64 a b) 2)
(sqrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(log.f64 (exp.f64 (pow.f64 (+.f64 a b) 2)))
(cbrt.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (+.f64 a b) 2)))
(exp.f64 (log.f64 (pow.f64 (+.f64 a b) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a b) 2)) 1))
(log1p.f64 (expm1.f64 (pow.f64 (+.f64 a b) 2)))
(fma.f64 a a (*.f64 b b))
(fma.f64 1 (*.f64 a a) (*.f64 b b))
(fma.f64 1 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b)))
(fma.f64 (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (+.f64 a b) 2)) (fma.f64 b b (*.f64 b b)))
(fma.f64 (cbrt.f64 (pow.f64 a 4)) (pow.f64 (cbrt.f64 a) 2) (*.f64 b b))
(fma.f64 (+.f64 a b) (+.f64 a b) (fma.f64 b b (*.f64 b b)))
(+.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 a a) (+.f64 (*.f64 b b) (fma.f64 b b (*.f64 b b))))
(+.f64 (*.f64 b b) (*.f64 a a))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 (*.f64 b b) 1 (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (pow.f64 b 4)) (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 a b) 2) (*.f64 (fma.f64 b b (*.f64 b b)) 1))
(+.f64 (pow.f64 (+.f64 a b) 2) (+.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 a b) 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(-.f64 (*.f64 a a) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 b b))))
(-.f64 (+.f64 1 (pow.f64 (+.f64 a b) 2)) 1)
(-.f64 (/.f64 (pow.f64 a 6) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))) (/.f64 (pow.f64 b 6) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(-.f64 (/.f64 (pow.f64 a 4) (pow.f64 (+.f64 a b) 2)) (/.f64 (pow.f64 b 4) (pow.f64 (+.f64 a b) 2)))
(*.f64 (pow.f64 (+.f64 a b) 2) 1)
(*.f64 1 (pow.f64 (+.f64 a b) 2))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 a b) 2)) (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))))
(*.f64 (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (+.f64 a b) 2)))
(*.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (/.f64 1 (pow.f64 (+.f64 a b) 2)))
(*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(*.f64 (+.f64 a b) (+.f64 a b))
(/.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2)) (+.f64 (pow.f64 a 6) (pow.f64 b 6))))
(/.f64 1 (/.f64 (pow.f64 (+.f64 a b) 2) (+.f64 (pow.f64 a 4) (pow.f64 b 4))))
(/.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (+.f64 a b) 2))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2)))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6))) (neg.f64 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (neg.f64 (pow.f64 (+.f64 a b) 2)))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) (pow.f64 (fma.f64 b b (*.f64 b b)) 3)) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))) (*.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b))))))
(/.f64 (-.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b)))) (-.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b))))
(pow.f64 (pow.f64 (+.f64 a b) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (+.f64 a b) 2)) 3)
(pow.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) 1/3)
(pow.f64 (+.f64 a b) 2)
(sqrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(log.f64 (exp.f64 (pow.f64 (+.f64 a b) 2)))
(cbrt.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (+.f64 a b) 2)))
(exp.f64 (log.f64 (pow.f64 (+.f64 a b) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a b) 2)) 1))
(log1p.f64 (expm1.f64 (pow.f64 (+.f64 a b) 2)))

simplify92.0ms (4.5%)

Algorithm
egg-herbie
Rules
1724×fma-neg
1620×times-frac
1362×fma-def
652×unswap-sqr
608×log-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01213781
12983607
213163491
371343491
Stop Event
node limit
Counts
131 → 89
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(pow.f64 a 2)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(pow.f64 a 2)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(pow.f64 a 2)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(*.f64 -1 (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(*.f64 -1 (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(*.f64 -1 (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(pow.f64 a 2)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(pow.f64 a 2)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(pow.f64 a 2)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(*.f64 -1 (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(*.f64 -1 (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 a a) (+.f64 (*.f64 b b) (fma.f64 b b (*.f64 b b))))
(+.f64 (*.f64 b b) (*.f64 a a))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 (*.f64 b b) 1 (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (pow.f64 b 4)) (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 a b) 2) (*.f64 (fma.f64 b b (*.f64 b b)) 1))
(+.f64 (pow.f64 (+.f64 a b) 2) (+.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 a b) 2))
(*.f64 (pow.f64 (+.f64 a b) 2) 1)
(*.f64 1 (pow.f64 (+.f64 a b) 2))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 a b) 2)) (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))))
(*.f64 (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (+.f64 a b) 2)))
(*.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (/.f64 1 (pow.f64 (+.f64 a b) 2)))
(*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(*.f64 (+.f64 a b) (+.f64 a b))
(/.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2)) (+.f64 (pow.f64 a 6) (pow.f64 b 6))))
(/.f64 1 (/.f64 (pow.f64 (+.f64 a b) 2) (+.f64 (pow.f64 a 4) (pow.f64 b 4))))
(/.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (+.f64 a b) 2))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2)))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6))) (neg.f64 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (neg.f64 (pow.f64 (+.f64 a b) 2)))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) (pow.f64 (fma.f64 b b (*.f64 b b)) 3)) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))) (*.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b))))))
(/.f64 (-.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b)))) (-.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b))))
(pow.f64 (pow.f64 (+.f64 a b) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (+.f64 a b) 2)) 3)
(pow.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) 1/3)
(pow.f64 (+.f64 a b) 2)
(sqrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(log.f64 (exp.f64 (pow.f64 (+.f64 a b) 2)))
(cbrt.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (+.f64 a b) 2)))
(exp.f64 (log.f64 (pow.f64 (+.f64 a b) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a b) 2)) 1))
(log1p.f64 (expm1.f64 (pow.f64 (+.f64 a b) 2)))
(fma.f64 a a (*.f64 b b))
(fma.f64 1 (*.f64 a a) (*.f64 b b))
(fma.f64 1 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b)))
(fma.f64 (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (+.f64 a b) 2)) (fma.f64 b b (*.f64 b b)))
(fma.f64 (cbrt.f64 (pow.f64 a 4)) (pow.f64 (cbrt.f64 a) 2) (*.f64 b b))
(fma.f64 (+.f64 a b) (+.f64 a b) (fma.f64 b b (*.f64 b b)))
(+.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 a a) (+.f64 (*.f64 b b) (fma.f64 b b (*.f64 b b))))
(+.f64 (*.f64 b b) (*.f64 a a))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 (*.f64 b b) 1 (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (pow.f64 b 4)) (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 a b) 2) (*.f64 (fma.f64 b b (*.f64 b b)) 1))
(+.f64 (pow.f64 (+.f64 a b) 2) (+.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 a b) 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(-.f64 (*.f64 a a) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 b b))))
(-.f64 (+.f64 1 (pow.f64 (+.f64 a b) 2)) 1)
(-.f64 (/.f64 (pow.f64 a 6) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))) (/.f64 (pow.f64 b 6) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(-.f64 (/.f64 (pow.f64 a 4) (pow.f64 (+.f64 a b) 2)) (/.f64 (pow.f64 b 4) (pow.f64 (+.f64 a b) 2)))
(*.f64 (pow.f64 (+.f64 a b) 2) 1)
(*.f64 1 (pow.f64 (+.f64 a b) 2))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 a b) 2)) (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))))
(*.f64 (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (+.f64 a b) 2)))
(*.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (/.f64 1 (pow.f64 (+.f64 a b) 2)))
(*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(*.f64 (+.f64 a b) (+.f64 a b))
(/.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2)) (+.f64 (pow.f64 a 6) (pow.f64 b 6))))
(/.f64 1 (/.f64 (pow.f64 (+.f64 a b) 2) (+.f64 (pow.f64 a 4) (pow.f64 b 4))))
(/.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (+.f64 a b) 2))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2)))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6))) (neg.f64 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (neg.f64 (pow.f64 (+.f64 a b) 2)))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) (pow.f64 (fma.f64 b b (*.f64 b b)) 3)) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))) (*.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b))))))
(/.f64 (-.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b)))) (-.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b))))
(pow.f64 (pow.f64 (+.f64 a b) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (+.f64 a b) 2)) 3)
(pow.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) 1/3)
(pow.f64 (+.f64 a b) 2)
(sqrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(log.f64 (exp.f64 (pow.f64 (+.f64 a b) 2)))
(cbrt.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (+.f64 a b) 2)))
(exp.f64 (log.f64 (pow.f64 (+.f64 a b) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a b) 2)) 1))
(log1p.f64 (expm1.f64 (pow.f64 (+.f64 a b) 2)))
Outputs
(*.f64 -1 (pow.f64 b 2))
(neg.f64 (*.f64 b b))
(*.f64 b (neg.f64 b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(pow.f64 a 2)
(*.f64 a a)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(pow.f64 a 2)
(*.f64 a a)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(pow.f64 a 2)
(*.f64 a a)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 -1 (pow.f64 b 2))
(neg.f64 (*.f64 b b))
(*.f64 b (neg.f64 b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 -1 (pow.f64 b 2))
(neg.f64 (*.f64 b b))
(*.f64 b (neg.f64 b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 -1 (pow.f64 b 2))
(neg.f64 (*.f64 b b))
(*.f64 b (neg.f64 b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(pow.f64 a 2)
(*.f64 a a)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(pow.f64 a 2)
(*.f64 a a)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(pow.f64 a 2)
(*.f64 a a)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 -1 (pow.f64 b 2))
(neg.f64 (*.f64 b b))
(*.f64 b (neg.f64 b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 -1 (pow.f64 b 2))
(neg.f64 (*.f64 b b))
(*.f64 b (neg.f64 b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 a a) (*.f64 b b))
(fma.f64 b b (*.f64 a a))
(+.f64 (*.f64 a a) (+.f64 (*.f64 b b) (fma.f64 b b (*.f64 b b))))
(fma.f64 a a (fma.f64 b b (fma.f64 b b (*.f64 b b))))
(fma.f64 a a (fma.f64 b b (*.f64 b (+.f64 b b))))
(fma.f64 a a (*.f64 (*.f64 b b) 3))
(+.f64 (*.f64 b b) (*.f64 a a))
(fma.f64 b b (*.f64 a a))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b)))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 b a) 2))
(+.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2))
(fma.f64 b (+.f64 b b) (pow.f64 (+.f64 b a) 2))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 (*.f64 b b) 1 (*.f64 b b)))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 b a) 2))
(+.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2))
(fma.f64 b (+.f64 b b) (pow.f64 (+.f64 b a) 2))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (pow.f64 b 4)) (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 b a) 2) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (pow.f64 b 4)) (*.f64 b b)))
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (pow.f64 b 4)) (fma.f64 b b (pow.f64 (+.f64 b a) 2)))
(+.f64 (pow.f64 (+.f64 a b) 2) (*.f64 (fma.f64 b b (*.f64 b b)) 1))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 b a) 2))
(+.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2))
(fma.f64 b (+.f64 b b) (pow.f64 (+.f64 b a) 2))
(+.f64 (pow.f64 (+.f64 a b) 2) (+.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))))
(+.f64 (pow.f64 (+.f64 b a) 2) (*.f64 2 (fma.f64 b b (*.f64 b b))))
(fma.f64 2 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2))
(+.f64 (pow.f64 (+.f64 b a) 2) (*.f64 (*.f64 b b) 4))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 a b) 2))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 b a) 2))
(+.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2))
(fma.f64 b (+.f64 b b) (pow.f64 (+.f64 b a) 2))
(*.f64 (pow.f64 (+.f64 a b) 2) 1)
(pow.f64 (+.f64 b a) 2)
(*.f64 1 (pow.f64 (+.f64 a b) 2))
(pow.f64 (+.f64 b a) 2)
(*.f64 (cbrt.f64 (pow.f64 (+.f64 a b) 2)) (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 b a) 2)) (cbrt.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4))))
(*.f64 (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (+.f64 a b) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 b a) 2)) (cbrt.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4))))
(*.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (/.f64 1 (pow.f64 (+.f64 a b) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) 1) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (+.f64 b a) 2))
(*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) 1) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2)))
(*.f64 (+.f64 a b) (+.f64 a b))
(pow.f64 (+.f64 b a) 2)
(/.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2)) (+.f64 (pow.f64 a 6) (pow.f64 b 6))))
(/.f64 (*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) 1) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2)))
(/.f64 1 (/.f64 (pow.f64 (+.f64 a b) 2) (+.f64 (pow.f64 a 4) (pow.f64 b 4))))
(/.f64 (*.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) 1) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (+.f64 a b) 2))
(/.f64 (*.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) 1) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) 1) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2)))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 b 4) (-.f64 (pow.f64 a 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6))) (neg.f64 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) 1) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2)))
(/.f64 (neg.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (neg.f64 (pow.f64 (+.f64 a b) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) 1) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) (pow.f64 (fma.f64 b b (*.f64 b b)) 3)) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))) (*.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b))))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 b a) 2) 3) (pow.f64 (fma.f64 b b (*.f64 b b)) 3)) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (fma.f64 b b (*.f64 b b)) (-.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 b a) 2))))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 b a) 2) 3) (pow.f64 (*.f64 b (+.f64 b b)) 3)) (fma.f64 (*.f64 b (+.f64 b b)) (-.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2)) (+.f64 (pow.f64 b 4) (pow.f64 a 4))))
(/.f64 (+.f64 (pow.f64 (+.f64 b a) 6) (*.f64 8 (pow.f64 (*.f64 b b) 3))) (+.f64 (pow.f64 b 4) (fma.f64 (*.f64 b (+.f64 b b)) (-.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2)) (pow.f64 a 4))))
(/.f64 (-.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b)))) (-.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b))))
(/.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))))) (-.f64 (pow.f64 (+.f64 b a) 2) (fma.f64 b b (*.f64 b b))))
(/.f64 (-.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (*.f64 b (+.f64 b b)) (*.f64 b (+.f64 b b)))) (-.f64 (pow.f64 (+.f64 b a) 2) (*.f64 b (+.f64 b b))))
(/.f64 (-.f64 (pow.f64 b 4) (-.f64 (*.f64 4 (pow.f64 b 4)) (pow.f64 a 4))) (+.f64 (pow.f64 (+.f64 b a) 2) (*.f64 (*.f64 b b) -2)))
(pow.f64 (pow.f64 (+.f64 a b) 2) 1)
(pow.f64 (+.f64 b a) 2)
(pow.f64 (cbrt.f64 (pow.f64 (+.f64 a b) 2)) 3)
(pow.f64 (+.f64 b a) 2)
(pow.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) 1/3)
(pow.f64 (+.f64 b a) 2)
(pow.f64 (+.f64 a b) 2)
(pow.f64 (+.f64 b a) 2)
(sqrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(sqrt.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(hypot.f64 (*.f64 a a) (*.f64 b b))
(log.f64 (exp.f64 (pow.f64 (+.f64 a b) 2)))
(pow.f64 (+.f64 b a) 2)
(cbrt.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3))
(pow.f64 (+.f64 b a) 2)
(expm1.f64 (log1p.f64 (pow.f64 (+.f64 a b) 2)))
(pow.f64 (+.f64 b a) 2)
(exp.f64 (log.f64 (pow.f64 (+.f64 a b) 2)))
(pow.f64 (+.f64 b a) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a b) 2)) 1))
(pow.f64 (+.f64 b a) 2)
(log1p.f64 (expm1.f64 (pow.f64 (+.f64 a b) 2)))
(pow.f64 (+.f64 b a) 2)
(fma.f64 a a (*.f64 b b))
(fma.f64 b b (*.f64 a a))
(fma.f64 1 (*.f64 a a) (*.f64 b b))
(fma.f64 b b (*.f64 a a))
(fma.f64 1 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b)))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 b a) 2))
(+.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2))
(fma.f64 b (+.f64 b b) (pow.f64 (+.f64 b a) 2))
(fma.f64 (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (+.f64 a b) 2)) (fma.f64 b b (*.f64 b b)))
(fma.f64 (cbrt.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4))) (cbrt.f64 (pow.f64 (+.f64 b a) 2)) (fma.f64 b b (*.f64 b b)))
(fma.f64 (cbrt.f64 (pow.f64 (+.f64 b a) 2)) (cbrt.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4))) (*.f64 b (+.f64 b b)))
(fma.f64 b (+.f64 b b) (*.f64 (cbrt.f64 (pow.f64 (+.f64 b a) 2)) (cbrt.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)))))
(fma.f64 (cbrt.f64 (pow.f64 a 4)) (pow.f64 (cbrt.f64 a) 2) (*.f64 b b))
(fma.f64 b b (*.f64 (cbrt.f64 (pow.f64 a 4)) (pow.f64 (cbrt.f64 a) 2)))
(fma.f64 (+.f64 a b) (+.f64 a b) (fma.f64 b b (*.f64 b b)))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 b a) 2))
(+.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2))
(fma.f64 b (+.f64 b b) (pow.f64 (+.f64 b a) 2))
(+.f64 (*.f64 a a) (*.f64 b b))
(fma.f64 b b (*.f64 a a))
(+.f64 (*.f64 a a) (+.f64 (*.f64 b b) (fma.f64 b b (*.f64 b b))))
(fma.f64 a a (fma.f64 b b (fma.f64 b b (*.f64 b b))))
(fma.f64 a a (fma.f64 b b (*.f64 b (+.f64 b b))))
(fma.f64 a a (*.f64 (*.f64 b b) 3))
(+.f64 (*.f64 b b) (*.f64 a a))
(fma.f64 b b (*.f64 a a))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b)))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 b a) 2))
(+.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2))
(fma.f64 b (+.f64 b b) (pow.f64 (+.f64 b a) 2))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 (*.f64 b b) 1 (*.f64 b b)))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 b a) 2))
(+.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2))
(fma.f64 b (+.f64 b b) (pow.f64 (+.f64 b a) 2))
(+.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (pow.f64 b 4)) (*.f64 b b)))
(+.f64 (pow.f64 (+.f64 b a) 2) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (pow.f64 b 4)) (*.f64 b b)))
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (pow.f64 b 4)) (fma.f64 b b (pow.f64 (+.f64 b a) 2)))
(+.f64 (pow.f64 (+.f64 a b) 2) (*.f64 (fma.f64 b b (*.f64 b b)) 1))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 b a) 2))
(+.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2))
(fma.f64 b (+.f64 b b) (pow.f64 (+.f64 b a) 2))
(+.f64 (pow.f64 (+.f64 a b) 2) (+.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))))
(+.f64 (pow.f64 (+.f64 b a) 2) (*.f64 2 (fma.f64 b b (*.f64 b b))))
(fma.f64 2 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2))
(+.f64 (pow.f64 (+.f64 b a) 2) (*.f64 (*.f64 b b) 4))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 a b) 2))
(+.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 b a) 2))
(+.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2))
(fma.f64 b (+.f64 b b) (pow.f64 (+.f64 b a) 2))
(-.f64 (*.f64 a a) (*.f64 b b))
(-.f64 (*.f64 a a) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 b b))))
(fma.f64 b b (*.f64 a a))
(-.f64 (+.f64 1 (pow.f64 (+.f64 a b) 2)) 1)
(pow.f64 (+.f64 b a) 2)
(-.f64 (/.f64 (pow.f64 a 6) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))) (/.f64 (pow.f64 b 6) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(-.f64 (/.f64 (pow.f64 a 6) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2)))) (/.f64 (pow.f64 b 6) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2)))))
(-.f64 (/.f64 (pow.f64 a 6) (+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2))) (/.f64 (pow.f64 b 6) (+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2))))
(-.f64 (/.f64 (pow.f64 a 4) (pow.f64 (+.f64 a b) 2)) (/.f64 (pow.f64 b 4) (pow.f64 (+.f64 a b) 2)))
(-.f64 (/.f64 (pow.f64 a 4) (pow.f64 (+.f64 b a) 2)) (/.f64 (pow.f64 b 4) (pow.f64 (+.f64 b a) 2)))
(*.f64 (pow.f64 (+.f64 a b) 2) 1)
(pow.f64 (+.f64 b a) 2)
(*.f64 1 (pow.f64 (+.f64 a b) 2))
(pow.f64 (+.f64 b a) 2)
(*.f64 (cbrt.f64 (pow.f64 (+.f64 a b) 2)) (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 b a) 2)) (cbrt.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4))))
(*.f64 (cbrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (+.f64 a b) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 b a) 2)) (cbrt.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4))))
(*.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (/.f64 1 (pow.f64 (+.f64 a b) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) 1) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (+.f64 b a) 2))
(*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) 1) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2)))
(*.f64 (+.f64 a b) (+.f64 a b))
(pow.f64 (+.f64 b a) 2)
(/.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2)) (+.f64 (pow.f64 a 6) (pow.f64 b 6))))
(/.f64 (*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) 1) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2)))
(/.f64 1 (/.f64 (pow.f64 (+.f64 a b) 2) (+.f64 (pow.f64 a 4) (pow.f64 b 4))))
(/.f64 (*.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) 1) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (+.f64 a b) 2))
(/.f64 (*.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) 1) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) 1) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2)))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 b 4) (-.f64 (pow.f64 a 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6))) (neg.f64 (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (*.f64 a b) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) 1) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))))
(/.f64 (+.f64 (pow.f64 a 6) (pow.f64 b 6)) (+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2)))
(/.f64 (neg.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (neg.f64 (pow.f64 (+.f64 a b) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) 1) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (+.f64 b a) 2))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) (pow.f64 (fma.f64 b b (*.f64 b b)) 3)) (+.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))) (*.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b))))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 b a) 2) 3) (pow.f64 (fma.f64 b b (*.f64 b b)) 3)) (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (fma.f64 b b (*.f64 b b)) (-.f64 (fma.f64 b b (*.f64 b b)) (pow.f64 (+.f64 b a) 2))))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 b a) 2) 3) (pow.f64 (*.f64 b (+.f64 b b)) 3)) (fma.f64 (*.f64 b (+.f64 b b)) (-.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2)) (+.f64 (pow.f64 b 4) (pow.f64 a 4))))
(/.f64 (+.f64 (pow.f64 (+.f64 b a) 6) (*.f64 8 (pow.f64 (*.f64 b b) 3))) (+.f64 (pow.f64 b 4) (fma.f64 (*.f64 b (+.f64 b b)) (-.f64 (*.f64 b (+.f64 b b)) (pow.f64 (+.f64 b a) 2)) (pow.f64 a 4))))
(/.f64 (-.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)) (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b)))) (-.f64 (pow.f64 (+.f64 a b) 2) (fma.f64 b b (*.f64 b b))))
(/.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (*.f64 (fma.f64 b b (*.f64 b b)) (fma.f64 b b (*.f64 b b))))) (-.f64 (pow.f64 (+.f64 b a) 2) (fma.f64 b b (*.f64 b b))))
(/.f64 (-.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (*.f64 b (+.f64 b b)) (*.f64 b (+.f64 b b)))) (-.f64 (pow.f64 (+.f64 b a) 2) (*.f64 b (+.f64 b b))))
(/.f64 (-.f64 (pow.f64 b 4) (-.f64 (*.f64 4 (pow.f64 b 4)) (pow.f64 a 4))) (+.f64 (pow.f64 (+.f64 b a) 2) (*.f64 (*.f64 b b) -2)))
(pow.f64 (pow.f64 (+.f64 a b) 2) 1)
(pow.f64 (+.f64 b a) 2)
(pow.f64 (cbrt.f64 (pow.f64 (+.f64 a b) 2)) 3)
(pow.f64 (+.f64 b a) 2)
(pow.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) 1/3)
(pow.f64 (+.f64 b a) 2)
(pow.f64 (+.f64 a b) 2)
(pow.f64 (+.f64 b a) 2)
(sqrt.f64 (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(sqrt.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(hypot.f64 (*.f64 a a) (*.f64 b b))
(log.f64 (exp.f64 (pow.f64 (+.f64 a b) 2)))
(pow.f64 (+.f64 b a) 2)
(cbrt.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3))
(pow.f64 (+.f64 b a) 2)
(expm1.f64 (log1p.f64 (pow.f64 (+.f64 a b) 2)))
(pow.f64 (+.f64 b a) 2)
(exp.f64 (log.f64 (pow.f64 (+.f64 a b) 2)))
(pow.f64 (+.f64 b a) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a b) 2)) 1))
(pow.f64 (+.f64 b a) 2)
(log1p.f64 (expm1.f64 (pow.f64 (+.f64 a b) 2)))
(pow.f64 (+.f64 b a) 2)

eval28.0ms (1.4%)

Compiler

Compiled 1380 to 696 computations (49.6% saved)

prune13.0ms (0.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New87289
Fresh000
Picked112
Done000
Total88391
Accuracy
100.0%
Counts
91 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.9%
(-.f64 (*.f64 a a) (*.f64 b b))
52.2%
(*.f64 b (neg.f64 b))
54.7%
(*.f64 a a)
94.9%
(-.f64 (*.f64 a a) (*.f64 b b))
52.2%
(*.f64 b (neg.f64 b))
54.7%
(*.f64 a a)
Compiler

Compiled 40 to 24 computations (40% saved)

localize25.0ms (1.2%)

Compiler

Compiled 14 to 6 computations (57.1% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done011
Total033
Accuracy
100.0%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.9%
(-.f64 (*.f64 a a) (*.f64 b b))
52.2%
(*.f64 b (neg.f64 b))
54.7%
(*.f64 a a)
Compiler

Compiled 43 to 20 computations (53.5% saved)

regimes21.0ms (1%)

Counts
4 → 2
Calls
Call 1
Inputs
(*.f64 a a)
(*.f64 b (neg.f64 b))
(-.f64 (*.f64 a a) (*.f64 b b))
(fma.f64 a a (*.f64 b (neg.f64 b)))
Outputs
(fma.f64 a a (*.f64 b (neg.f64 b)))
(*.f64 a a)
Calls

5 calls:

7.0ms
a
4.0ms
b
3.0ms
(-.f64 (*.f64 a a) (*.f64 b b))
3.0ms
(*.f64 b b)
3.0ms
(*.f64 a a)
Results
AccuracySegmentsBranch
100.0%2a
98.0%1b
98.0%1(-.f64 (*.f64 a a) (*.f64 b b))
98.0%1(*.f64 a a)
98.0%1(*.f64 b b)
Compiler

Compiled 48 to 23 computations (52.1% saved)

regimes34.0ms (1.6%)

Counts
3 → 2
Calls
Call 1
Inputs
(*.f64 a a)
(*.f64 b (neg.f64 b))
(-.f64 (*.f64 a a) (*.f64 b b))
Outputs
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (neg.f64 b))
Calls

5 calls:

8.0ms
(*.f64 b b)
8.0ms
a
6.0ms
b
6.0ms
(-.f64 (*.f64 a a) (*.f64 b b))
5.0ms
(*.f64 a a)
Results
AccuracySegmentsBranch
98.0%2b
98.0%2(-.f64 (*.f64 a a) (*.f64 b b))
96.9%2(*.f64 a a)
98.0%2(*.f64 b b)
96.9%2a
Compiler

Compiled 41 to 22 computations (46.3% saved)

regimes46.0ms (2.3%)

Counts
2 → 4
Calls
Call 1
Inputs
(*.f64 a a)
(*.f64 b (neg.f64 b))
Outputs
(*.f64 b (neg.f64 b))
(*.f64 a a)
(*.f64 b (neg.f64 b))
(*.f64 a a)
Calls

3 calls:

18.0ms
b
15.0ms
a
12.0ms
(*.f64 a a)
Results
AccuracySegmentsBranch
82.7%4a
82.7%4(*.f64 a a)
81.5%6b
Compiler

Compiled 20 to 12 computations (40% saved)

regimes9.0ms (0.4%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 a a)
Outputs
(*.f64 a a)
Calls

3 calls:

3.0ms
a
3.0ms
b
2.0ms
(*.f64 a a)
Results
AccuracySegmentsBranch
54.7%1b
54.7%1a
54.7%1(*.f64 a a)
Compiler

Compiled 16 to 10 computations (37.5% saved)

bsearch3.0ms (0.2%)

Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
3.0ms
6.592950407290411e+251
3.3568819208875326e+255
Results
3.0ms32×body256infinite
Compiler

Compiled 46 to 29 computations (37% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.8719928239727753e+298
2.382077319304087e+299
Compiler

Compiled 14 to 9 computations (35.7% saved)

bsearch38.0ms (1.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
1.6761418631616564e+116
3.3283584448116943e+118
10.0ms
20684955.94667598
115068924.59446803
17.0ms
9.802734669623903e-149
3.2525578819557476e-127
Results
26.0ms300×body256valid
8.0ms84×body256infinite
Compiler

Compiled 278 to 201 computations (27.7% saved)

simplify9.0ms (0.4%)

Algorithm
egg-herbie
Rules
sub-neg
+-commutative
*-commutative
not-or
neg-mul-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
030168
144164
252164
358160
460160
561160
Stop Event
done
saturated
Calls
Call 1
Inputs
(if (<=.f64 a 49999999999999996817935346888379588682128536637850367824197203616790781390263537744466934972934737889905175913047028462275753320826571678718861312047100027800908598513606192840644312187019991381769159869603315753887179791468998581205839848470245141381120) (fma.f64 a a (*.f64 b (neg.f64 b))) (*.f64 a a))
(if (<=.f64 (*.f64 b b) 50000000000000002625238012760221012435223429055407957745792705775590122899445409789318568754022393202185222191644193908847126161768021528782239609239335349142419360046328790186891511689739404502968447661748539997254055951948382044003732637139007124728962939441002842141905783473609819343272970027008) (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 b (neg.f64 b)))
(if (<=.f64 (*.f64 a a) 4525135176355627/837987995621412318723376562387865382967460363787024586107722590232610251879596686050117143635431464230626991136655378178359617675746660621652103062880256) (*.f64 b (neg.f64 b)) (if (<=.f64 (*.f64 a a) 108000000) (*.f64 a a) (if (<=.f64 (*.f64 a a) 2399999999999999897358552324607660098403540817082780057484605815868405143546094877598972987036054788118051744607371264) (*.f64 b (neg.f64 b)) (*.f64 a a))))
(*.f64 a a)
Outputs
(if (<=.f64 a 49999999999999996817935346888379588682128536637850367824197203616790781390263537744466934972934737889905175913047028462275753320826571678718861312047100027800908598513606192840644312187019991381769159869603315753887179791468998581205839848470245141381120) (fma.f64 a a (*.f64 b (neg.f64 b))) (*.f64 a a))
(if (<=.f64 (*.f64 b b) 50000000000000002625238012760221012435223429055407957745792705775590122899445409789318568754022393202185222191644193908847126161768021528782239609239335349142419360046328790186891511689739404502968447661748539997254055951948382044003732637139007124728962939441002842141905783473609819343272970027008) (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 b (neg.f64 b)))
(if (<=.f64 (*.f64 a a) 4525135176355627/837987995621412318723376562387865382967460363787024586107722590232610251879596686050117143635431464230626991136655378178359617675746660621652103062880256) (*.f64 b (neg.f64 b)) (if (<=.f64 (*.f64 a a) 108000000) (*.f64 a a) (if (<=.f64 (*.f64 a a) 2399999999999999897358552324607660098403540817082780057484605815868405143546094877598972987036054788118051744607371264) (*.f64 b (neg.f64 b)) (*.f64 a a))))
(if (or (<=.f64 (*.f64 a a) 4525135176355627/837987995621412318723376562387865382967460363787024586107722590232610251879596686050117143635431464230626991136655378178359617675746660621652103062880256) (not (or (<=.f64 (*.f64 a a) 108000000) (not (<=.f64 (*.f64 a a) 2399999999999999897358552324607660098403540817082780057484605815868405143546094877598972987036054788118051744607371264))))) (*.f64 b (neg.f64 b)) (*.f64 a a))
(if (or (<=.f64 (*.f64 a a) 4525135176355627/837987995621412318723376562387865382967460363787024586107722590232610251879596686050117143635431464230626991136655378178359617675746660621652103062880256) (and (not (<=.f64 (*.f64 a a) 108000000)) (<=.f64 (*.f64 a a) 2399999999999999897358552324607660098403540817082780057484605815868405143546094877598972987036054788118051744607371264))) (*.f64 b (neg.f64 b)) (*.f64 a a))
(*.f64 a a)
Compiler

Compiled 68 to 37 computations (45.6% saved)

soundness562.0ms (27.4%)

Rules
4458×fma-def
1946×associate--l+
1724×fma-neg
1724×fma-neg
1620×times-frac
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01595
15795
213695
336895
496995
5183195
6298695
7386595
8469295
9515895
10526395
11530995
12647595
01213781
12983607
213163491
371343491
01213781
12983607
213163491
371343491
Stop Event
node limit
node limit
node limit
Compiler

Compiled 61 to 28 computations (54.1% saved)

end0.0ms (0%)

preprocess60.0ms (2.9%)

Remove

(abs b)

Compiler

Compiled 256 to 122 computations (52.3% saved)

Profiling

Loading profile data...