sqrt A (should all be same)

Time bar (total: 7.2s)

analyze0.0ms (0%)

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

Compiled 10 to 5 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
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
Operation ival-sqrt, time spent: 0.0ms, 0.0% of total-time

sample922.0ms (12.8%)

Results
876.0ms8251×256valid
0.0ms256infinite
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 219.0ms
Operation ival-mult, time spent: 84.0ms, 38.0% of total-time
Operation ival-sqrt, time spent: 84.0ms, 38.0% of total-time
Operation ival-add, time spent: 42.0ms, 19.0% of total-time
Operation const, time spent: 9.0ms, 4.0% of total-time
Bogosity

preprocess241.0ms (3.3%)

Algorithm
egg-herbie
Rules
112×fma-define
80×fma-neg
40×associate-*r*
30×distribute-lft-neg-in
26×sub-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1340-6(3.1818940713950875e-159)(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 x x)))
00-0-(+.f64 (*.f64 x x) (*.f64 x x))
00-0-(*.f64 x x)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 x x)))oflow-rescue640
(+.f64 (*.f64 x x) (*.f64 x x))overflow64
(*.f64 x x)overflow126
sqrt.f64(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 x x)))uflow-rescue640
(+.f64 (*.f64 x x) (*.f64 x x))underflow64
(*.f64 x x)underflow128
Confusion
Predicted +Predicted -
+1286
-0122
Precision
1.0
Recall
0.9552238805970149
Confusion?
Predicted +Predicted MaybePredicted -
+12806
-00122
Precision?
1.0
Recall?
0.9552238805970149
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01456
13656
28256
319756
430256
536256
636456
Stop Event
saturated
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 x x)))
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 x x)))
(sqrt.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (neg.f64 x) (neg.f64 x))))
(neg.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (neg.f64 x) (neg.f64 x)))))
Outputs
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 x x)))
(hypot.f64 x x)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 x x)))
(hypot.f64 x x)
(sqrt.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (neg.f64 x) (neg.f64 x))))
(hypot.f64 x x)
(neg.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (neg.f64 x) (neg.f64 x)))))
(neg.f64 (hypot.f64 x x))
Symmetry

(abs x)

Compiler

Compiled 60 to 18 computations (70% saved)

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

eval0.0ms (0%)

Compiler

Compiled 4 to 2 computations (50% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
Compiler

Compiled 4 to 2 computations (50% saved)

localize86.0ms (1.2%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(hypot.f64 x x)
Compiler

Compiled 6 to 3 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 139.0ms
Operation composed, time spent: 70.0ms, 50.0% of total-time
Operation ival-mult, time spent: 65.0ms, 47.0% of total-time
Operation ival-sqrt, time spent: 2.0ms, 1.0% of total-time
Operation ival-add, time spent: 1.0ms, 1.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

series2.0ms (0%)

Counts
1 → 12
Calls
Call 1
Inputs
#<alt (hypot.f64 x x)>
Outputs
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 -1 (*.f64 x (sqrt.f64 2)))>
#<alt (*.f64 -1 (*.f64 x (sqrt.f64 2)))>
#<alt (*.f64 -1 (*.f64 x (sqrt.f64 2)))>
#<alt (*.f64 -1 (*.f64 x (sqrt.f64 2)))>
Calls

3 calls:

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

rewrite250.0ms (3.5%)

Algorithm
batch-egg-rewrite
Rules
801×log1p-expm1-u
801×expm1-log1p-u
404×associate-*r*
340×associate-*l*
288×unpow-prod-down
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0613
14613
24827
355707
Stop Event
node limit
Counts
1 → 104
Calls
Call 1
Inputs
(hypot.f64 x x)
Outputs
(+.f64 (pow.f64 x 2) (pow.f64 x 2))
(+.f64 (+.f64 (/.f64 0 0) 1) -1)
(+.f64 0 (/.f64 0 0))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 0 0))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 0 0)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 0 0)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 0 0)))))
(+.f64 (*.f64 (/.f64 0 0) (pow.f64 x 2)) (*.f64 (/.f64 0 0) (pow.f64 x 2)))
(+.f64 (*.f64 (pow.f64 x 2) (/.f64 0 0)) (*.f64 (pow.f64 x 2) (/.f64 0 0)))
(-.f64 (+.f64 (/.f64 0 0) 1) 1)
(-.f64 (/.f64 (pow.f64 x 4) 0) (/.f64 (pow.f64 x 4) 0))
(*.f64 x (*.f64 x 2))
(*.f64 x (*.f64 (*.f64 x 2) 1))
(*.f64 x (*.f64 (*.f64 x 2) (/.f64 0 0)))
(*.f64 (pow.f64 x 2) 2)
(*.f64 (pow.f64 x 2) (*.f64 (*.f64 x 2) (*.f64 x 2)))
(*.f64 (/.f64 0 0) (/.f64 0 0))
(*.f64 (/.f64 0 0) 1)
(*.f64 (/.f64 0 0) (log.f64 (E.f64)))
(*.f64 (/.f64 0 0) (pow.f64 1 1/3))
(*.f64 (/.f64 0 0) (pow.f64 1 1/2))
(*.f64 1 (/.f64 0 0))
(*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x 2)))
(*.f64 (cbrt.f64 x) (+.f64 (pow.f64 (cbrt.f64 x) 5) (pow.f64 (cbrt.f64 x) 5)))
(*.f64 (cbrt.f64 x) (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x 2)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (+.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 x) 4)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x 2)))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 x 2) 1/2))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x 2)))
(*.f64 (sqrt.f64 x) (+.f64 (pow.f64 x 3/2) (pow.f64 x 3/2)))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x 2)))
(*.f64 0 (/.f64 1 0))
(*.f64 2 (pow.f64 x 2))
(*.f64 2 (*.f64 (pow.f64 x 2) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 x) 4) (+.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (pow.f64 x 3/2) (+.f64 (sqrt.f64 x) (sqrt.f64 x)))
(*.f64 (*.f64 2 (pow.f64 x 6)) (/.f64 1 (+.f64 0 (pow.f64 x 4))))
(*.f64 (*.f64 x 2) x)
(*.f64 (pow.f64 (cbrt.f64 x) 5) (+.f64 (cbrt.f64 x) (cbrt.f64 x)))
(*.f64 4 (pow.f64 x 4))
(*.f64 (pow.f64 1 1/3) (/.f64 0 0))
(*.f64 (pow.f64 1 1/2) (/.f64 0 0))
(*.f64 (pow.f64 2 1/2) x)
(*.f64 (cbrt.f64 2) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (sqrt.f64 2) x)
(*.f64 (*.f64 2 (sqrt.f64 x)) (pow.f64 x 3/2))
(*.f64 (*.f64 (/.f64 0 0) x) (*.f64 x 2))
(*.f64 (*.f64 (/.f64 0 0) 2) (pow.f64 x 2))
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 2)) (pow.f64 (cbrt.f64 x) 4))
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (*.f64 2 (pow.f64 x 3/2)) (sqrt.f64 x))
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 5)) (cbrt.f64 x))
(/.f64 1 (/.f64 0 0))
(/.f64 1 (/.f64 (+.f64 0 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 6))))
(/.f64 0 0)
(/.f64 (*.f64 2 (pow.f64 x 6)) (+.f64 0 (pow.f64 x 4)))
(/.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 6))) (cbrt.f64 (+.f64 0 (pow.f64 x 4))))
(/.f64 (*.f64 (*.f64 2 (pow.f64 x 6)) (*.f64 2 (pow.f64 x 6))) (*.f64 (+.f64 0 (pow.f64 x 4)) (+.f64 0 (pow.f64 x 4))))
(/.f64 (sqrt.f64 (*.f64 2 (pow.f64 x 6))) (sqrt.f64 (+.f64 0 (pow.f64 x 4))))
(/.f64 (sqrt.f64 0) (sqrt.f64 0))
(/.f64 (*.f64 (*.f64 2 (pow.f64 x 6)) 0) (*.f64 (+.f64 0 (pow.f64 x 4)) 0))
(/.f64 (*.f64 0 (*.f64 2 (pow.f64 x 6))) (*.f64 0 (+.f64 0 (pow.f64 x 4))))
(/.f64 (neg.f64 (*.f64 2 (pow.f64 x 6))) (neg.f64 (+.f64 0 (pow.f64 x 4))))
(/.f64 (-.f64 (pow.f64 (+.f64 (/.f64 0 0) 1) 3) 1) (+.f64 (*.f64 (+.f64 (/.f64 0 0) 1) (+.f64 (/.f64 0 0) 1)) (+.f64 1 (+.f64 (/.f64 0 0) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 (/.f64 0 0) 1) (+.f64 (/.f64 0 0) 1)) 1) (+.f64 (+.f64 (/.f64 0 0) 1) 1))
(/.f64 (*.f64 (/.f64 0 0) (*.f64 2 (pow.f64 x 6))) (+.f64 0 (pow.f64 x 4)))
(/.f64 (*.f64 (*.f64 2 (pow.f64 x 6)) 1) (+.f64 0 (pow.f64 x 4)))
(/.f64 (*.f64 (*.f64 2 (pow.f64 x 6)) (/.f64 0 0)) (+.f64 0 (pow.f64 x 4)))
(/.f64 (*.f64 0 (/.f64 0 0)) 0)
(pow.f64 (/.f64 0 0) 1)
(pow.f64 (/.f64 0 0) 1/2)
(pow.f64 (/.f64 0 0) 2)
(pow.f64 (/.f64 0 0) 1/3)
(pow.f64 (/.f64 0 0) 3)
(pow.f64 (/.f64 0 0) 1/9)
(pow.f64 (/.f64 0 0) 2/3)
(pow.f64 (/.f64 0 0) 1/6)
(pow.f64 (/.f64 0 0) 1/4)
(pow.f64 (/.f64 0 0) 3/2)
(pow.f64 (/.f64 0 0) 6)
(pow.f64 (/.f64 0 0) 4)
(pow.f64 (/.f64 0 0) 9)
(pow.f64 (/.f64 0 0) 4/3)
(pow.f64 (/.f64 0 0) 5/2)
(pow.f64 (/.f64 0 0) 5)
(pow.f64 (E.f64) (log.f64 (/.f64 0 0)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 0 0))) 2)) (cbrt.f64 (log.f64 (/.f64 0 0))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 0 0)))) (sqrt.f64 (log.f64 (/.f64 0 0))))
(sqrt.f64 (/.f64 0 0))
(fabs.f64 (/.f64 0 0))
(fabs.f64 (neg.f64 (/.f64 0 0)))
(log.f64 (exp.f64 (/.f64 0 0)))
(cbrt.f64 (/.f64 0 0))
(expm1.f64 (log1p.f64 (/.f64 0 0)))
(log1p.f64 (expm1.f64 (/.f64 0 0)))
(exp.f64 (log.f64 (/.f64 0 0)))
(exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 3))
(exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 1/3))
(exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 1/2))
(fma.f64 x x (pow.f64 x 2))
(fma.f64 1 (pow.f64 x 2) (pow.f64 x 2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 x) 4) (pow.f64 x 2))
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) (pow.f64 x 2))
(fma.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 x) 2) (pow.f64 x 2))
(fma.f64 (pow.f64 x 3/2) (sqrt.f64 x) (pow.f64 x 2))
(fma.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x) (pow.f64 x 2))

simplify20.0ms (0.3%)

Algorithm
egg-herbie
Rules
84×*-commutative
32×associate-*r*
28×associate-*l*
20×count-2
18×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022212884902958
158112884902958
Stop Event
unsound
Counts
116 → 134
Calls
Call 1
Inputs
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(+.f64 (pow.f64 x 2) (pow.f64 x 2))
(+.f64 (+.f64 (/.f64 0 0) 1) -1)
(+.f64 0 (/.f64 0 0))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 0 0))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 0 0)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 0 0)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 0 0)))))
(+.f64 (*.f64 (/.f64 0 0) (pow.f64 x 2)) (*.f64 (/.f64 0 0) (pow.f64 x 2)))
(+.f64 (*.f64 (pow.f64 x 2) (/.f64 0 0)) (*.f64 (pow.f64 x 2) (/.f64 0 0)))
(-.f64 (+.f64 (/.f64 0 0) 1) 1)
(-.f64 (/.f64 (pow.f64 x 4) 0) (/.f64 (pow.f64 x 4) 0))
(*.f64 x (*.f64 x 2))
(*.f64 x (*.f64 (*.f64 x 2) 1))
(*.f64 x (*.f64 (*.f64 x 2) (/.f64 0 0)))
(*.f64 (pow.f64 x 2) 2)
(*.f64 (pow.f64 x 2) (*.f64 (*.f64 x 2) (*.f64 x 2)))
(*.f64 (/.f64 0 0) (/.f64 0 0))
(*.f64 (/.f64 0 0) 1)
(*.f64 (/.f64 0 0) (log.f64 (E.f64)))
(*.f64 (/.f64 0 0) (pow.f64 1 1/3))
(*.f64 (/.f64 0 0) (pow.f64 1 1/2))
(*.f64 1 (/.f64 0 0))
(*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x 2)))
(*.f64 (cbrt.f64 x) (+.f64 (pow.f64 (cbrt.f64 x) 5) (pow.f64 (cbrt.f64 x) 5)))
(*.f64 (cbrt.f64 x) (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x 2)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (+.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 x) 4)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x 2)))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 x 2) 1/2))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x 2)))
(*.f64 (sqrt.f64 x) (+.f64 (pow.f64 x 3/2) (pow.f64 x 3/2)))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x 2)))
(*.f64 0 (/.f64 1 0))
(*.f64 2 (pow.f64 x 2))
(*.f64 2 (*.f64 (pow.f64 x 2) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 x) 4) (+.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (pow.f64 x 3/2) (+.f64 (sqrt.f64 x) (sqrt.f64 x)))
(*.f64 (*.f64 2 (pow.f64 x 6)) (/.f64 1 (+.f64 0 (pow.f64 x 4))))
(*.f64 (*.f64 x 2) x)
(*.f64 (pow.f64 (cbrt.f64 x) 5) (+.f64 (cbrt.f64 x) (cbrt.f64 x)))
(*.f64 4 (pow.f64 x 4))
(*.f64 (pow.f64 1 1/3) (/.f64 0 0))
(*.f64 (pow.f64 1 1/2) (/.f64 0 0))
(*.f64 (pow.f64 2 1/2) x)
(*.f64 (cbrt.f64 2) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (sqrt.f64 2) x)
(*.f64 (*.f64 2 (sqrt.f64 x)) (pow.f64 x 3/2))
(*.f64 (*.f64 (/.f64 0 0) x) (*.f64 x 2))
(*.f64 (*.f64 (/.f64 0 0) 2) (pow.f64 x 2))
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 2)) (pow.f64 (cbrt.f64 x) 4))
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (*.f64 2 (pow.f64 x 3/2)) (sqrt.f64 x))
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 5)) (cbrt.f64 x))
(/.f64 1 (/.f64 0 0))
(/.f64 1 (/.f64 (+.f64 0 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 6))))
(/.f64 0 0)
(/.f64 (*.f64 2 (pow.f64 x 6)) (+.f64 0 (pow.f64 x 4)))
(/.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 6))) (cbrt.f64 (+.f64 0 (pow.f64 x 4))))
(/.f64 (*.f64 (*.f64 2 (pow.f64 x 6)) (*.f64 2 (pow.f64 x 6))) (*.f64 (+.f64 0 (pow.f64 x 4)) (+.f64 0 (pow.f64 x 4))))
(/.f64 (sqrt.f64 (*.f64 2 (pow.f64 x 6))) (sqrt.f64 (+.f64 0 (pow.f64 x 4))))
(/.f64 (sqrt.f64 0) (sqrt.f64 0))
(/.f64 (*.f64 (*.f64 2 (pow.f64 x 6)) 0) (*.f64 (+.f64 0 (pow.f64 x 4)) 0))
(/.f64 (*.f64 0 (*.f64 2 (pow.f64 x 6))) (*.f64 0 (+.f64 0 (pow.f64 x 4))))
(/.f64 (neg.f64 (*.f64 2 (pow.f64 x 6))) (neg.f64 (+.f64 0 (pow.f64 x 4))))
(/.f64 (-.f64 (pow.f64 (+.f64 (/.f64 0 0) 1) 3) 1) (+.f64 (*.f64 (+.f64 (/.f64 0 0) 1) (+.f64 (/.f64 0 0) 1)) (+.f64 1 (+.f64 (/.f64 0 0) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 (/.f64 0 0) 1) (+.f64 (/.f64 0 0) 1)) 1) (+.f64 (+.f64 (/.f64 0 0) 1) 1))
(/.f64 (*.f64 (/.f64 0 0) (*.f64 2 (pow.f64 x 6))) (+.f64 0 (pow.f64 x 4)))
(/.f64 (*.f64 (*.f64 2 (pow.f64 x 6)) 1) (+.f64 0 (pow.f64 x 4)))
(/.f64 (*.f64 (*.f64 2 (pow.f64 x 6)) (/.f64 0 0)) (+.f64 0 (pow.f64 x 4)))
(/.f64 (*.f64 0 (/.f64 0 0)) 0)
(pow.f64 (/.f64 0 0) 1)
(pow.f64 (/.f64 0 0) 1/2)
(pow.f64 (/.f64 0 0) 2)
(pow.f64 (/.f64 0 0) 1/3)
(pow.f64 (/.f64 0 0) 3)
(pow.f64 (/.f64 0 0) 1/9)
(pow.f64 (/.f64 0 0) 2/3)
(pow.f64 (/.f64 0 0) 1/6)
(pow.f64 (/.f64 0 0) 1/4)
(pow.f64 (/.f64 0 0) 3/2)
(pow.f64 (/.f64 0 0) 6)
(pow.f64 (/.f64 0 0) 4)
(pow.f64 (/.f64 0 0) 9)
(pow.f64 (/.f64 0 0) 4/3)
(pow.f64 (/.f64 0 0) 5/2)
(pow.f64 (/.f64 0 0) 5)
(pow.f64 (E.f64) (log.f64 (/.f64 0 0)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 0 0))) 2)) (cbrt.f64 (log.f64 (/.f64 0 0))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 0 0)))) (sqrt.f64 (log.f64 (/.f64 0 0))))
(sqrt.f64 (/.f64 0 0))
(fabs.f64 (/.f64 0 0))
(fabs.f64 (neg.f64 (/.f64 0 0)))
(log.f64 (exp.f64 (/.f64 0 0)))
(cbrt.f64 (/.f64 0 0))
(expm1.f64 (log1p.f64 (/.f64 0 0)))
(log1p.f64 (expm1.f64 (/.f64 0 0)))
(exp.f64 (log.f64 (/.f64 0 0)))
(exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 3))
(exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 1/3))
(exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 1/2))
(fma.f64 x x (pow.f64 x 2))
(fma.f64 1 (pow.f64 x 2) (pow.f64 x 2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 x) 4) (pow.f64 x 2))
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) (pow.f64 x 2))
(fma.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 x) 2) (pow.f64 x 2))
(fma.f64 (pow.f64 x 3/2) (sqrt.f64 x) (pow.f64 x 2))
(fma.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x) (pow.f64 x 2))
Outputs
(*.f64 x (sqrt.f64 2))
(*.f64 x -2)
(*.f64 x (sqrt.f64 2))
(*.f64 x -2)
(*.f64 x (sqrt.f64 2))
(*.f64 x -2)
(*.f64 x (sqrt.f64 2))
(*.f64 x -2)
(*.f64 x (sqrt.f64 2))
(*.f64 x -2)
(*.f64 x (sqrt.f64 2))
(*.f64 x -2)
(*.f64 x (sqrt.f64 2))
(*.f64 x -2)
(*.f64 x (sqrt.f64 2))
(*.f64 x -2)
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 x -2)
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 x -2)
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 x -2)
(*.f64 -1 (*.f64 x (sqrt.f64 2)))
(*.f64 x -2)
(+.f64 (pow.f64 x 2) (pow.f64 x 2))
-2
(+.f64 (+.f64 (/.f64 0 0) 1) -1)
-2
(+.f64 0 (/.f64 0 0))
-2
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 0 0))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 0 0)))))
-2
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 0 0)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 0 0)))))
-2
(+.f64 (*.f64 (/.f64 0 0) (pow.f64 x 2)) (*.f64 (/.f64 0 0) (pow.f64 x 2)))
-2
(+.f64 (*.f64 (pow.f64 x 2) (/.f64 0 0)) (*.f64 (pow.f64 x 2) (/.f64 0 0)))
-2
(-.f64 (+.f64 (/.f64 0 0) 1) 1)
-2
(-.f64 (/.f64 (pow.f64 x 4) 0) (/.f64 (pow.f64 x 4) 0))
-2
(*.f64 x (*.f64 x 2))
-2
(*.f64 x (*.f64 (*.f64 x 2) 1))
-2
(*.f64 x (*.f64 (*.f64 x 2) (/.f64 0 0)))
-2
(*.f64 (pow.f64 x 2) 2)
-2
(*.f64 (pow.f64 x 2) (*.f64 (*.f64 x 2) (*.f64 x 2)))
-2
(*.f64 (/.f64 0 0) (/.f64 0 0))
-2
(*.f64 (/.f64 0 0) 1)
-2
(*.f64 (/.f64 0 0) (log.f64 (E.f64)))
-2
(*.f64 (/.f64 0 0) (pow.f64 1 1/3))
-2
(*.f64 (/.f64 0 0) (pow.f64 1 1/2))
-2
(*.f64 1 (/.f64 0 0))
-2
(*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x 2)))
(*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x -2)))
(*.f64 (cbrt.f64 x) (+.f64 (pow.f64 (cbrt.f64 x) 5) (pow.f64 (cbrt.f64 x) 5)))
(*.f64 -2 (*.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x)))
(*.f64 (cbrt.f64 x) (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x 2)))
(*.f64 (cbrt.f64 x) (*.f64 (*.f64 x -2) (pow.f64 (cbrt.f64 x) -2)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (+.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 x) 4)))
(*.f64 -2 (*.f64 (pow.f64 (cbrt.f64 x) -2) (pow.f64 (cbrt.f64 x) -2)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x 2)))
(*.f64 (pow.f64 (cbrt.f64 x) -2) (*.f64 (*.f64 x -2) (cbrt.f64 x)))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 x 2) 1/2))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x -2)))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x 2)))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x -2)))
(*.f64 (sqrt.f64 x) (+.f64 (pow.f64 x 3/2) (pow.f64 x 3/2)))
(*.f64 (sqrt.f64 x) (*.f64 -2 (pow.f64 x 3/2)))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x 2)))
(*.f64 (sqrt.f64 x) (*.f64 (*.f64 x -2) (sqrt.f64 x)))
(*.f64 0 (/.f64 1 0))
-2
(*.f64 2 (pow.f64 x 2))
-2
(*.f64 2 (*.f64 (pow.f64 x 2) (/.f64 0 0)))
-2
(*.f64 (pow.f64 (cbrt.f64 x) 4) (+.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 -2 (*.f64 (pow.f64 (cbrt.f64 x) -2) (pow.f64 (cbrt.f64 x) -2)))
(*.f64 (pow.f64 x 3/2) (+.f64 (sqrt.f64 x) (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (*.f64 -2 (pow.f64 x 3/2)))
(*.f64 (*.f64 2 (pow.f64 x 6)) (/.f64 1 (+.f64 0 (pow.f64 x 4))))
-2
(*.f64 (*.f64 x 2) x)
-2
(*.f64 (pow.f64 (cbrt.f64 x) 5) (+.f64 (cbrt.f64 x) (cbrt.f64 x)))
(*.f64 -2 (*.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x)))
(*.f64 4 (pow.f64 x 4))
-2
(*.f64 (pow.f64 1 1/3) (/.f64 0 0))
-2
(*.f64 (pow.f64 1 1/2) (/.f64 0 0))
-2
(*.f64 (pow.f64 2 1/2) x)
(*.f64 x -2)
(*.f64 (cbrt.f64 2) (pow.f64 (cbrt.f64 x) 2))
(*.f64 -2 (pow.f64 (cbrt.f64 x) -2))
(*.f64 (sqrt.f64 2) x)
(*.f64 x -2)
(*.f64 (*.f64 2 (sqrt.f64 x)) (pow.f64 x 3/2))
(*.f64 (sqrt.f64 x) (*.f64 -2 (pow.f64 x 3/2)))
(*.f64 (*.f64 (/.f64 0 0) x) (*.f64 x 2))
-2
(*.f64 (*.f64 (/.f64 0 0) 2) (pow.f64 x 2))
-2
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 2)) (pow.f64 (cbrt.f64 x) 4))
(*.f64 -2 (*.f64 (pow.f64 (cbrt.f64 x) -2) (pow.f64 (cbrt.f64 x) -2)))
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 x) 2))
(*.f64 -2 (*.f64 (pow.f64 (cbrt.f64 x) -2) (pow.f64 (cbrt.f64 x) -2)))
(*.f64 (*.f64 2 (pow.f64 x 3/2)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (*.f64 -2 (pow.f64 x 3/2)))
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 5)) (cbrt.f64 x))
(*.f64 -2 (*.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x)))
(/.f64 1 (/.f64 0 0))
-2
(/.f64 1 (/.f64 (+.f64 0 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 6))))
-2
(/.f64 0 0)
-2
(/.f64 (*.f64 2 (pow.f64 x 6)) (+.f64 0 (pow.f64 x 4)))
-2
(/.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 6))) (cbrt.f64 (+.f64 0 (pow.f64 x 4))))
(/.f64 -2 (cbrt.f64 (pow.f64 x -2)))
(/.f64 (*.f64 (*.f64 2 (pow.f64 x 6)) (*.f64 2 (pow.f64 x 6))) (*.f64 (+.f64 0 (pow.f64 x 4)) (+.f64 0 (pow.f64 x 4))))
-2
(/.f64 (sqrt.f64 (*.f64 2 (pow.f64 x 6))) (sqrt.f64 (+.f64 0 (pow.f64 x 4))))
(/.f64 -2 (sqrt.f64 (pow.f64 x -2)))
(/.f64 (sqrt.f64 0) (sqrt.f64 0))
-2
(/.f64 (*.f64 (*.f64 2 (pow.f64 x 6)) 0) (*.f64 (+.f64 0 (pow.f64 x 4)) 0))
-2
(/.f64 (*.f64 0 (*.f64 2 (pow.f64 x 6))) (*.f64 0 (+.f64 0 (pow.f64 x 4))))
-2
(/.f64 (neg.f64 (*.f64 2 (pow.f64 x 6))) (neg.f64 (+.f64 0 (pow.f64 x 4))))
-2
(/.f64 (-.f64 (pow.f64 (+.f64 (/.f64 0 0) 1) 3) 1) (+.f64 (*.f64 (+.f64 (/.f64 0 0) 1) (+.f64 (/.f64 0 0) 1)) (+.f64 1 (+.f64 (/.f64 0 0) 1))))
-2
(/.f64 (-.f64 (*.f64 (+.f64 (/.f64 0 0) 1) (+.f64 (/.f64 0 0) 1)) 1) (+.f64 (+.f64 (/.f64 0 0) 1) 1))
-2
(/.f64 (*.f64 (/.f64 0 0) (*.f64 2 (pow.f64 x 6))) (+.f64 0 (pow.f64 x 4)))
-2
(/.f64 (*.f64 (*.f64 2 (pow.f64 x 6)) 1) (+.f64 0 (pow.f64 x 4)))
-2
(/.f64 (*.f64 (*.f64 2 (pow.f64 x 6)) (/.f64 0 0)) (+.f64 0 (pow.f64 x 4)))
-2
(/.f64 (*.f64 0 (/.f64 0 0)) 0)
-2
(pow.f64 (/.f64 0 0) 1)
-2
(pow.f64 (/.f64 0 0) 1/2)
-2
(pow.f64 (/.f64 0 0) 2)
-2
(pow.f64 (/.f64 0 0) 1/3)
-2
(pow.f64 (/.f64 0 0) 3)
-2
(pow.f64 (/.f64 0 0) 1/9)
(pow.f64 -2 1/9)
(pow.f64 (/.f64 0 0) 2/3)
(pow.f64 -2 2/3)
(pow.f64 (/.f64 0 0) 1/6)
(pow.f64 -2 1/6)
(pow.f64 (/.f64 0 0) 1/4)
(pow.f64 -2 1/4)
(pow.f64 (/.f64 0 0) 3/2)
(pow.f64 -2 3/2)
(pow.f64 (/.f64 0 0) 6)
64
(pow.f64 (/.f64 0 0) 4)
-2
(pow.f64 (/.f64 0 0) 9)
512
(pow.f64 (/.f64 0 0) 4/3)
(pow.f64 -2 4/3)
(pow.f64 (/.f64 0 0) 5/2)
(pow.f64 -2 5/2)
(pow.f64 (/.f64 0 0) 5)
32
(pow.f64 (E.f64) (log.f64 (/.f64 0 0)))
-2
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 0 0))) 2)) (cbrt.f64 (log.f64 (/.f64 0 0))))
-2
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 0 0)))) (sqrt.f64 (log.f64 (/.f64 0 0))))
-2
(sqrt.f64 (/.f64 0 0))
-2
(fabs.f64 (/.f64 0 0))
-2
(fabs.f64 (neg.f64 (/.f64 0 0)))
-2
(log.f64 (exp.f64 (/.f64 0 0)))
-2
(cbrt.f64 (/.f64 0 0))
-2
(expm1.f64 (log1p.f64 (/.f64 0 0)))
-2
(log1p.f64 (expm1.f64 (/.f64 0 0)))
-2
(exp.f64 (log.f64 (/.f64 0 0)))
-2
(exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 3))
-2
(exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 1/3))
-2
(exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 1/2))
-2
(fma.f64 x x (pow.f64 x 2))
-2
(fma.f64 1 (pow.f64 x 2) (pow.f64 x 2))
(pow.f64 x -2)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 x) 4) (pow.f64 x 2))
(fma.f64 (pow.f64 (cbrt.f64 x) -2) (pow.f64 (cbrt.f64 x) -2) (pow.f64 x -2))
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) (pow.f64 x 2))
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) (pow.f64 x -2))
(fma.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 x) 2) (pow.f64 x 2))
(fma.f64 (pow.f64 (cbrt.f64 x) -2) (pow.f64 (cbrt.f64 x) -2) (pow.f64 x -2))
(fma.f64 (pow.f64 x 3/2) (sqrt.f64 x) (pow.f64 x 2))
(fma.f64 (pow.f64 x 3/2) (sqrt.f64 x) (pow.f64 x -2))
(fma.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x) (pow.f64 x 2))
(fma.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x) (pow.f64 x -2))

eval53.0ms (0.7%)

Compiler

Compiled 1066 to 850 computations (20.3% saved)

prune83.0ms (1.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1295134
Fresh000
Picked011
Done000
Total1296135
Accuracy
100.0%
Counts
135 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
6.7%
(*.f64 (*.f64 x 2) x)
99.3%
(*.f64 (sqrt.f64 2) x)
2.2%
(*.f64 x -2)
5.3%
512
5.3%
32
Compiler

Compiled 42 to 32 computations (23.8% saved)

localize90.0ms (1.3%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
99.3%
(*.f64 (sqrt.f64 2) x)
Compiler

Compiled 27 to 19 computations (29.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 53.0ms
Operation ival-mult, time spent: 48.0ms, 90.0% of total-time
Operation ival-sqrt, time spent: 4.0ms, 8.0% of total-time
Operation const, time spent: 2.0ms, 4.0% of total-time

series1.0ms (0%)

Counts
1 → 12
Calls
Call 1
Inputs
#<alt (*.f64 (sqrt.f64 2) x)>
Outputs
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
Calls

3 calls:

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

rewrite64.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
946×associate-*r*
804×associate-*l*
488×unpow-prod-down
296×log-prod
286×cbrt-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
16714
272914
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) x)
Outputs
(+.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) -1)
(+.f64 0 (*.f64 (sqrt.f64 2) x))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 8)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 1)
(/.f64 (-.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 3) 1) (+.f64 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) (+.f64 1 (*.f64 (sqrt.f64 2) x))) (+.f64 1 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) (+.f64 1 (*.f64 (sqrt.f64 2) x))) 1) (+.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 1))
(pow.f64 (*.f64 (sqrt.f64 2) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 3)
(pow.f64 (*.f64 2 (pow.f64 x 2)) 1/2)
(pow.f64 (*.f64 (sqrt.f64 8) (pow.f64 x 3)) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 (sqrt.f64 2) x)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 2) x))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 2) x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 2) x)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 2) x))))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(fabs.f64 (*.f64 (sqrt.f64 2) x))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))
(cbrt.f64 (*.f64 (sqrt.f64 8) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) x)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 2) x)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 2) x)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 2) x))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))) 2))

simplify66.0ms (0.9%)

Algorithm
egg-herbie
Rules
1406×cancel-sign-sub-inv
1112×distribute-lft-out
852×sub-neg
758×times-frac
598×div-sub
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
083778
1161760
2401745
31618745
43913745
Stop Event
node limit
Counts
37 → 34
Calls
Call 1
Inputs
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(+.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) -1)
(+.f64 0 (*.f64 (sqrt.f64 2) x))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 8)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 1)
(/.f64 (-.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 3) 1) (+.f64 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) (+.f64 1 (*.f64 (sqrt.f64 2) x))) (+.f64 1 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) (+.f64 1 (*.f64 (sqrt.f64 2) x))) 1) (+.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 1))
(pow.f64 (*.f64 (sqrt.f64 2) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 3)
(pow.f64 (*.f64 2 (pow.f64 x 2)) 1/2)
(pow.f64 (*.f64 (sqrt.f64 8) (pow.f64 x 3)) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 (sqrt.f64 2) x)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 2) x))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 2) x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 2) x)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 2) x))))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(fabs.f64 (*.f64 (sqrt.f64 2) x))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))
(cbrt.f64 (*.f64 (sqrt.f64 8) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) x)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 2) x)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 2) x)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 2) x))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))) 2))
Outputs
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(+.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) -1)
(*.f64 x (sqrt.f64 2))
(+.f64 0 (*.f64 (sqrt.f64 2) x))
(*.f64 x (sqrt.f64 2))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 8)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 8)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 2)))))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 1)
(*.f64 x (sqrt.f64 2))
(/.f64 (-.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 3) 1) (+.f64 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) (+.f64 1 (*.f64 (sqrt.f64 2) x))) (+.f64 1 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (*.f64 x (sqrt.f64 2))) 3) -1) (fma.f64 (+.f64 1 (*.f64 x (sqrt.f64 2))) (+.f64 1 (*.f64 x (sqrt.f64 2))) (+.f64 1 (+.f64 1 (*.f64 x (sqrt.f64 2))))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 x (sqrt.f64 2) 1) 3)) (fma.f64 (fma.f64 x (sqrt.f64 2) 1) (fma.f64 x (sqrt.f64 2) 1) (+.f64 2 (*.f64 x (sqrt.f64 2)))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 x (sqrt.f64 2) 1) 3)) (+.f64 1 (*.f64 (fma.f64 x (sqrt.f64 2) 1) (fma.f64 x (sqrt.f64 2) 2))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) (+.f64 1 (*.f64 (sqrt.f64 2) x))) 1) (+.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 1))
(*.f64 x (sqrt.f64 2))
(pow.f64 (*.f64 (sqrt.f64 2) x) 1)
(*.f64 x (sqrt.f64 2))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 3)
(*.f64 x (sqrt.f64 2))
(pow.f64 (*.f64 2 (pow.f64 x 2)) 1/2)
(*.f64 x (sqrt.f64 2))
(pow.f64 (*.f64 (sqrt.f64 8) (pow.f64 x 3)) 1/3)
(cbrt.f64 (*.f64 (sqrt.f64 8) (pow.f64 x 3)))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 2)
(*.f64 x (sqrt.f64 2))
(pow.f64 (E.f64) (log.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 x (sqrt.f64 2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 2) x))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 2) x))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 2) x)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 2) x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2))))) (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(*.f64 x (sqrt.f64 2))
(fabs.f64 (*.f64 (sqrt.f64 2) x))
(*.f64 x (sqrt.f64 2))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))
(*.f64 x (sqrt.f64 2))
(cbrt.f64 (*.f64 (sqrt.f64 8) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 x (sqrt.f64 2))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 x (sqrt.f64 2))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 x (sqrt.f64 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x))) 3))
(*.f64 x (sqrt.f64 2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 2) x))) 1/3))
(*.f64 x (sqrt.f64 2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))) 2))
(*.f64 x (sqrt.f64 2))

eval10.0ms (0.1%)

Compiler

Compiled 403 to 346 computations (14.1% saved)

prune23.0ms (0.3%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New33134
Fresh000
Picked055
Done011
Total33740
Accuracy
100.0%
Counts
40 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.0%
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 2)
100.0%
(hypot.f64 x x)
6.7%
(*.f64 (*.f64 x 2) x)
99.3%
(*.f64 (sqrt.f64 2) x)
2.2%
(*.f64 x -2)
5.3%
512
5.3%
32
Compiler

Compiled 31 to 24 computations (22.6% saved)

localize105.0ms (1.4%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
99.8%
(sqrt.f64 (*.f64 (sqrt.f64 2) x))
99.3%
(*.f64 (sqrt.f64 2) x)
99.3%
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 2)
Compiler

Compiled 22 to 18 computations (18.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 68.0ms
Operation ival-sqrt, time spent: 58.0ms, 85.0% of total-time
Operation ival-mult, time spent: 6.0ms, 9.0% of total-time
Operation ival-pow, time spent: 3.0ms, 4.0% of total-time
Operation const, time spent: 1.0ms, 1.0% of total-time

series4.0ms (0.1%)

Counts
2 → 24
Calls
Call 1
Inputs
#<alt (pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 2)>
#<alt (sqrt.f64 (*.f64 (sqrt.f64 2) x))>
Outputs
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 -1 (*.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (sqrt.f64 2))))>
#<alt (*.f64 -1 (*.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (sqrt.f64 2))))>
#<alt (*.f64 -1 (*.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (sqrt.f64 2))))>
#<alt (*.f64 -1 (*.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (sqrt.f64 2))))>
#<alt (sqrt.f64 (*.f64 x (sqrt.f64 2)))>
#<alt (sqrt.f64 (*.f64 x (sqrt.f64 2)))>
#<alt (sqrt.f64 (*.f64 x (sqrt.f64 2)))>
#<alt (sqrt.f64 (*.f64 x (sqrt.f64 2)))>
#<alt (sqrt.f64 (*.f64 x (sqrt.f64 2)))>
#<alt (sqrt.f64 (*.f64 x (sqrt.f64 2)))>
#<alt (sqrt.f64 (*.f64 x (sqrt.f64 2)))>
#<alt (sqrt.f64 (*.f64 x (sqrt.f64 2)))>
#<alt (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (sqrt.f64 -1) 2)))>
#<alt (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (sqrt.f64 -1) 2)))>
#<alt (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (sqrt.f64 -1) 2)))>
#<alt (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (sqrt.f64 -1) 2)))>
Calls

6 calls:

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

rewrite85.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
794×unpow-prod-down
388×prod-exp
388×log-prod
364×cbrt-prod
316×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01132
111032
298532
Stop Event
node limit
Counts
2 → 125
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 2)
(sqrt.f64 (*.f64 (sqrt.f64 2) x))
Outputs
(+.f64 0 (*.f64 (sqrt.f64 2) x))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 2 3/2)) x))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 1)
(*.f64 (sqrt.f64 2) x)
(*.f64 x (sqrt.f64 2))
(*.f64 (*.f64 (sqrt.f64 2) x) 1)
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 1 (*.f64 (sqrt.f64 2) x))
(*.f64 (cbrt.f64 2) (*.f64 (pow.f64 2 1/6) x))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) (cbrt.f64 (*.f64 2 (pow.f64 x 2))))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 1/2))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4)))
(*.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 2))) (cbrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 (cbrt.f64 x) (sqrt.f64 2)))
(*.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) x))
(*.f64 (pow.f64 2 1/4) (pow.f64 (*.f64 x (*.f64 (sqrt.f64 2) x)) 1/2))
(*.f64 (pow.f64 2 1/4) (sqrt.f64 (*.f64 x (*.f64 (sqrt.f64 2) x))))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 x 2) 1/2))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) x)) 1/2))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) x))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4) (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4))
(*.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 x 2))) (cbrt.f64 x))
(*.f64 (pow.f64 (*.f64 2 x) 1/2) (sqrt.f64 x))
(*.f64 (*.f64 x (cbrt.f64 2)) (pow.f64 2 1/6))
(*.f64 (*.f64 x (pow.f64 2 1/4)) (pow.f64 2 1/4))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (sqrt.f64 2)) 1/2) (sqrt.f64 x))
(*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 2) x))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 1/2) (cbrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) x) 1/2) (pow.f64 2 1/4))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 5) 1/2) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (pow.f64 (*.f64 (*.f64 2 (pow.f64 x 2)) (sqrt.f64 2)) 1/3) (cbrt.f64 x))
(*.f64 (pow.f64 (*.f64 (*.f64 2 (pow.f64 x 2)) x) 1/3) (pow.f64 2 1/6))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/2) 1/3) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x))))
(*.f64 (cbrt.f64 (*.f64 (*.f64 2 (pow.f64 x 2)) (sqrt.f64 2))) (cbrt.f64 x))
(*.f64 (cbrt.f64 (*.f64 (*.f64 2 (pow.f64 x 2)) x)) (pow.f64 2 1/6))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/2)) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4)) (cbrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (sqrt.f64 2))) (sqrt.f64 x))
(*.f64 (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 2) x) x)) (pow.f64 2 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 5)) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) x)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 2) x)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 2) x)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 2 (pow.f64 x 2))) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 2) x))) 1/3))
(+.f64 0 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (sqrt.f64 2) x))) 1)
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (pow.f64 2 1/6) (pow.f64 (*.f64 (pow.f64 2 1/6) x) 1/2))
(*.f64 (pow.f64 2 1/6) (pow.f64 (*.f64 x (sqrt.f64 (*.f64 (sqrt.f64 2) x))) 1/3))
(*.f64 (pow.f64 2 1/6) (cbrt.f64 (*.f64 x (sqrt.f64 (*.f64 (sqrt.f64 2) x)))))
(*.f64 (pow.f64 2 1/6) (sqrt.f64 (*.f64 (pow.f64 2 1/6) x)))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6) (cbrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (cbrt.f64 x) (pow.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 2)) 1/2))
(*.f64 (cbrt.f64 x) (pow.f64 (pow.f64 (*.f64 2 (*.f64 (sqrt.f64 2) x)) 1/2) 1/3))
(*.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (sqrt.f64 2) x)) 1/2)))
(*.f64 (cbrt.f64 x) (sqrt.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 2))))
(*.f64 (pow.f64 2 1/4) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (pow.f64 2 1/4))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 2)))) (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 2)))) (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4)) (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (pow.f64 2 1/8) (pow.f64 (*.f64 (pow.f64 2 1/4) x) 1/2))
(*.f64 (pow.f64 2 1/8) (pow.f64 (pow.f64 (*.f64 x (*.f64 (sqrt.f64 2) x)) 1/2) 1/2))
(*.f64 (pow.f64 2 1/8) (sqrt.f64 (*.f64 (pow.f64 2 1/4) x)))
(*.f64 (pow.f64 2 1/8) (sqrt.f64 (pow.f64 (*.f64 x (*.f64 (sqrt.f64 2) x)) 1/2)))
(*.f64 (pow.f64 x 1/4) (pow.f64 (pow.f64 (*.f64 x 2) 1/2) 1/2))
(*.f64 (pow.f64 x 1/4) (sqrt.f64 (pow.f64 (*.f64 x 2) 1/2)))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/8) (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4) 1/2))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/8) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4)))
(*.f64 (pow.f64 1 1/3) (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4) 1/2) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/8))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 x 2))) 1/2) (pow.f64 x 1/6))
(*.f64 (pow.f64 (pow.f64 (*.f64 2 x) 1/2) 1/2) (pow.f64 x 1/4))
(*.f64 (pow.f64 (*.f64 x (cbrt.f64 2)) 1/2) (pow.f64 (sqrt.f64 2) 1/6))
(*.f64 (pow.f64 (*.f64 x (pow.f64 2 1/4)) 1/2) (pow.f64 2 1/8))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6) 1/2) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (sqrt.f64 2)) 1/2) 1/2) (pow.f64 x 1/4))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 1/3) (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (pow.f64 2 1/4)) 1/3) (pow.f64 x 1/6))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/4) 1/3) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (pow.f64 2 1/4))) (pow.f64 x 1/6))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/4)) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6)) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4)) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/8))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 x 2)))) (pow.f64 x 1/6))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 2 x) 1/2)) (pow.f64 x 1/4))
(*.f64 (sqrt.f64 (*.f64 x (cbrt.f64 2))) (pow.f64 (sqrt.f64 2) 1/6))
(*.f64 (sqrt.f64 (*.f64 x (pow.f64 2 1/4))) (pow.f64 2 1/8))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (sqrt.f64 2)) 1/2)) (pow.f64 x 1/4))
(pow.f64 (*.f64 (sqrt.f64 2) x) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 1)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6) 3)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 3/2)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/2) 1/3)
(pow.f64 (*.f64 2 (pow.f64 x 2)) 1/4)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4) 2)
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(pow.f64 (exp.f64 1/2) (log.f64 (*.f64 (sqrt.f64 2) x)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))))
(fabs.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sqrt.f64 2) x))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (sqrt.f64 2) x))) 2))

simplify128.0ms (1.8%)

Algorithm
egg-herbie
Rules
954×prod-exp
874×exp-prod
698×distribute-lft-neg-out
672×distribute-rgt-neg-out
600×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03104491
14764461
28874393
329844369
468244369
Stop Event
node limit
Counts
149 → 172
Calls
Call 1
Inputs
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 -1 (*.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (sqrt.f64 2))))
(*.f64 -1 (*.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (sqrt.f64 2))))
(*.f64 -1 (*.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (sqrt.f64 2))))
(*.f64 -1 (*.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (sqrt.f64 2))))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (sqrt.f64 -1) 2)))
(*.f64 -1 (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (sqrt.f64 -1) 2)))
(*.f64 -1 (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (sqrt.f64 -1) 2)))
(*.f64 -1 (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (sqrt.f64 -1) 2)))
(+.f64 0 (*.f64 (sqrt.f64 2) x))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 2 3/2)) x))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 1)
(*.f64 (sqrt.f64 2) x)
(*.f64 x (sqrt.f64 2))
(*.f64 (*.f64 (sqrt.f64 2) x) 1)
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 1 (*.f64 (sqrt.f64 2) x))
(*.f64 (cbrt.f64 2) (*.f64 (pow.f64 2 1/6) x))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) (cbrt.f64 (*.f64 2 (pow.f64 x 2))))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 1/2))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4)))
(*.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 2))) (cbrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 (cbrt.f64 x) (sqrt.f64 2)))
(*.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) x))
(*.f64 (pow.f64 2 1/4) (pow.f64 (*.f64 x (*.f64 (sqrt.f64 2) x)) 1/2))
(*.f64 (pow.f64 2 1/4) (sqrt.f64 (*.f64 x (*.f64 (sqrt.f64 2) x))))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 x 2) 1/2))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) x)) 1/2))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) x))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4) (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4))
(*.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 x 2))) (cbrt.f64 x))
(*.f64 (pow.f64 (*.f64 2 x) 1/2) (sqrt.f64 x))
(*.f64 (*.f64 x (cbrt.f64 2)) (pow.f64 2 1/6))
(*.f64 (*.f64 x (pow.f64 2 1/4)) (pow.f64 2 1/4))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (sqrt.f64 2)) 1/2) (sqrt.f64 x))
(*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 2) x))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 1/2) (cbrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) x) 1/2) (pow.f64 2 1/4))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 5) 1/2) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (pow.f64 (*.f64 (*.f64 2 (pow.f64 x 2)) (sqrt.f64 2)) 1/3) (cbrt.f64 x))
(*.f64 (pow.f64 (*.f64 (*.f64 2 (pow.f64 x 2)) x) 1/3) (pow.f64 2 1/6))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/2) 1/3) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x))))
(*.f64 (cbrt.f64 (*.f64 (*.f64 2 (pow.f64 x 2)) (sqrt.f64 2))) (cbrt.f64 x))
(*.f64 (cbrt.f64 (*.f64 (*.f64 2 (pow.f64 x 2)) x)) (pow.f64 2 1/6))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/2)) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4)) (cbrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (sqrt.f64 2))) (sqrt.f64 x))
(*.f64 (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 2) x) x)) (pow.f64 2 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 5)) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) x)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 2) x)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 2) x)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 2 (pow.f64 x 2))) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 2) x))) 1/3))
(+.f64 0 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (sqrt.f64 2) x))) 1)
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (pow.f64 2 1/6) (pow.f64 (*.f64 (pow.f64 2 1/6) x) 1/2))
(*.f64 (pow.f64 2 1/6) (pow.f64 (*.f64 x (sqrt.f64 (*.f64 (sqrt.f64 2) x))) 1/3))
(*.f64 (pow.f64 2 1/6) (cbrt.f64 (*.f64 x (sqrt.f64 (*.f64 (sqrt.f64 2) x)))))
(*.f64 (pow.f64 2 1/6) (sqrt.f64 (*.f64 (pow.f64 2 1/6) x)))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6) (cbrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (cbrt.f64 x) (pow.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 2)) 1/2))
(*.f64 (cbrt.f64 x) (pow.f64 (pow.f64 (*.f64 2 (*.f64 (sqrt.f64 2) x)) 1/2) 1/3))
(*.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (sqrt.f64 2) x)) 1/2)))
(*.f64 (cbrt.f64 x) (sqrt.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 2))))
(*.f64 (pow.f64 2 1/4) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (pow.f64 2 1/4))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 2)))) (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 2)))) (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4)) (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (pow.f64 2 1/8) (pow.f64 (*.f64 (pow.f64 2 1/4) x) 1/2))
(*.f64 (pow.f64 2 1/8) (pow.f64 (pow.f64 (*.f64 x (*.f64 (sqrt.f64 2) x)) 1/2) 1/2))
(*.f64 (pow.f64 2 1/8) (sqrt.f64 (*.f64 (pow.f64 2 1/4) x)))
(*.f64 (pow.f64 2 1/8) (sqrt.f64 (pow.f64 (*.f64 x (*.f64 (sqrt.f64 2) x)) 1/2)))
(*.f64 (pow.f64 x 1/4) (pow.f64 (pow.f64 (*.f64 x 2) 1/2) 1/2))
(*.f64 (pow.f64 x 1/4) (sqrt.f64 (pow.f64 (*.f64 x 2) 1/2)))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/8) (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4) 1/2))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/8) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4)))
(*.f64 (pow.f64 1 1/3) (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4) 1/2) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/8))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 x 2))) 1/2) (pow.f64 x 1/6))
(*.f64 (pow.f64 (pow.f64 (*.f64 2 x) 1/2) 1/2) (pow.f64 x 1/4))
(*.f64 (pow.f64 (*.f64 x (cbrt.f64 2)) 1/2) (pow.f64 (sqrt.f64 2) 1/6))
(*.f64 (pow.f64 (*.f64 x (pow.f64 2 1/4)) 1/2) (pow.f64 2 1/8))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6) 1/2) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (sqrt.f64 2)) 1/2) 1/2) (pow.f64 x 1/4))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 1/3) (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (pow.f64 2 1/4)) 1/3) (pow.f64 x 1/6))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/4) 1/3) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (pow.f64 2 1/4))) (pow.f64 x 1/6))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/4)) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6)) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4)) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/8))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 x 2)))) (pow.f64 x 1/6))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 2 x) 1/2)) (pow.f64 x 1/4))
(*.f64 (sqrt.f64 (*.f64 x (cbrt.f64 2))) (pow.f64 (sqrt.f64 2) 1/6))
(*.f64 (sqrt.f64 (*.f64 x (pow.f64 2 1/4))) (pow.f64 2 1/8))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (sqrt.f64 2)) 1/2)) (pow.f64 x 1/4))
(pow.f64 (*.f64 (sqrt.f64 2) x) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 1)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6) 3)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 3/2)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/2) 1/3)
(pow.f64 (*.f64 2 (pow.f64 x 2)) 1/4)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4) 2)
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(pow.f64 (exp.f64 1/2) (log.f64 (*.f64 (sqrt.f64 2) x)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))))
(fabs.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sqrt.f64 2) x))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (sqrt.f64 2) x))) 2))
Outputs
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 -1 (*.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (sqrt.f64 2))))
(*.f64 x (sqrt.f64 2))
(*.f64 -1 (*.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (sqrt.f64 2))))
(*.f64 x (sqrt.f64 2))
(*.f64 -1 (*.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (sqrt.f64 2))))
(*.f64 x (sqrt.f64 2))
(*.f64 -1 (*.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (sqrt.f64 2))))
(*.f64 x (sqrt.f64 2))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (sqrt.f64 -1) 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (sqrt.f64 -1) 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (sqrt.f64 -1) 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 -1 (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (sqrt.f64 -1) 2)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(+.f64 0 (*.f64 (sqrt.f64 2) x))
(*.f64 x (sqrt.f64 2))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 2 3/2)) x))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 2) x)) 1)
(*.f64 x (sqrt.f64 2))
(*.f64 (sqrt.f64 2) x)
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 (*.f64 (sqrt.f64 2) x) 1)
(*.f64 x (sqrt.f64 2))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 x (sqrt.f64 2))
(*.f64 1 (*.f64 (sqrt.f64 2) x))
(*.f64 x (sqrt.f64 2))
(*.f64 (cbrt.f64 2) (*.f64 (pow.f64 2 1/6) x))
(*.f64 (cbrt.f64 2) (*.f64 x (pow.f64 2 1/6)))
(*.f64 x (*.f64 (cbrt.f64 2) (pow.f64 2 1/6)))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) (cbrt.f64 (*.f64 2 (pow.f64 x 2))))
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) (cbrt.f64 (*.f64 2 (pow.f64 x 2))))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 1/2))
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 4)))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4)))
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 4)))
(*.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 2))) (cbrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) (cbrt.f64 (*.f64 2 (pow.f64 x 2))))
(*.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 (cbrt.f64 x) (sqrt.f64 2)))
(*.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 (sqrt.f64 2) (cbrt.f64 x)))
(*.f64 (sqrt.f64 2) (*.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 x)))
(*.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) x))
(*.f64 x (sqrt.f64 2))
(*.f64 (pow.f64 2 1/4) (pow.f64 (*.f64 x (*.f64 (sqrt.f64 2) x)) 1/2))
(*.f64 (pow.f64 2 1/4) (sqrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2))))
(*.f64 (pow.f64 2 1/4) (sqrt.f64 (*.f64 x (*.f64 (sqrt.f64 2) x))))
(*.f64 (pow.f64 2 1/4) (sqrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2))))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 x 2) 1/2))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x 2)))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) x)) 1/2))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x 2)))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) x))))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x 2)))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4) (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4))
(*.f64 x (sqrt.f64 2))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4))
(*.f64 x (sqrt.f64 2))
(*.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 x 2))) (cbrt.f64 x))
(*.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 (sqrt.f64 2) (cbrt.f64 x)))
(*.f64 (sqrt.f64 2) (*.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 x)))
(*.f64 (pow.f64 (*.f64 2 x) 1/2) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x 2)))
(*.f64 (*.f64 x (cbrt.f64 2)) (pow.f64 2 1/6))
(*.f64 (cbrt.f64 2) (*.f64 x (pow.f64 2 1/6)))
(*.f64 x (*.f64 (cbrt.f64 2) (pow.f64 2 1/6)))
(*.f64 (*.f64 x (pow.f64 2 1/4)) (pow.f64 2 1/4))
(*.f64 x (sqrt.f64 2))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 5/6) (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6))
(*.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (sqrt.f64 2)) 1/2) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x 2)))
(*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 2) x))
(*.f64 x (sqrt.f64 2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 1/2) (cbrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 4)))
(*.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) x) 1/2) (pow.f64 2 1/4))
(*.f64 (pow.f64 2 1/4) (sqrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 5) 1/2) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 5)))
(*.f64 (pow.f64 (*.f64 (*.f64 2 (pow.f64 x 2)) (sqrt.f64 2)) 1/3) (cbrt.f64 x))
(*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 2 (*.f64 (pow.f64 x 2) (sqrt.f64 2)))))
(*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 x 2)))))
(*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (pow.f64 x 2) (pow.f64 2 3/2))))
(*.f64 (pow.f64 (*.f64 (*.f64 2 (pow.f64 x 2)) x) 1/3) (pow.f64 2 1/6))
(*.f64 (pow.f64 2 1/6) (cbrt.f64 (*.f64 x (*.f64 2 (pow.f64 x 2)))))
(*.f64 (pow.f64 2 1/6) (cbrt.f64 (*.f64 2 (pow.f64 x 3))))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/2) 1/3) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6) (cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 5/2)))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 4) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 8)) (cbrt.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2)))))
(*.f64 (cbrt.f64 (*.f64 (*.f64 2 (pow.f64 x 2)) (sqrt.f64 2))) (cbrt.f64 x))
(*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 2 (*.f64 (pow.f64 x 2) (sqrt.f64 2)))))
(*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 x 2)))))
(*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (pow.f64 x 2) (pow.f64 2 3/2))))
(*.f64 (cbrt.f64 (*.f64 (*.f64 2 (pow.f64 x 2)) x)) (pow.f64 2 1/6))
(*.f64 (pow.f64 2 1/6) (cbrt.f64 (*.f64 x (*.f64 2 (pow.f64 x 2)))))
(*.f64 (pow.f64 2 1/6) (cbrt.f64 (*.f64 2 (pow.f64 x 3))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/2)) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6) (cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 5/2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 4) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 8)) (cbrt.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2)))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4)) (cbrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 4)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (sqrt.f64 2))) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x 2)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 2) x) x)) (pow.f64 2 1/4))
(*.f64 (pow.f64 2 1/4) (sqrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 5)) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 5)))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(*.f64 x (sqrt.f64 2))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))
(*.f64 x (sqrt.f64 2))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3))
(*.f64 x (sqrt.f64 2))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 x (sqrt.f64 2))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 x (sqrt.f64 2))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 x (sqrt.f64 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x))) 3))
(*.f64 x (sqrt.f64 2))
(exp.f64 (*.f64 (log.f64 (*.f64 2 (pow.f64 x 2))) 1/2))
(*.f64 x (sqrt.f64 2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 2) x))) 1/3))
(*.f64 x (sqrt.f64 2))
(+.f64 0 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2)))))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (sqrt.f64 2) x))) 1)
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 1)
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 1 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 (pow.f64 2 1/6) (pow.f64 (*.f64 (pow.f64 2 1/6) x) 1/2))
(*.f64 (pow.f64 2 1/6) (sqrt.f64 (*.f64 x (pow.f64 2 1/6))))
(*.f64 (pow.f64 2 1/6) (pow.f64 (*.f64 x (sqrt.f64 (*.f64 (sqrt.f64 2) x))) 1/3))
(*.f64 (pow.f64 2 1/6) (cbrt.f64 (*.f64 x (sqrt.f64 (*.f64 x (sqrt.f64 2))))))
(*.f64 (pow.f64 2 1/6) (cbrt.f64 (*.f64 x (sqrt.f64 (*.f64 (sqrt.f64 2) x)))))
(*.f64 (pow.f64 2 1/6) (cbrt.f64 (*.f64 x (sqrt.f64 (*.f64 x (sqrt.f64 2))))))
(*.f64 (pow.f64 2 1/6) (sqrt.f64 (*.f64 (pow.f64 2 1/6) x)))
(*.f64 (pow.f64 2 1/6) (sqrt.f64 (*.f64 x (pow.f64 2 1/6))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6) (cbrt.f64 (*.f64 (sqrt.f64 2) x)))
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6))
(pow.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6) 3)
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6))
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6))
(pow.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6) 3)
(*.f64 (cbrt.f64 x) (pow.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 2)) 1/2))
(*.f64 (cbrt.f64 x) (sqrt.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 x))))
(*.f64 (cbrt.f64 x) (pow.f64 (pow.f64 (*.f64 2 (*.f64 (sqrt.f64 2) x)) 1/2) 1/3))
(*.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (*.f64 2 (*.f64 x (sqrt.f64 2))))))
(*.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 2 (sqrt.f64 2))))))
(*.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (*.f64 x (pow.f64 2 3/2)))))
(*.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (sqrt.f64 2) x)) 1/2)))
(*.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (*.f64 2 (*.f64 x (sqrt.f64 2))))))
(*.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 2 (sqrt.f64 2))))))
(*.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (*.f64 x (pow.f64 2 3/2)))))
(*.f64 (cbrt.f64 x) (sqrt.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 2))))
(*.f64 (cbrt.f64 x) (sqrt.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 x))))
(*.f64 (pow.f64 2 1/4) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (pow.f64 2 1/4))
(*.f64 (pow.f64 2 1/4) (sqrt.f64 x))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 2)))) (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 2)))) (cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 5/6)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 2)))) (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x 2)))) (cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 5/6)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4)) (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6)) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 4)))
(*.f64 (pow.f64 2 1/8) (pow.f64 (*.f64 (pow.f64 2 1/4) x) 1/2))
(*.f64 (pow.f64 2 1/8) (sqrt.f64 (*.f64 x (pow.f64 2 1/4))))
(*.f64 (pow.f64 2 1/8) (pow.f64 (pow.f64 (*.f64 x (*.f64 (sqrt.f64 2) x)) 1/2) 1/2))
(*.f64 (pow.f64 2 1/8) (sqrt.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2)))))
(*.f64 (pow.f64 2 1/8) (sqrt.f64 (*.f64 (pow.f64 2 1/4) x)))
(*.f64 (pow.f64 2 1/8) (sqrt.f64 (*.f64 x (pow.f64 2 1/4))))
(*.f64 (pow.f64 2 1/8) (sqrt.f64 (pow.f64 (*.f64 x (*.f64 (sqrt.f64 2) x)) 1/2)))
(*.f64 (pow.f64 2 1/8) (sqrt.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2)))))
(*.f64 (pow.f64 x 1/4) (pow.f64 (pow.f64 (*.f64 x 2) 1/2) 1/2))
(*.f64 (pow.f64 x 1/4) (sqrt.f64 (sqrt.f64 (*.f64 x 2))))
(*.f64 (pow.f64 x 1/4) (sqrt.f64 (pow.f64 (*.f64 x 2) 1/2)))
(*.f64 (pow.f64 x 1/4) (sqrt.f64 (sqrt.f64 (*.f64 x 2))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/8) (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4) 1/2))
(*.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/8) (sqrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3/4)))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/8) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4)))
(*.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/8) (sqrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3/4)))
(*.f64 (pow.f64 1 1/3) (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4) 1/2) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/8))
(*.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/8) (sqrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3/4)))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 x 2))) 1/2) (pow.f64 x 1/6))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 x 2)))) (pow.f64 x 1/6))
(*.f64 (pow.f64 (pow.f64 (*.f64 2 x) 1/2) 1/2) (pow.f64 x 1/4))
(*.f64 (pow.f64 x 1/4) (sqrt.f64 (sqrt.f64 (*.f64 x 2))))
(*.f64 (pow.f64 (*.f64 x (cbrt.f64 2)) 1/2) (pow.f64 (sqrt.f64 2) 1/6))
(*.f64 (sqrt.f64 (*.f64 x (cbrt.f64 2))) (pow.f64 (sqrt.f64 2) 1/6))
(*.f64 (pow.f64 (*.f64 x (pow.f64 2 1/4)) 1/2) (pow.f64 2 1/8))
(*.f64 (pow.f64 2 1/8) (sqrt.f64 (*.f64 x (pow.f64 2 1/4))))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6) 1/2) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 5/6)) (sqrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (sqrt.f64 2)) 1/2) 1/2) (pow.f64 x 1/4))
(*.f64 (pow.f64 x 1/4) (sqrt.f64 (sqrt.f64 (*.f64 x 2))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 4) 1/3) (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6)) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 4)))
(*.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (pow.f64 2 1/4)) 1/3) (pow.f64 x 1/6))
(*.f64 (pow.f64 x 1/6) (cbrt.f64 (*.f64 (sqrt.f64 2) (*.f64 x (pow.f64 2 1/4)))))
(*.f64 (pow.f64 x 1/6) (cbrt.f64 (*.f64 x (*.f64 (sqrt.f64 2) (pow.f64 2 1/4)))))
(*.f64 (pow.f64 x 1/6) (cbrt.f64 (*.f64 x (pow.f64 (pow.f64 2 1/4) 3))))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/4) 1/3) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6)) (cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 5/4)))
(*.f64 (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (pow.f64 2 1/4))) (pow.f64 x 1/6))
(*.f64 (pow.f64 x 1/6) (cbrt.f64 (*.f64 (sqrt.f64 2) (*.f64 x (pow.f64 2 1/4)))))
(*.f64 (pow.f64 x 1/6) (cbrt.f64 (*.f64 x (*.f64 (sqrt.f64 2) (pow.f64 2 1/4)))))
(*.f64 (pow.f64 x 1/6) (cbrt.f64 (*.f64 x (pow.f64 (pow.f64 2 1/4) 3))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/4)) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6)) (cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 5/4)))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 5/6)) (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 5/6)) (sqrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6)))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/4)) (pow.f64 (*.f64 (sqrt.f64 2) x) 1/8))
(*.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/8) (sqrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3/4)))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 x 2)))) (pow.f64 x 1/6))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 2 x) 1/2)) (pow.f64 x 1/4))
(*.f64 (pow.f64 x 1/4) (sqrt.f64 (sqrt.f64 (*.f64 x 2))))
(*.f64 (sqrt.f64 (*.f64 x (cbrt.f64 2))) (pow.f64 (sqrt.f64 2) 1/6))
(*.f64 (sqrt.f64 (*.f64 x (pow.f64 2 1/4))) (pow.f64 2 1/8))
(*.f64 (pow.f64 2 1/8) (sqrt.f64 (*.f64 x (pow.f64 2 1/4))))
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 2) x) (sqrt.f64 2)) 1/2)) (pow.f64 x 1/4))
(*.f64 (pow.f64 x 1/4) (sqrt.f64 (sqrt.f64 (*.f64 x 2))))
(pow.f64 (*.f64 (sqrt.f64 2) x) 1/2)
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 1)
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6) 3)
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6))
(pow.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6) 3)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) x)) 3/2)
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/2) 1/3)
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(pow.f64 (*.f64 2 (pow.f64 x 2)) 1/4)
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/4) 2)
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2)))))
(pow.f64 (exp.f64 1/2) (log.f64 (*.f64 (sqrt.f64 2) x)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))))))
(fabs.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 3/2))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x))))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1/6)) 3))
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6))
(pow.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 1/6) 3)
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sqrt.f64 2) x))) 1/3))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (sqrt.f64 2) x))) 2))
(sqrt.f64 (*.f64 x (sqrt.f64 2)))

eval76.0ms (1%)

Compiler

Compiled 2623 to 2262 computations (13.8% saved)

prune91.0ms (1.3%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New2051206
Fresh000
Picked101
Done066
Total2067213
Accuracy
100.0%
Counts
213 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
99.3%
(*.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) x))
6.7%
(*.f64 (*.f64 x 2) x)
99.3%
(*.f64 (sqrt.f64 2) x)
2.2%
(*.f64 x -2)
5.3%
512
5.3%
32
Compiler

Compiled 33 to 26 computations (21.2% saved)

localize64.0ms (0.9%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.6%
(*.f64 (pow.f64 2 1/4) x)
99.6%
(*.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) x))
Compiler

Compiled 22 to 19 computations (13.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
Operation ival-pow, time spent: 28.0ms, 81.0% of total-time
Operation ival-mult, time spent: 5.0ms, 14.0% of total-time
Operation const, time spent: 2.0ms, 6.0% of total-time

series58.0ms (0.8%)

Counts
2 → 12
Calls
Call 1
Inputs
#<alt (*.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) x))>
#<alt (*.f64 (pow.f64 2 1/4) x)>
Outputs
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
#<alt (*.f64 x (sqrt.f64 2))>
Calls

6 calls:

TimeVariablePointExpression
55.0ms
x
@0
(* (pow 2 1/4) x)
1.0ms
x
@inf
(* (pow 2 1/4) (* (pow 2 1/4) x))
0.0ms
x
@0
(* (pow 2 1/4) (* (pow 2 1/4) x))
0.0ms
x
@-inf
(* (pow 2 1/4) x)
0.0ms
x
@inf
(* (pow 2 1/4) x)

rewrite78.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
802×unpow-prod-down
476×log-prod
464×cbrt-prod
424×prod-exp
359×log1p-expm1-u
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01044
19432
2106530
Stop Event
node limit
Counts
2 → 42
Calls
Call 1
Inputs
(*.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) x))
(*.f64 (pow.f64 2 1/4) x)
Outputs
(+.f64 0 (*.f64 x (sqrt.f64 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(-.f64 (+.f64 1 (*.f64 x (sqrt.f64 2))) 1)
(pow.f64 (*.f64 x (sqrt.f64 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 3)
(pow.f64 (*.f64 2 (pow.f64 x 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 x (sqrt.f64 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2))))) (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))
(cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (sqrt.f64 2))))
(log1p.f64 (expm1.f64 (*.f64 x (sqrt.f64 2))))
(exp.f64 (log.f64 (*.f64 x (sqrt.f64 2))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2)))) 2))
(+.f64 0 (*.f64 (pow.f64 2 1/4) x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))))
(-.f64 (+.f64 1 (*.f64 (pow.f64 2 1/4) x)) 1)
(pow.f64 (*.f64 (pow.f64 2 1/4) x) 1)
(pow.f64 (*.f64 (pow.f64 2 1/12) (cbrt.f64 x)) 3)
(pow.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2)) 1/2)
(pow.f64 (*.f64 (pow.f64 2 3/4) (pow.f64 x 3)) 1/3)
(pow.f64 (*.f64 (pow.f64 2 1/8) (sqrt.f64 x)) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 2 1/4) x)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x))))
(sqrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))
(cbrt.f64 (*.f64 (pow.f64 2 3/4) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 2 1/4) x)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 2 1/4) x)))
(exp.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 2 1/12) (cbrt.f64 x))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 2 1/4) x))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 2 1/8) (sqrt.f64 x))) 2))

simplify93.0ms (1.3%)

Algorithm
egg-herbie
Rules
1712×prod-exp
1506×distribute-lft-in
1326×distribute-rgt-in
956×fma-define
426×*-commutative
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01241174
12121166
24521166
314241166
455971166
577621166
Stop Event
node limit
Counts
54 → 49
Calls
Call 1
Inputs
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(+.f64 0 (*.f64 x (sqrt.f64 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(-.f64 (+.f64 1 (*.f64 x (sqrt.f64 2))) 1)
(pow.f64 (*.f64 x (sqrt.f64 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 3)
(pow.f64 (*.f64 2 (pow.f64 x 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 x (sqrt.f64 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2))))) (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))
(cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (sqrt.f64 2))))
(log1p.f64 (expm1.f64 (*.f64 x (sqrt.f64 2))))
(exp.f64 (log.f64 (*.f64 x (sqrt.f64 2))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2)))) 2))
(+.f64 0 (*.f64 (pow.f64 2 1/4) x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))))
(-.f64 (+.f64 1 (*.f64 (pow.f64 2 1/4) x)) 1)
(pow.f64 (*.f64 (pow.f64 2 1/4) x) 1)
(pow.f64 (*.f64 (pow.f64 2 1/12) (cbrt.f64 x)) 3)
(pow.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2)) 1/2)
(pow.f64 (*.f64 (pow.f64 2 3/4) (pow.f64 x 3)) 1/3)
(pow.f64 (*.f64 (pow.f64 2 1/8) (sqrt.f64 x)) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 2 1/4) x)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x))))
(sqrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))
(cbrt.f64 (*.f64 (pow.f64 2 3/4) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 2 1/4) x)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 2 1/4) x)))
(exp.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 2 1/12) (cbrt.f64 x))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 2 1/4) x))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 2 1/8) (sqrt.f64 x))) 2))
Outputs
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(*.f64 x (sqrt.f64 2))
(+.f64 0 (*.f64 x (sqrt.f64 2)))
(*.f64 x (sqrt.f64 2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))))
(-.f64 (+.f64 1 (*.f64 x (sqrt.f64 2))) 1)
(*.f64 x (sqrt.f64 2))
(pow.f64 (*.f64 x (sqrt.f64 2)) 1)
(*.f64 x (sqrt.f64 2))
(pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2))) 3)
(*.f64 x (sqrt.f64 2))
(pow.f64 (*.f64 2 (pow.f64 x 2)) 1/2)
(*.f64 x (sqrt.f64 2))
(pow.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3) 1/3)
(*.f64 x (sqrt.f64 2))
(pow.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2))) 2)
(*.f64 x (sqrt.f64 2))
(pow.f64 (E.f64) (log.f64 (*.f64 x (sqrt.f64 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2))))) (sqrt.f64 (log.f64 (*.f64 x (sqrt.f64 2)))))
(sqrt.f64 (*.f64 2 (pow.f64 x 2)))
(*.f64 x (sqrt.f64 2))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) x))
(*.f64 x (sqrt.f64 2))
(cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3))
(*.f64 x (sqrt.f64 2))
(expm1.f64 (log1p.f64 (*.f64 x (sqrt.f64 2))))
(*.f64 x (sqrt.f64 2))
(log1p.f64 (expm1.f64 (*.f64 x (sqrt.f64 2))))
(*.f64 x (sqrt.f64 2))
(exp.f64 (log.f64 (*.f64 x (sqrt.f64 2))))
(*.f64 x (sqrt.f64 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sqrt.f64 2)))) 3))
(*.f64 x (sqrt.f64 2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (sqrt.f64 2)) 3)) 1/3))
(*.f64 x (sqrt.f64 2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 2)))) 2))
(*.f64 x (sqrt.f64 2))
(+.f64 0 (*.f64 (pow.f64 2 1/4) x))
(*.f64 x (pow.f64 2 1/4))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))))
(-.f64 (+.f64 1 (*.f64 (pow.f64 2 1/4) x)) 1)
(*.f64 x (pow.f64 2 1/4))
(pow.f64 (*.f64 (pow.f64 2 1/4) x) 1)
(*.f64 x (pow.f64 2 1/4))
(pow.f64 (*.f64 (pow.f64 2 1/12) (cbrt.f64 x)) 3)
(*.f64 x (pow.f64 (pow.f64 2 1/12) 3))
(pow.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2)) 1/2)
(sqrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2)))
(pow.f64 (*.f64 (pow.f64 2 3/4) (pow.f64 x 3)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 2 3/4) (pow.f64 x 3)))
(pow.f64 (*.f64 (pow.f64 2 1/8) (sqrt.f64 x)) 2)
(*.f64 x (pow.f64 2 1/4))
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 2 1/4) x)))
(*.f64 x (pow.f64 2 1/4))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (pow.f64 2 1/4)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (pow.f64 2 1/4)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (pow.f64 2 1/4))))) (sqrt.f64 (log.f64 (*.f64 x (pow.f64 2 1/4)))))
(sqrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 2 1/4)) x))
(*.f64 x (pow.f64 2 1/4))
(cbrt.f64 (*.f64 (pow.f64 2 3/4) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 2 1/4) x)))
(*.f64 x (pow.f64 2 1/4))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 2 1/4) x)))
(*.f64 x (pow.f64 2 1/4))
(exp.f64 (log.f64 (*.f64 (pow.f64 2 1/4) x)))
(*.f64 x (pow.f64 2 1/4))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 2 1/12) (cbrt.f64 x))) 3))
(pow.f64 (*.f64 (pow.f64 2 1/12) (cbrt.f64 x)) 3)
(*.f64 x (pow.f64 (pow.f64 2 1/12) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 2 1/4) x))) 1/3))
(*.f64 x (pow.f64 2 1/4))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 2 1/8) (sqrt.f64 x))) 2))
(*.f64 x (pow.f64 2 1/4))

eval16.0ms (0.2%)

Compiler

Compiled 565 to 503 computations (11% saved)

prune19.0ms (0.3%)

Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New49049
Fresh000
Picked011
Done066
Total49756
Accuracy
100.0%
Counts
56 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
99.3%
(*.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) x))
6.7%
(*.f64 (*.f64 x 2) x)
99.3%
(*.f64 (sqrt.f64 2) x)
2.2%
(*.f64 x -2)
5.3%
512
5.3%
32
Compiler

Compiled 75 to 55 computations (26.7% saved)

regimes21.0ms (0.3%)

Counts
9 → 1
Calls
Call 1
Inputs
32
512
(*.f64 x -2)
(*.f64 (*.f64 x 2) x)
(hypot.f64 x x)
(*.f64 (sqrt.f64 2) x)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 x x)))
(*.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) x))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 2) x)) 2)
Outputs
(hypot.f64 x x)
Calls

4 calls:

7.0ms
x
5.0ms
(*.f64 x x)
4.0ms
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 x x)))
4.0ms
(+.f64 (*.f64 x x) (*.f64 x x))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 x x)))
100.0%1(+.f64 (*.f64 x x) (*.f64 x x))
100.0%1(*.f64 x x)
Compiler

Compiled 23 to 10 computations (56.5% saved)

regimes4.0ms (0.1%)

Counts
4 → 1
Calls
Call 1
Inputs
32
512
(*.f64 x -2)
(*.f64 (*.f64 x 2) x)
Outputs
(*.f64 (*.f64 x 2) x)
Calls

1 calls:

4.0ms
x
Results
AccuracySegmentsBranch
6.7%1x
Compiler

Compiled 2 to 1 computations (50% saved)

regimes4.0ms (0.1%)

Accuracy

Total -2.2b remaining (-3.6%)

Threshold costs -2.2b (-3.6%)

Counts
3 → 1
Calls
Call 1
Inputs
32
512
(*.f64 x -2)
Outputs
32
Calls

1 calls:

4.0ms
x
Results
AccuracySegmentsBranch
5.3%1x
Compiler

Compiled 2 to 1 computations (50% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01033
11233
Stop Event
done
saturated
Calls
Call 1
Inputs
(hypot.f64 x x)
(*.f64 (*.f64 x 2) x)
32
Outputs
(hypot.f64 x x)
(*.f64 (*.f64 x 2) x)
(*.f64 x (*.f64 x 2))
32
Compiler

Compiled 12 to 8 computations (33.3% saved)

soundness4.4s (61.2%)

Rules
801×log1p-expm1-u
801×expm1-log1p-u
404×associate-*r*
340×associate-*l*
288×unpow-prod-down
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01456
13656
28256
319756
430256
536256
636456
022212884902958
158112884902958
0613
14613
24827
355707
Stop Event
node limit
unsound
saturated
Compiler

Compiled 326 to 87 computations (73.3% saved)

end0.0ms (0%)

preprocess37.0ms (0.5%)

Remove

(abs x)

Compiler

Compiled 70 to 36 computations (48.6% saved)

Profiling

Loading profile data...