Expanding a square

Time bar (total: 2.8s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 11 to 9 computations (18.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample1.4s (50.9%)

Results
271.0ms2998×256valid
385.0ms2078×1024valid
427.0ms1995×256infinite
158.0ms1043×512valid
31.0ms141×2048valid
0.0ms1024valid
Precisions
Click to see histograms. Total time spent on operations: 588.0ms
Operation ival-sub, time spent: 271.0ms, 46.0% of total-time
Operation ival-add, time spent: 169.0ms, 29.0% of total-time
Operation ival-mult, time spent: 114.0ms, 19.0% of total-time
Operation const, time spent: 35.0ms, 6.0% of total-time
Bogosity

preprocess442.0ms (15.9%)

Algorithm
egg-herbie
Rules
3207×fma-neg
1104×unsub-neg
506×distribute-neg-in
429×sub-neg
304×fma-define
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1310-0-(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
00-0-x
00-0-#s(literal 1 binary64)
00-0-(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
00-0-(+.f64 x #s(literal 1 binary64))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
015128
151108
214688
348876
4217776
5379276
6493976
7578876
8621376
9645376
10645676
11645676
12657776
13666476
14683776
15683776
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
(-.f64 (*.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (+.f64 (neg.f64 x) #s(literal 1 binary64))) #s(literal 1 binary64))
(neg.f64 (-.f64 (*.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (+.f64 (neg.f64 x) #s(literal 1 binary64))) #s(literal 1 binary64)))
Outputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
(fma.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)) #s(literal -1 binary64))
(*.f64 (+.f64 x #s(literal 2 binary64)) (+.f64 x #s(literal 0 binary64)))
(*.f64 x (+.f64 x #s(literal 2 binary64)))
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
(fma.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)) #s(literal -1 binary64))
(*.f64 (+.f64 x #s(literal 2 binary64)) (+.f64 x #s(literal 0 binary64)))
(*.f64 x (+.f64 x #s(literal 2 binary64)))
(-.f64 (*.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (+.f64 (neg.f64 x) #s(literal 1 binary64))) #s(literal 1 binary64))
(fma.f64 (+.f64 #s(literal 1 binary64) (neg.f64 x)) (+.f64 #s(literal 1 binary64) (neg.f64 x)) #s(literal -1 binary64))
(fma.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x) #s(literal -1 binary64))
(*.f64 (neg.f64 x) (-.f64 #s(literal 2 binary64) x))
(*.f64 x (+.f64 x #s(literal -2 binary64)))
(neg.f64 (-.f64 (*.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (+.f64 (neg.f64 x) #s(literal 1 binary64))) #s(literal 1 binary64)))
(neg.f64 (fma.f64 (+.f64 #s(literal 1 binary64) (neg.f64 x)) (+.f64 #s(literal 1 binary64) (neg.f64 x)) #s(literal -1 binary64)))
(neg.f64 (fma.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x) #s(literal -1 binary64)))
(*.f64 (neg.f64 x) (neg.f64 (-.f64 #s(literal 2 binary64) x)))
(*.f64 x (-.f64 #s(literal 2 binary64) x))
Compiler

Compiled 56 to 42 computations (25% saved)

Precisions
Click to see histograms. Total time spent on operations: 50.0ms
Operation ival-add, time spent: 30.0ms, 60.0% of total-time
Operation ival-mult, time spent: 12.0ms, 24.0% of total-time
Operation const, time spent: 4.0ms, 8.0% of total-time
Operation ival-sub, time spent: 4.0ms, 8.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 21 to 15 computations (28.6% saved)

prune3.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 x (+.f64 x #s(literal 2 binary64)))
Compiler

Compiled 6 to 4 computations (33.3% saved)

localize24.0ms (0.9%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 x (+.f64 x #s(literal 2 binary64)))
Compiler

Compiled 12 to 8 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
Operation ival-add, time spent: 3.0ms, 55.0% of total-time
Operation ival-mult, time spent: 2.0ms, 36.0% of total-time
Operation const, time spent: 1.0ms, 18.0% of total-time

series2.0ms (0.1%)

Counts
1 → 12
Calls
Call 1
Inputs
#<alt (*.f64 x (+.f64 x #s(literal 2 binary64)))>
Outputs
#<alt (*.f64 #s(literal 2 binary64) x)>
#<alt (*.f64 x (+.f64 #s(literal 2 binary64) x))>
#<alt (*.f64 x (+.f64 #s(literal 2 binary64) x))>
#<alt (*.f64 x (+.f64 #s(literal 2 binary64) x))>
#<alt (pow.f64 x #s(literal 2 binary64))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))>
#<alt (pow.f64 x #s(literal 2 binary64))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))>
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(* x (+ x 2))
0.0ms
x
@inf
(* x (+ x 2))
0.0ms
x
@0
(* x (+ x 2))

rewrite168.0ms (6.1%)

Algorithm
batch-egg-rewrite
Rules
396×log1p-expm1-u
396×expm1-log1p-u
377×add-exp-log
366×add-log-exp
364×add-cube-cbrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
18319
2108619
Stop Event
node limit
Counts
1 → 47
Calls
Call 1
Inputs
(*.f64 x (+.f64 x #s(literal 2 binary64)))
Outputs
(+.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64)))
(+.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 1 binary64)))
(+.f64 (*.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(+.f64 #s(literal 0 binary64) (*.f64 x (+.f64 x #s(literal 2 binary64))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) x) (+.f64 x #s(literal 2 binary64))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x #s(literal 2 binary64))) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x #s(literal 2 binary64))) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x #s(literal 2 binary64))) x))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 x #s(literal 2 binary64)))) #s(literal 1 binary64))
(/.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64))) (+.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (pow.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))))))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))))
(/.f64 (*.f64 x (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64))) (-.f64 (fma.f64 x x #s(literal 4 binary64)) (*.f64 x #s(literal 2 binary64))))
(/.f64 (*.f64 x (fma.f64 x x #s(literal -4 binary64))) (+.f64 x #s(literal -2 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64)) x) (-.f64 (fma.f64 x x #s(literal 4 binary64)) (*.f64 x #s(literal 2 binary64))))
(/.f64 (*.f64 (fma.f64 x x #s(literal -4 binary64)) x) (+.f64 x #s(literal -2 binary64)))
(pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))) (sqrt.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))))
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 2 binary64)))
(log.f64 (pow.f64 (exp.f64 (+.f64 x #s(literal 2 binary64))) x))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))
(exp.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))) #s(literal 2 binary64)))
(fma.f64 x x (*.f64 x #s(literal 2 binary64)))
(fma.f64 x #s(literal 2 binary64) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 #s(literal 2 binary64) x (pow.f64 x #s(literal 2 binary64)))
(fma.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 x) #s(literal 4 binary64)) (*.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (*.f64 (cbrt.f64 x) #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1 binary64) (*.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 1 binary64)))
(fma.f64 (sqrt.f64 x) (pow.f64 x #s(literal 3/2 binary64)) (*.f64 x #s(literal 2 binary64)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 x #s(literal 3/2 binary64)) (sqrt.f64 x) (*.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 4 binary64)) (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64)) (cbrt.f64 (*.f64 x #s(literal 2 binary64))) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 5 binary64)) (cbrt.f64 x) (*.f64 x #s(literal 2 binary64)))
(fma.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (cbrt.f64 x) #s(literal 2 binary64))) (cbrt.f64 x) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (sqrt.f64 x) (pow.f64 x #s(literal 2 binary64)))

simplify89.0ms (3.2%)

Algorithm
egg-herbie
Rules
843×times-frac
327×fma-define
281×associate-*r*
273×fma-neg
268×prod-exp
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01431441
12861437
26511409
329351407
465571407
Stop Event
node limit
Counts
59 → 66
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) x)
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(pow.f64 x #s(literal 2 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))
(pow.f64 x #s(literal 2 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))
(+.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64)))
(+.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 1 binary64)))
(+.f64 (*.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(+.f64 #s(literal 0 binary64) (*.f64 x (+.f64 x #s(literal 2 binary64))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) x) (+.f64 x #s(literal 2 binary64))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x #s(literal 2 binary64))) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x #s(literal 2 binary64))) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x #s(literal 2 binary64))) x))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 x #s(literal 2 binary64)))) #s(literal 1 binary64))
(/.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64))) (+.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (pow.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))))))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))))
(/.f64 (*.f64 x (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64))) (-.f64 (fma.f64 x x #s(literal 4 binary64)) (*.f64 x #s(literal 2 binary64))))
(/.f64 (*.f64 x (fma.f64 x x #s(literal -4 binary64))) (+.f64 x #s(literal -2 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64)) x) (-.f64 (fma.f64 x x #s(literal 4 binary64)) (*.f64 x #s(literal 2 binary64))))
(/.f64 (*.f64 (fma.f64 x x #s(literal -4 binary64)) x) (+.f64 x #s(literal -2 binary64)))
(pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))) (sqrt.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))))
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 2 binary64)))
(log.f64 (pow.f64 (exp.f64 (+.f64 x #s(literal 2 binary64))) x))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))
(exp.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))) #s(literal 2 binary64)))
(fma.f64 x x (*.f64 x #s(literal 2 binary64)))
(fma.f64 x #s(literal 2 binary64) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 #s(literal 2 binary64) x (pow.f64 x #s(literal 2 binary64)))
(fma.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 x) #s(literal 4 binary64)) (*.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (*.f64 (cbrt.f64 x) #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1 binary64) (*.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 1 binary64)))
(fma.f64 (sqrt.f64 x) (pow.f64 x #s(literal 3/2 binary64)) (*.f64 x #s(literal 2 binary64)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 x #s(literal 3/2 binary64)) (sqrt.f64 x) (*.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 4 binary64)) (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64)) (cbrt.f64 (*.f64 x #s(literal 2 binary64))) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 5 binary64)) (cbrt.f64 x) (*.f64 x #s(literal 2 binary64)))
(fma.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (cbrt.f64 x) #s(literal 2 binary64))) (cbrt.f64 x) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (sqrt.f64 x) (pow.f64 x #s(literal 2 binary64)))
Outputs
(*.f64 #s(literal 2 binary64) x)
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(pow.f64 x #s(literal 2 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(pow.f64 x #s(literal 2 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(+.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(+.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(+.f64 (*.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(+.f64 #s(literal 0 binary64) (*.f64 x (+.f64 x #s(literal 2 binary64))))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) x) (+.f64 x #s(literal 2 binary64))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x #s(literal 2 binary64))) x))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) x) (+.f64 #s(literal 2 binary64) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 #s(literal 2 binary64) x)) x))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) x) (+.f64 #s(literal 2 binary64) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 #s(literal 2 binary64) x)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x #s(literal 2 binary64))) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x #s(literal 2 binary64))) x))))
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 #s(literal 2 binary64) x)) x))))
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 #s(literal 2 binary64) x)))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 x #s(literal 2 binary64)))) #s(literal 1 binary64))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(/.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64))) (+.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (pow.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64))) (+.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 2 binary64)) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 x #s(literal 6 binary64))) (+.f64 (pow.f64 x #s(literal 4 binary64)) (+.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -2 binary64)))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 x #s(literal 6 binary64))) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 x #s(literal -2 binary64)))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 x #s(literal 6 binary64))) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 4 binary64) (*.f64 x (+.f64 x #s(literal -2 binary64))))))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(/.f64 (*.f64 x (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64))) (-.f64 (fma.f64 x x #s(literal 4 binary64)) (*.f64 x #s(literal 2 binary64))))
(*.f64 x (/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64)) (-.f64 (fma.f64 x x #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64)) (/.f64 x (+.f64 (fma.f64 x x #s(literal 4 binary64)) (*.f64 x #s(literal -2 binary64)))))
(/.f64 (fma.f64 x #s(literal 8 binary64) (pow.f64 x #s(literal 4 binary64))) (+.f64 #s(literal 4 binary64) (*.f64 x (+.f64 x #s(literal -2 binary64)))))
(/.f64 (*.f64 x (fma.f64 x x #s(literal -4 binary64))) (+.f64 x #s(literal -2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64)) x) (-.f64 (fma.f64 x x #s(literal 4 binary64)) (*.f64 x #s(literal 2 binary64))))
(*.f64 x (/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64)) (-.f64 (fma.f64 x x #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 8 binary64)) (/.f64 x (+.f64 (fma.f64 x x #s(literal 4 binary64)) (*.f64 x #s(literal -2 binary64)))))
(/.f64 (fma.f64 x #s(literal 8 binary64) (pow.f64 x #s(literal 4 binary64))) (+.f64 #s(literal 4 binary64) (*.f64 x (+.f64 x #s(literal -2 binary64)))))
(/.f64 (*.f64 (fma.f64 x x #s(literal -4 binary64)) x) (+.f64 x #s(literal -2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 1 binary64))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))) #s(literal 3 binary64))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(pow.f64 (pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(pow.f64 (pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))) #s(literal 2 binary64))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(pow.f64 (E.f64) (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (+.f64 #s(literal 2 binary64) x)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 x (+.f64 #s(literal 2 binary64) x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))) (sqrt.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (+.f64 #s(literal 2 binary64) x))))) (sqrt.f64 (log.f64 (*.f64 x (+.f64 #s(literal 2 binary64) x)))))
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(log.f64 (pow.f64 (exp.f64 (+.f64 x #s(literal 2 binary64))) x))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))) #s(literal 3 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(exp.f64 (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64)))))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))) #s(literal 3 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))) #s(literal 1/3 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 x #s(literal 2 binary64))))) #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 x x (*.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 x #s(literal 2 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 #s(literal 2 binary64) x (pow.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 #s(literal 1 binary64) (*.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 x) #s(literal 4 binary64)) (*.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (*.f64 (cbrt.f64 x) #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1 binary64) (*.f64 (*.f64 x #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 (sqrt.f64 x) (pow.f64 x #s(literal 3/2 binary64)) (*.f64 x #s(literal 2 binary64)))
(fma.f64 (sqrt.f64 x) (pow.f64 x #s(literal 3/2 binary64)) (*.f64 #s(literal 2 binary64) x))
(fma.f64 #s(literal 2 binary64) x (*.f64 (sqrt.f64 x) (pow.f64 x #s(literal 3/2 binary64))))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 (pow.f64 x #s(literal 3/2 binary64)) (sqrt.f64 x) (*.f64 x #s(literal 2 binary64)))
(fma.f64 (sqrt.f64 x) (pow.f64 x #s(literal 3/2 binary64)) (*.f64 #s(literal 2 binary64) x))
(fma.f64 #s(literal 2 binary64) x (*.f64 (sqrt.f64 x) (pow.f64 x #s(literal 3/2 binary64))))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 4 binary64)) (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64)) (cbrt.f64 (*.f64 x #s(literal 2 binary64))) (pow.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (pow.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 5 binary64)) (cbrt.f64 x) (*.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (cbrt.f64 x) #s(literal 2 binary64))) (cbrt.f64 x) (pow.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))
(fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (sqrt.f64 x) (pow.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) x))

eval17.0ms (0.6%)

Compiler

Compiled 764 to 551 computations (27.9% saved)

prune8.0ms (0.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New64266
Fresh000
Picked011
Done000
Total64367
Accuracy
100.0%
Counts
67 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x x (*.f64 x #s(literal 2 binary64)))
100.0%
(*.f64 x (+.f64 x #s(literal 2 binary64)))
52.3%
(*.f64 #s(literal 2 binary64) x)
Compiler

Compiled 17 to 11 computations (35.3% saved)

localize32.0ms (1.2%)

Compiler

Compiled 18 to 11 computations (38.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
Operation ival-mult, time spent: 7.0ms, 53.0% of total-time
Operation composed, time spent: 4.0ms, 30.0% of total-time
Operation const, time spent: 1.0ms, 8.0% of total-time
Operation ival-add, time spent: 1.0ms, 8.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.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
100.0%
(fma.f64 x x (*.f64 x #s(literal 2 binary64)))
100.0%
(*.f64 x (+.f64 x #s(literal 2 binary64)))
52.3%
(*.f64 #s(literal 2 binary64) x)
Compiler

Compiled 41 to 27 computations (34.1% saved)

regimes7.0ms (0.3%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) x)
(*.f64 x (+.f64 x #s(literal 2 binary64)))
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
(fma.f64 x x (*.f64 x #s(literal 2 binary64)))
Outputs
(fma.f64 x x (*.f64 x #s(literal 2 binary64)))
Calls

4 calls:

3.0ms
x
1.0ms
(+.f64 x #s(literal 1 binary64))
1.0ms
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
1.0ms
(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
100.0%1(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
100.0%1(+.f64 x #s(literal 1 binary64))
Compiler

Compiled 24 to 18 computations (25% saved)

regimes6.0ms (0.2%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) x)
(*.f64 x (+.f64 x #s(literal 2 binary64)))
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
Outputs
(*.f64 x (+.f64 x #s(literal 2 binary64)))
Calls

4 calls:

2.0ms
x
1.0ms
(+.f64 x #s(literal 1 binary64))
1.0ms
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
1.0ms
(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
100.0%1(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
100.0%1(+.f64 x #s(literal 1 binary64))
Compiler

Compiled 24 to 18 computations (25% saved)

regimes1.0ms (0%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) x)
Outputs
(*.f64 #s(literal 2 binary64) x)
Calls

1 calls:

0.0ms
x
Results
AccuracySegmentsBranch
52.3%1x
Compiler

Compiled 2 to 1 computations (50% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01253
11453
Stop Event
done
saturated
Calls
Call 1
Inputs
(fma.f64 x x (*.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 x #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) x)
Outputs
(fma.f64 x x (*.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 x #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
Compiler

Compiled 17 to 11 computations (35.3% saved)

soundness503.0ms (18.2%)

Rules
3207×fma-neg
1104×unsub-neg
506×distribute-neg-in
429×sub-neg
396×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015128
151108
214688
348876
4217776
5379276
6493976
7578876
8621376
9645376
10645676
11645676
12657776
13666476
14683776
15683776
0819
18319
2108619
Stop Event
node limit
node limit
Compiler

Compiled 90 to 66 computations (26.7% saved)

end0.0ms (0%)

preprocess52.0ms (1.9%)

Compiler

Compiled 50 to 34 computations (32% saved)

Profiling

Loading profile data...