sqrt C (should all be same)

Time bar (total: 3.8s)

analyze1.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 8 to 6 computations (25% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-mult: 0.0ms (0% of total)
const: 0.0ms (0% of total)
ival-sqrt: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

sample709.0ms (18.4%)

Results
538.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 256.0ms
ival-mult: 139.0ms (54.3% of total)
ival-sqrt: 104.0ms (40.6% of total)
const: 10.0ms (3.9% of total)
backward-pass: 3.0ms (1.2% of total)
Bogosity

preprocess21.0ms (0.5%)

Algorithm
egg-herbie
Rules
128×fma-define
124×fmsub-define
120×fnmsub-define
120×fnmadd-define
40×sum3-define
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
12716
26516
313416
422416
537716
649216
749516
055
195
2125
0125
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(sqrt (* 2 (* x x)))
Outputs
(sqrt (* 2 (* x x)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Call 2
Inputs
(sqrt (* 2 (* x x)))
(sqrt (* 2 (* (neg x) (neg x))))
(neg (sqrt (* 2 (* (neg x) (neg x)))))
Outputs
(sqrt (* 2 (* x x)))
(sqrt (* 2 (square x)))
(sqrt (* 2 (* (neg x) (neg x))))
(sqrt (* 2 (square x)))
(neg (sqrt (* 2 (* (neg x) (neg x)))))
(neg (sqrt (* 2 (square x))))
Symmetry

(abs x)

explain100.0ms (2.6%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1340-3(2.3378134110701497e-161)(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
00-0-(*.f64 #s(literal 2 binary64) (*.f64 x x))
00-0-x
00-0-(*.f64 x x)
00-0-#s(literal 2 binary64)
Results
81.0ms512×0valid
Compiler

Compiled 43 to 17 computations (60.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 56.0ms
ival-mult: 43.0ms (77.4% of total)
ival-sqrt: 11.0ms (19.8% of total)
const: 1.0ms (1.8% of total)
backward-pass: 0.0ms (0% of total)

eval0.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune1.0ms (0%)

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

Compiled 7 to 5 computations (28.6% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 #s(literal 2 binary64) (*.f64 x x))
cost-diff0
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Rules
14×*-lowering-*.f32
14×*-lowering-*.f64
*-commutative
sqrt-lowering-sqrt.f64
associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0513
1913
21213
01213
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(sqrt (* 2 (* x x)))
(* 2 (* x x))
2
(* x x)
x
Outputs
(sqrt (* 2 (* x x)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(* 2 (* x x))
(*.f64 #s(literal 2 binary64) (*.f64 x x))
2
#s(literal 2 binary64)
(* x x)
(*.f64 x x)
x

localize29.0ms (0.7%)

Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 x x)
accuracy100.0%
(*.f64 #s(literal 2 binary64) (*.f64 x x))
accuracy51.5%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Results
22.0ms256×0valid
Compiler

Compiled 18 to 6 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 6.0ms (66.1% of total)
ival-sqrt: 2.0ms (22% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series3.0ms (0.1%)

Counts
3 → 36
Calls
Call 1
Inputs
#<alt (sqrt (* 2 (* x x)))>
#<alt (* 2 (* x x))>
#<alt (* x x)>
Outputs
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* -1 (* x (sqrt 2)))>
#<alt (* -1 (* x (sqrt 2)))>
#<alt (* -1 (* x (sqrt 2)))>
#<alt (* -1 (* x (sqrt 2)))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
Calls

9 calls:

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

rewrite230.0ms (6%)

Algorithm
batch-egg-rewrite
Rules
2622×*-lowering-*.f32
2622×*-lowering-*.f64
1850×fma-define
1570×fma-lowering-fma.f32
1570×fma-lowering-fma.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0511
11511
23910
37910
424210
579610
6396610
0815510
Stop Event
iter limit
node limit
Counts
3 → 171
Calls
Call 1
Inputs
(sqrt (* 2 (* x x)))
(* 2 (* x x))
(* x x)
Outputs
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(neg.f64 (*.f64 x (sqrt.f64 #s(literal 2 binary64))))
(pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 x (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(*.f64 #s(literal -1 binary64) (*.f64 x (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)) (*.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64)))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1 binary64)) x)
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal -1 binary64)) x)
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 #s(literal 0 binary64) (sqrt.f64 x))) (-.f64 #s(literal 0 binary64) (sqrt.f64 x)))
(*.f64 (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))) (pow.f64 x #s(literal 1/8 binary64)))
(+.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(+.f64 (*.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) x)) (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))))
(fma.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(fma.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) x) (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(*.f64 #s(literal 2 binary64) (*.f64 x x))
(*.f64 x (*.f64 #s(literal 2 binary64) x))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) x) x)
(*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)) #s(literal -1 binary64))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (neg.f64 (pow.f64 x #s(literal 3/4 binary64))) (*.f64 #s(literal 2 binary64) x)))
(*.f64 #s(literal -1 binary64) (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(*.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (-.f64 #s(literal 0 binary64) (sqrt.f64 x)))
(*.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (*.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)) #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 7/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))) (pow.f64 x #s(literal 7/4 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))) (neg.f64 (pow.f64 x #s(literal 3/4 binary64))))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 5/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))
(*.f64 (neg.f64 (pow.f64 x #s(literal 3/4 binary64))) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))) (pow.f64 x #s(literal 5/4 binary64)))
(*.f64 #s(literal -2 binary64) (*.f64 x x))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1 binary64)) x)
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (neg.f64 (pow.f64 x #s(literal 3/4 binary64)))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(+.f64 (*.f64 x #s(literal 0 binary64)) (*.f64 x x))
(+.f64 (*.f64 #s(literal 0 binary64) x) (*.f64 x x))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 x)))
(exp.f64 (*.f64 (*.f64 (log.f64 x) #s(literal 1/4 binary64)) #s(literal 8 binary64)))
(exp.f64 (*.f64 #s(literal 2 binary64) (/.f64 (*.f64 #s(literal 2 binary64) (log.f64 x)) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))))) (*.f64 (log.f64 x) #s(literal 1/4 binary64))))
(exp.f64 (*.f64 (log.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x))) #s(literal 4 binary64)))
(fabs.f64 (*.f64 x x))
(-.f64 #s(literal 0 binary64) (*.f64 x x))
(sqrt.f64 (*.f64 x (*.f64 x (*.f64 x x))))
(fma.f64 x #s(literal 0 binary64) (*.f64 x x))
(fma.f64 #s(literal 0 binary64) x (*.f64 x x))
(neg.f64 (*.f64 x x))
(pow.f64 x #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1 binary64))
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
(pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64))
(pow.f64 (*.f64 x (*.f64 x (*.f64 x x))) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (*.f64 (log.f64 x) #s(literal 4 binary64)))
(pow.f64 (*.f64 (E.f64) (E.f64)) (log.f64 x))
(pow.f64 (*.f64 (E.f64) (E.f64)) (/.f64 (*.f64 #s(literal 2 binary64) (log.f64 x)) #s(literal 2 binary64)))
(pow.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)) #s(literal 4 binary64))
(pow.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(pow.f64 (E.f64) (*.f64 #s(literal 2 binary64) (log.f64 x)))
(pow.f64 (*.f64 (*.f64 x x) (*.f64 (*.f64 x x) (*.f64 x (*.f64 x (*.f64 x x))))) #s(literal 1/4 binary64))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (*.f64 #s(literal 8 binary64) (log.f64 x)))
(pow.f64 (*.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64)))) (*.f64 (log.f64 x) #s(literal 1/4 binary64)))
(pow.f64 (*.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64)))) (/.f64 (/.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 2 binary64)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 1/2 binary64)) #s(literal 8 binary64)) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(pow.f64 (pow.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) #s(literal 1/8 binary64)) (*.f64 (log.f64 x) #s(literal 4 binary64)))
(pow.f64 (pow.f64 (E.f64) #s(literal 1/4 binary64)) (*.f64 #s(literal 8 binary64) (log.f64 x)))
(pow.f64 (pow.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) #s(literal 4 binary64)) (*.f64 (/.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(pow.f64 (pow.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (log.f64 x) #s(literal 4 binary64))) #s(literal 1/8 binary64))
(pow.f64 (pow.f64 (E.f64) #s(literal 8 binary64)) (*.f64 (log.f64 x) #s(literal 1/4 binary64)))
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64)))) #s(literal 2 binary64)) (*.f64 #s(literal 1/8 binary64) (log.f64 x)))
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64)))) #s(literal 2 binary64)) (*.f64 (/.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64)))) #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (log.f64 x)))
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64)))) #s(literal 1/2 binary64)) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64)))) #s(literal 1 binary64)) (*.f64 (log.f64 x) #s(literal 1/4 binary64)))
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64)))) (*.f64 #s(literal 2 binary64) (log.f64 x))) #s(literal 1/8 binary64))
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64)))) #s(literal 1/4 binary64)) (log.f64 x))
(*.f64 x x)
(*.f64 x (pow.f64 (*.f64 (E.f64) (E.f64)) (log.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)))))
(*.f64 (*.f64 x x) #s(literal 1 binary64))
(*.f64 (*.f64 x x) #s(literal -1 binary64))
(*.f64 (*.f64 x x) (pow.f64 (*.f64 (E.f64) (E.f64)) (log.f64 #s(literal -1 binary64))))
(*.f64 (sqrt.f64 x) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (sqrt.f64 x) (pow.f64 (pow.f64 x #s(literal 3/8 binary64)) #s(literal 4 binary64)))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 (E.f64) (E.f64)) (log.f64 (neg.f64 (pow.f64 x #s(literal 3/4 binary64))))))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (*.f64 (log.f64 x) #s(literal 3/2 binary64)) #s(literal 1/2 binary64))))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 #s(literal 3/8 binary64) (log.f64 x))))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (*.f64 (log.f64 x) #s(literal 3/2 binary64)) #s(literal 1/4 binary64))))
(*.f64 #s(literal 1 binary64) (*.f64 x x))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 7/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 (pow.f64 x #s(literal 7/4 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (neg.f64 (pow.f64 x #s(literal 7/4 binary64))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (neg.f64 (pow.f64 x #s(literal 3/4 binary64))) x))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 x #s(literal 1/4 binary64))) (pow.f64 x #s(literal 3/2 binary64))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (pow.f64 x #s(literal 5/4 binary64)) (-.f64 #s(literal 0 binary64) (sqrt.f64 x))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 (exp.f64 #s(literal 1/2 binary64)) (*.f64 #s(literal 7/2 binary64) (log.f64 x))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 (E.f64) (*.f64 #s(literal 7/4 binary64) (log.f64 x))))
(*.f64 #s(literal -1 binary64) (*.f64 x x))
(*.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 5/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 x #s(literal 7/4 binary64))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 x #s(literal 3/2 binary64))))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (pow.f64 x #s(literal 5/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (pow.f64 (exp.f64 #s(literal 1/2 binary64)) (*.f64 #s(literal 5/2 binary64) (log.f64 x))))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (sqrt.f64 x))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (-.f64 #s(literal 0 binary64) (sqrt.f64 x)))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (pow.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)) #s(literal 1 binary64)))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (pow.f64 (E.f64) (log.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)))))
(*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 x #s(literal 1/4 binary64))) (pow.f64 x #s(literal 7/4 binary64)))
(*.f64 (pow.f64 x #s(literal 7/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 7/4 binary64)) (-.f64 #s(literal 0 binary64) (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (pow.f64 x #s(literal 5/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (pow.f64 x #s(literal 5/4 binary64)) (neg.f64 (pow.f64 x #s(literal 3/4 binary64))))
(*.f64 (neg.f64 (pow.f64 x #s(literal 3/4 binary64))) (pow.f64 x #s(literal 5/4 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)) #s(literal 1 binary64)) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (pow.f64 (pow.f64 x #s(literal 7/4 binary64)) #s(literal 1 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (pow.f64 x #s(literal 3/8 binary64)) #s(literal 4 binary64)) (sqrt.f64 x))
(*.f64 (neg.f64 (pow.f64 x #s(literal 7/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 x (neg.f64 (pow.f64 x #s(literal 3/4 binary64)))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/2 binary64)) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/2 binary64)) (-.f64 #s(literal 0 binary64) (pow.f64 x #s(literal 1/4 binary64)))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 7/4 binary64)) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (*.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 7/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)) (pow.f64 x #s(literal 5/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/2 binary64)) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 (E.f64) (log.f64 #s(literal -1 binary64))) (*.f64 x x))
(*.f64 (pow.f64 (E.f64) (log.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)))) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (pow.f64 (exp.f64 #s(literal 1/2 binary64)) (*.f64 #s(literal 7/2 binary64) (log.f64 x))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (exp.f64 #s(literal 1/2 binary64)) (*.f64 #s(literal 5/2 binary64) (log.f64 x))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (pow.f64 (*.f64 (E.f64) (E.f64)) (log.f64 #s(literal -1 binary64))) (*.f64 x x))
(*.f64 (pow.f64 (*.f64 (E.f64) (E.f64)) (log.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)))) x)
(*.f64 (pow.f64 (*.f64 (E.f64) (E.f64)) (log.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)))) (pow.f64 (*.f64 (E.f64) (E.f64)) (log.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)))))
(*.f64 (pow.f64 (*.f64 (E.f64) (E.f64)) (log.f64 (neg.f64 (pow.f64 x #s(literal 3/4 binary64))))) (sqrt.f64 x))
(*.f64 (pow.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (*.f64 (log.f64 x) #s(literal 3/2 binary64)) #s(literal 1/2 binary64))) (sqrt.f64 x))
(*.f64 (pow.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 #s(literal 3/8 binary64) (log.f64 x))) (sqrt.f64 x))
(*.f64 (pow.f64 (*.f64 (*.f64 (E.f64) (E.f64)) (*.f64 (E.f64) (E.f64))) (*.f64 (*.f64 (log.f64 x) #s(literal 3/2 binary64)) #s(literal 1/4 binary64))) (sqrt.f64 x))
(*.f64 (pow.f64 (E.f64) (*.f64 #s(literal 7/4 binary64) (log.f64 x))) (pow.f64 x #s(literal 1/4 binary64)))

simplify14.0ms (0.4%)

Algorithm
egg-herbie
Rules
106×sum3-define
98×fma-define
46×fma-lowering-fma.f32
46×fma-lowering-fma.f64
38×*-lowering-*.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
08148
115124
233124
338124
442124
564124
696124
7108124
8139124
9232124
10235124
0235124
Stop Event
iter limit
saturated
Counts
36 → 36
Calls
Call 1
Inputs
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
Outputs
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* x (sqrt 2)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 #s(literal 0 binary64) x))
(* -1 (* x (sqrt 2)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 #s(literal 0 binary64) x))
(* -1 (* x (sqrt 2)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 #s(literal 0 binary64) x))
(* -1 (* x (sqrt 2)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 #s(literal 0 binary64) x))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)

eval23.0ms (0.6%)

Compiler

Compiled 2248 to 561 computations (75% saved)

prune32.0ms (0.8%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1989207
Fresh000
Picked011
Done000
Total19810208
Accuracy
100.0%
Counts
208 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.4%
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
99.4%
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
99.3%
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))))
70.1%
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
99.4%
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))))
99.3%
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
51.5%
(sqrt.f64 (*.f64 (pow.f64 x #s(literal 5/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))))
51.0%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64))))
51.2%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
51.5%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Compiler

Compiled 191 to 155 computations (18.8% saved)

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(pow.f64 x #s(literal 1/8 binary64))
cost-diff64
(pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))
cost-diff64
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)))
cost-diff64
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))))
cost-diff0
(*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))
cost-diff0
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))
cost-diff0
(pow.f64 x #s(literal 1/4 binary64))
cost-diff0
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
cost-diff0
(pow.f64 x #s(literal 1/4 binary64))
cost-diff0
(pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64))
cost-diff0
(*.f64 #s(literal 2 binary64) (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64)))
cost-diff0
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64))))
cost-diff0
(sqrt.f64 #s(literal 2 binary64))
cost-diff0
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
cost-diff0
(sqrt.f64 x)
cost-diff0
(*.f64 #s(literal 2 binary64) x)
cost-diff64
(pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))
cost-diff64
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
Rules
48×*-lowering-*.f32
48×*-lowering-*.f64
22×*-commutative
12×pow-lowering-pow.f64
12×pow-lowering-pow.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026123
137123
244123
346123
046123
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* (pow (* 2 x) 1/2) (sqrt x))
(pow (* 2 x) 1/2)
(* 2 x)
2
x
1/2
(sqrt x)
(* (sqrt 2) x)
(sqrt 2)
2
x
(sqrt (* 2 (pow (pow x 1/4) 8)))
(* 2 (pow (pow x 1/4) 8))
2
(pow (pow x 1/4) 8)
(pow x 1/4)
x
1/4
8
(* (pow x 1/4) (sqrt (* 2 (pow x 3/2))))
(pow x 1/4)
x
1/4
(sqrt (* 2 (pow x 3/2)))
(* 2 (pow x 3/2))
2
(pow x 3/2)
3/2
(* (pow x 1/8) (* (pow x 3/8) (pow (* 2 x) 1/2)))
(pow x 1/8)
x
1/8
(* (pow x 3/8) (pow (* 2 x) 1/2))
(pow x 3/8)
3/8
(pow (* 2 x) 1/2)
(* 2 x)
2
1/2
Outputs
(* (pow (* 2 x) 1/2) (sqrt x))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (sqrt.f64 x))
(pow (* 2 x) 1/2)
(sqrt.f64 (*.f64 #s(literal 2 binary64) x))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
2
#s(literal 2 binary64)
x
1/2
#s(literal 1/2 binary64)
(sqrt x)
(sqrt.f64 x)
(* (sqrt 2) x)
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(sqrt 2)
(sqrt.f64 #s(literal 2 binary64))
2
#s(literal 2 binary64)
x
(sqrt (* 2 (pow (pow x 1/4) 8)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64))))
(* 2 (pow (pow x 1/4) 8))
(*.f64 #s(literal 2 binary64) (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64)))
2
#s(literal 2 binary64)
(pow (pow x 1/4) 8)
(pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64))
(pow x 1/4)
(pow.f64 x #s(literal 1/4 binary64))
x
1/4
#s(literal 1/4 binary64)
8
#s(literal 8 binary64)
(* (pow x 1/4) (sqrt (* 2 (pow x 3/2))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(pow x 1/4)
(pow.f64 x #s(literal 1/4 binary64))
x
1/4
#s(literal 1/4 binary64)
(sqrt (* 2 (pow x 3/2)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))
(* 2 (pow x 3/2))
(*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))
2
#s(literal 2 binary64)
(pow x 3/2)
(pow.f64 x #s(literal 3/2 binary64))
3/2
#s(literal 3/2 binary64)
(* (pow x 1/8) (* (pow x 3/8) (pow (* 2 x) 1/2)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 x #s(literal 3/8 binary64))))
(pow x 1/8)
(pow.f64 x #s(literal 1/8 binary64))
x
1/8
#s(literal 1/8 binary64)
(* (pow x 3/8) (pow (* 2 x) 1/2))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (pow.f64 x #s(literal 3/8 binary64)))
(pow x 3/8)
(pow.f64 x #s(literal 3/8 binary64))
3/8
#s(literal 3/8 binary64)
(pow (* 2 x) 1/2)
(sqrt.f64 (*.f64 #s(literal 2 binary64) x))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
2
#s(literal 2 binary64)
1/2
#s(literal 1/2 binary64)

localize178.0ms (4.6%)

Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(pow.f64 x #s(literal 1/8 binary64))
accuracy100.0%
(*.f64 #s(literal 2 binary64) x)
accuracy99.5%
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)))
accuracy99.5%
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))))
accuracy100.0%
(pow.f64 x #s(literal 1/4 binary64))
accuracy100.0%
(*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))
accuracy99.5%
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
accuracy69.6%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))
accuracy100.0%
(pow.f64 x #s(literal 1/4 binary64))
accuracy100.0%
(*.f64 #s(literal 2 binary64) (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64)))
accuracy98.9%
(pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64))
accuracy51.5%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64))))
accuracy100.0%
(sqrt.f64 #s(literal 2 binary64))
accuracy99.3%
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
accuracy100.0%
(pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))
accuracy100.0%
(*.f64 #s(literal 2 binary64) x)
accuracy100.0%
(sqrt.f64 x)
accuracy99.4%
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
Results
140.0ms256×0valid
Compiler

Compiled 130 to 27 computations (79.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 55.0ms
ival-pow: 31.0ms (56.8% of total)
ival-mult: 15.0ms (27.5% of total)
ival-sqrt: 8.0ms (14.7% of total)
const: 1.0ms (1.8% of total)
backward-pass: 0.0ms (0% of total)

series185.0ms (4.8%)

Counts
16 → 180
Calls
Call 1
Inputs
#<alt (* (pow (* 2 x) 1/2) (sqrt x))>
#<alt (pow (* 2 x) 1/2)>
#<alt (* 2 x)>
#<alt (sqrt x)>
#<alt (* (sqrt 2) x)>
#<alt (sqrt 2)>
#<alt (sqrt (* 2 (pow (pow x 1/4) 8)))>
#<alt (* 2 (pow (pow x 1/4) 8))>
#<alt (pow (pow x 1/4) 8)>
#<alt (pow x 1/4)>
#<alt (* (pow x 1/4) (sqrt (* 2 (pow x 3/2))))>
#<alt (sqrt (* 2 (pow x 3/2)))>
#<alt (* 2 (pow x 3/2))>
#<alt (* (pow x 1/8) (* (pow x 3/8) (pow (* 2 x) 1/2)))>
#<alt (* (pow x 3/8) (pow (* 2 x) 1/2))>
#<alt (pow x 1/8)>
Outputs
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* -1 (* x (* (sqrt -2) (sqrt -1))))>
#<alt (* -1 (* x (* (sqrt -2) (sqrt -1))))>
#<alt (* -1 (* x (* (sqrt -2) (sqrt -1))))>
#<alt (* -1 (* x (* (sqrt -2) (sqrt -1))))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))>
#<alt (* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))>
#<alt (* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))>
#<alt (* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (* -1 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -1 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -1 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -1 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* -1 (* x (sqrt 2)))>
#<alt (* -1 (* x (sqrt 2)))>
#<alt (* -1 (* x (sqrt 2)))>
#<alt (* -1 (* x (sqrt 2)))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (* 2 (pow x 2))>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow (* 1 x) 1/4)>
#<alt (pow (* 1 x) 1/4)>
#<alt (pow (* 1 x) 1/4)>
#<alt (pow (* 1 x) 1/4)>
#<alt (pow (* 1 x) 1/4)>
#<alt (pow (* 1 x) 1/4)>
#<alt (pow (* 1 x) 1/4)>
#<alt (pow (* 1 x) 1/4)>
#<alt (exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))>
#<alt (exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))>
#<alt (exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))>
#<alt (exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))>
#<alt (* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))>
#<alt (* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))>
#<alt (* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))>
#<alt (* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))>
#<alt (* (pow (* -1 (pow x 3)) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))>
#<alt (* (pow (* -1 (pow x 3)) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))>
#<alt (* (pow (* -1 (pow x 3)) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))>
#<alt (* (pow (* -1 (pow x 3)) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))>
#<alt (* 2 (sqrt (pow x 3)))>
#<alt (* 2 (sqrt (pow x 3)))>
#<alt (* 2 (sqrt (pow x 3)))>
#<alt (* 2 (sqrt (pow x 3)))>
#<alt (* 2 (sqrt (pow x 3)))>
#<alt (* 2 (sqrt (pow x 3)))>
#<alt (* 2 (sqrt (pow x 3)))>
#<alt (* 2 (sqrt (pow x 3)))>
#<alt (* 2 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))>
#<alt (* 2 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))>
#<alt (* 2 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))>
#<alt (* 2 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* -1 (* (pow -1 1/4) (* x (sqrt -2))))>
#<alt (* -1 (* (pow -1 1/4) (* x (sqrt -2))))>
#<alt (* -1 (* (pow -1 1/4) (* x (sqrt -2))))>
#<alt (* -1 (* (pow -1 1/4) (* x (sqrt -2))))>
#<alt (* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))>
#<alt (* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))>
#<alt (* (exp (* 1/8 (+ (log -1) (* -7 (log (/ -1 x)))))) (sqrt -2))>
#<alt (* (exp (* 1/8 (+ (log -1) (* -7 (log (/ -1 x)))))) (sqrt -2))>
#<alt (* (exp (* 1/8 (+ (log -1) (* -7 (log (/ -1 x)))))) (sqrt -2))>
#<alt (* (exp (* 1/8 (+ (log -1) (* -7 (log (/ -1 x)))))) (sqrt -2))>
#<alt (pow (* 1 x) 1/8)>
#<alt (pow (* 1 x) 1/8)>
#<alt (pow (* 1 x) 1/8)>
#<alt (pow (* 1 x) 1/8)>
#<alt (pow (* 1 x) 1/8)>
#<alt (pow (* 1 x) 1/8)>
#<alt (pow (* 1 x) 1/8)>
#<alt (pow (* 1 x) 1/8)>
#<alt (exp (* 1/8 (+ (log -1) (* -1 (log (/ -1 x))))))>
#<alt (exp (* 1/8 (+ (log -1) (* -1 (log (/ -1 x))))))>
#<alt (exp (* 1/8 (+ (log -1) (* -1 (log (/ -1 x))))))>
#<alt (exp (* 1/8 (+ (log -1) (* -1 (log (/ -1 x))))))>
Calls

45 calls:

TimeVariablePointExpression
40.0ms
x
@0
(* (pow x 3/8) (pow (* 2 x) 1/2))
30.0ms
x
@0
(* (pow x 1/8) (* (pow x 3/8) (pow (* 2 x) 1/2)))
28.0ms
x
@0
(pow x 1/4)
25.0ms
x
@-inf
(pow x 1/4)
11.0ms
x
@0
(sqrt (* 2 (pow x 3/2)))

rewrite170.0ms (4.4%)

Algorithm
batch-egg-rewrite
Rules
2426×*-lowering-*.f32
2426×*-lowering-*.f64
1582×pow-lowering-pow.f64
1582×pow-lowering-pow.f32
986×pow-to-exp
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02679
16474
214260
334060
4122660
5544660
0816760
Stop Event
iter limit
node limit
Counts
16 → 498
Calls
Call 1
Inputs
(* (pow (* 2 x) 1/2) (sqrt x))
(pow (* 2 x) 1/2)
(* 2 x)
(sqrt x)
(* (sqrt 2) x)
(sqrt 2)
(sqrt (* 2 (pow (pow x 1/4) 8)))
(* 2 (pow (pow x 1/4) 8))
(pow (pow x 1/4) 8)
(pow x 1/4)
(* (pow x 1/4) (sqrt (* 2 (pow x 3/2))))
(sqrt (* 2 (pow x 3/2)))
(* 2 (pow x 3/2))
(* (pow x 1/8) (* (pow x 3/8) (pow (* 2 x) 1/2)))
(* (pow x 3/8) (pow (* 2 x) 1/2))
(pow x 1/8)
Outputs
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x))) #s(literal 1/2 binary64)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x)))
(pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))))
(pow.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x)) #s(literal 1/2 binary64))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/8 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 5/8 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 5/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 5/8 binary64)))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 5/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 7/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 7/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 5/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 7/8 binary64)))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 5/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 7/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 5/8 binary64)))) (pow.f64 x #s(literal 3/16 binary64)))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) x))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) x))
(pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) x)))
(*.f64 (sqrt.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 7/16 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/8 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 5/16 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64)))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/8 binary64)))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64)))) (pow.f64 x #s(literal 7/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64)))) (pow.f64 x #s(literal 5/16 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/8 binary64))) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/16 binary64)))
(exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) x)))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/8 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/8 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/8 binary64))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/8 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))))))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 5/8 binary64)))
(*.f64 (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/8 binary64))))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/8 binary64))))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))) (sqrt.f64 x))
(*.f64 (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))))) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))) (pow.f64 x #s(literal 5/8 binary64)))
(exp.f64 (/.f64 (log.f64 x) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 x)) #s(literal 4 binary64)))
(exp.f64 (*.f64 #s(literal 8 binary64) (*.f64 #s(literal 1/16 binary64) (log.f64 x))))
(exp.f64 (*.f64 (log.f64 (E.f64)) (/.f64 (log.f64 x) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 4 binary64))) (*.f64 #s(literal 1/8 binary64) (log.f64 x))))
(fabs.f64 (sqrt.f64 x))
(fabs.f64 (neg.f64 (sqrt.f64 x)))
(sqrt.f64 x)
(pow.f64 x #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 x) #s(literal 1 binary64))
(pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 x #s(literal 1/8 binary64)) #s(literal 4 binary64))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (log.f64 x)))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (/.f64 (*.f64 (log.f64 x) #s(literal 4 binary64)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (/.f64 (*.f64 (*.f64 (log.f64 x) #s(literal 4 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (/.f64 (/.f64 (*.f64 #s(literal 8 binary64) (log.f64 x)) #s(literal 2 binary64)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 x))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) (log.f64 x)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/8 binary64)) (*.f64 (log.f64 x) #s(literal 4 binary64)))
(pow.f64 (exp.f64 #s(literal 8 binary64)) (*.f64 #s(literal 1/16 binary64) (log.f64 x)))
(pow.f64 (exp.f64 #s(literal 8 binary64)) (/.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 x)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (log.f64 x)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (/.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 2 binary64)))
(pow.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x x))) #s(literal 1/16 binary64))
(pow.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 1/8 binary64))
(pow.f64 (exp.f64 #s(literal 4 binary64)) (*.f64 #s(literal 1/8 binary64) (log.f64 x)))
(pow.f64 (E.f64) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(pow.f64 (*.f64 (exp.f64 #s(literal 1/4 binary64)) (exp.f64 #s(literal 3/4 binary64))) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(pow.f64 (*.f64 (exp.f64 #s(literal 3/4 binary64)) (exp.f64 #s(literal 1/4 binary64))) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (pow.f64 x #s(literal 5/16 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (fabs.f64 (pow.f64 x #s(literal 5/16 binary64))))
(*.f64 (pow.f64 x #s(literal 7/16 binary64)) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (pow.f64 x #s(literal 7/16 binary64)))
(*.f64 (pow.f64 x #s(literal 5/16 binary64)) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 5/16 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x))) #s(literal 1/2 binary64)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x)))
(pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))))
(pow.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x)) #s(literal 1/2 binary64))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/8 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 5/8 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 5/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 5/8 binary64)))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 5/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 7/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 7/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 5/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 7/8 binary64)))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 5/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 7/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 5/8 binary64)))) (pow.f64 x #s(literal 3/16 binary64)))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64))))
(sqrt.f64 #s(literal 2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 #s(literal 2 binary64)))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x))) #s(literal 1/2 binary64)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x)))
(pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))))
(pow.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x)) #s(literal 1/2 binary64))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/8 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 5/8 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 5/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 5/8 binary64)))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 5/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 7/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 7/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 5/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 7/8 binary64)))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 5/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 7/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 5/8 binary64)))) (pow.f64 x #s(literal 3/16 binary64)))
(exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))))
(*.f64 #s(literal 2 binary64) (*.f64 x x))
(*.f64 x (*.f64 #s(literal 2 binary64) x))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) x)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) x)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 7/8 binary64))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 5/8 binary64))))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) x)))
(*.f64 (*.f64 #s(literal 2 binary64) x) x)
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) x)))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) x)))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) x)) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) x)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 5/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) x)) (sqrt.f64 x))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 7/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) x)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) x)) (pow.f64 x #s(literal 5/8 binary64)))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 x)))
(exp.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 8 binary64) (log.f64 x)) #s(literal 1 binary64))))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 4 binary64))) (/.f64 (log.f64 x) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (E.f64)) (*.f64 #s(literal 2 binary64) (log.f64 x))))
(exp.f64 (*.f64 (log.f64 (exp.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 8 binary64) (log.f64 x))))) #s(literal 1/8 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 16 binary64))) (*.f64 #s(literal 1/8 binary64) (log.f64 x))))
(fabs.f64 (*.f64 x x))
(fabs.f64 (neg.f64 (*.f64 x x)))
(fabs.f64 (*.f64 x (-.f64 #s(literal 0 binary64) x)))
(fabs.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) x))
(sqrt.f64 (*.f64 (*.f64 x x) (*.f64 x x)))
(pow.f64 x #s(literal 2 binary64))
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
(pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64))
(pow.f64 (*.f64 x x) #s(literal 1 binary64))
(pow.f64 (pow.f64 x #s(literal 1/8 binary64)) #s(literal 16 binary64))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (*.f64 #s(literal 8 binary64) (log.f64 x)))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (*.f64 (*.f64 #s(literal 8 binary64) (log.f64 x)) #s(literal 1 binary64)))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (/.f64 (+.f64 (*.f64 #s(literal 8 binary64) (log.f64 x)) (*.f64 #s(literal 8 binary64) (log.f64 x))) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (*.f64 (log.f64 x) #s(literal 4 binary64)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (/.f64 (*.f64 #s(literal 8 binary64) (log.f64 x)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/8 binary64)) (+.f64 (*.f64 #s(literal 8 binary64) (log.f64 x)) (*.f64 #s(literal 8 binary64) (log.f64 x))))
(pow.f64 (exp.f64 #s(literal 8 binary64)) (*.f64 #s(literal 1/4 binary64) (log.f64 x)))
(pow.f64 (exp.f64 #s(literal 8 binary64)) (/.f64 (/.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 x))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) (log.f64 x)) #s(literal 2 binary64)))
(pow.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x x))) #s(literal 1/4 binary64))
(pow.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 1/2 binary64))
(pow.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 4 binary64)) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(pow.f64 (E.f64) (*.f64 #s(literal 2 binary64) (log.f64 x)))
(pow.f64 (exp.f64 #s(literal 16 binary64)) (*.f64 #s(literal 1/8 binary64) (log.f64 x)))
(pow.f64 (exp.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 8 binary64) (log.f64 x)))) #s(literal 1/8 binary64))
(pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x x))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x x)))) #s(literal 1/8 binary64))
(*.f64 x x)
(*.f64 (sqrt.f64 x) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 7/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (fabs.f64 (pow.f64 x #s(literal 7/4 binary64))))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (sqrt.f64 x))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 x #s(literal 15/8 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (fabs.f64 (pow.f64 x #s(literal 15/8 binary64))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (pow.f64 x #s(literal 13/8 binary64)))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (fabs.f64 (pow.f64 x #s(literal 13/8 binary64))))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (pow.f64 x #s(literal 5/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (fabs.f64 (pow.f64 x #s(literal 5/4 binary64))))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (pow.f64 x #s(literal 9/8 binary64)))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (fabs.f64 (pow.f64 x #s(literal 9/8 binary64))))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (pow.f64 x #s(literal 11/8 binary64)))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (fabs.f64 (pow.f64 x #s(literal 11/8 binary64))))
(*.f64 (pow.f64 x #s(literal 9/8 binary64)) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (pow.f64 x #s(literal 7/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) x))
(*.f64 (pow.f64 x #s(literal 5/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (pow.f64 x #s(literal 11/8 binary64)) (pow.f64 x #s(literal 5/8 binary64)))
(*.f64 (pow.f64 x #s(literal 13/8 binary64)) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (pow.f64 x #s(literal 15/8 binary64)) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 7/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 15/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 13/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 5/4 binary64))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 9/8 binary64))) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 11/8 binary64))) (pow.f64 x #s(literal 5/8 binary64)))
(exp.f64 (*.f64 #s(literal 1/4 binary64) (log.f64 x)))
(exp.f64 (*.f64 #s(literal 8 binary64) (*.f64 #s(literal 1/32 binary64) (log.f64 x))))
(exp.f64 (*.f64 (*.f64 #s(literal 8 binary64) (log.f64 x)) #s(literal 1/32 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 1/16 binary64) (log.f64 x)) #s(literal 4 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 x) #s(literal 4 binary64)) #s(literal 1/16 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 1/16 binary64))) (*.f64 (log.f64 x) #s(literal 4 binary64))))
(exp.f64 (*.f64 (log.f64 (E.f64)) (*.f64 #s(literal 1/4 binary64) (log.f64 x))))
(fabs.f64 (pow.f64 x #s(literal 1/4 binary64)))
(fabs.f64 (neg.f64 (pow.f64 x #s(literal 1/4 binary64))))
(sqrt.f64 (sqrt.f64 x))
(pow.f64 x #s(literal 1/4 binary64))
(pow.f64 (sqrt.f64 x) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 x x) #s(literal 1/8 binary64))
(pow.f64 (pow.f64 x #s(literal 1/8 binary64)) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (log.f64 x))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) (log.f64 x)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (/.f64 (/.f64 (*.f64 (log.f64 x) #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (log.f64 x)))
(pow.f64 (exp.f64 #s(literal 1/8 binary64)) (/.f64 (*.f64 (log.f64 x) #s(literal 4 binary64)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 8 binary64)) (*.f64 #s(literal 1/32 binary64) (log.f64 x)))
(pow.f64 (exp.f64 #s(literal 8 binary64)) (/.f64 (*.f64 #s(literal 1/16 binary64) (log.f64 x)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 8 binary64)) (/.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 x)) #s(literal 2 binary64)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/8 binary64) (log.f64 x)))
(pow.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x x))) #s(literal 1/32 binary64))
(pow.f64 (pow.f64 x #s(literal 1/16 binary64)) #s(literal 4 binary64))
(pow.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 1/16 binary64))
(pow.f64 (exp.f64 #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 x)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/16 binary64)) (*.f64 (log.f64 x) #s(literal 4 binary64)))
(pow.f64 (E.f64) (*.f64 #s(literal 1/4 binary64) (log.f64 x)))
(pow.f64 (E.f64) (/.f64 (/.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 x #s(literal 1/32 binary64)) (pow.f64 x #s(literal 7/32 binary64)))
(*.f64 (pow.f64 x #s(literal 7/32 binary64)) (pow.f64 x #s(literal 1/32 binary64)))
(*.f64 (pow.f64 x #s(literal 5/32 binary64)) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (pow.f64 x #s(literal 5/32 binary64)))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 1/32 binary64))) (fabs.f64 (pow.f64 x #s(literal 7/32 binary64))))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 3/32 binary64))) (fabs.f64 (pow.f64 x #s(literal 5/32 binary64))))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 7/32 binary64))) (fabs.f64 (pow.f64 x #s(literal 1/32 binary64))))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 5/32 binary64))) (fabs.f64 (pow.f64 x #s(literal 3/32 binary64))))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x))) #s(literal 1/2 binary64)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x)))
(pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))))
(pow.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x)) #s(literal 1/2 binary64))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/8 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 5/8 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 5/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 5/8 binary64)))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 5/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 7/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 7/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 5/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 7/8 binary64)))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 5/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 7/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 5/8 binary64)))) (pow.f64 x #s(literal 3/16 binary64)))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 2 binary64))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x))) #s(literal 1/2 binary64)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x)))
(pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))))
(pow.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x)) #s(literal 1/2 binary64))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/8 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 5/8 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 5/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 5/8 binary64)))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 5/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 7/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 7/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 5/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) x))))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 7/8 binary64)))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 5/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 7/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) x))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (pow.f64 x #s(literal 5/8 binary64)))) (pow.f64 x #s(literal 3/16 binary64)))
(exp.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64))) (*.f64 (log.f64 x) #s(literal 7/8 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (pow.f64 x #s(literal 1/4 binary64)))) #s(literal 1/2 binary64)))
(sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (pow.f64 x #s(literal 1/4 binary64))))
(pow.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) (pow.f64 x #s(literal 1/4 binary64))) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/8 binary64))) (sqrt.f64 x))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/8 binary64)))
(exp.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 x)))
(exp.f64 (*.f64 #s(literal 8 binary64) (*.f64 #s(literal 1/64 binary64) (log.f64 x))))
(exp.f64 (*.f64 #s(literal 8 binary64) (*.f64 (*.f64 #s(literal 1/4 binary64) (log.f64 x)) #s(literal 1/16 binary64))))
(exp.f64 (*.f64 #s(literal 2 binary64) (*.f64 (log.f64 x) #s(literal 1/16 binary64))))
(exp.f64 (*.f64 (*.f64 #s(literal 8 binary64) (log.f64 x)) #s(literal 1/64 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 1/32 binary64) (log.f64 x)) #s(literal 4 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 1/16 binary64) (log.f64 x)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 x) #s(literal 4 binary64)) #s(literal 1/32 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 1/16 binary64))) (*.f64 #s(literal 2 binary64) (log.f64 x))))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 1/32 binary64))) (*.f64 (log.f64 x) #s(literal 4 binary64))))
(exp.f64 (*.f64 (log.f64 (E.f64)) (*.f64 #s(literal 1/8 binary64) (log.f64 x))))
(fabs.f64 (pow.f64 x #s(literal 1/8 binary64)))
(fabs.f64 (neg.f64 (pow.f64 x #s(literal 1/8 binary64))))
(sqrt.f64 (pow.f64 x #s(literal 1/4 binary64)))
(pow.f64 x #s(literal 1/8 binary64))
(pow.f64 (sqrt.f64 x) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1/16 binary64))
(pow.f64 (pow.f64 x #s(literal 1/8 binary64)) #s(literal 1 binary64))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (*.f64 #s(literal 1/4 binary64) (log.f64 x)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (/.f64 (/.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/8 binary64)) (log.f64 x))
(pow.f64 (exp.f64 #s(literal 1/8 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) (log.f64 x)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 8 binary64)) (*.f64 #s(literal 1/64 binary64) (log.f64 x)))
(pow.f64 (exp.f64 #s(literal 8 binary64)) (*.f64 (*.f64 #s(literal 1/4 binary64) (log.f64 x)) #s(literal 1/16 binary64)))
(pow.f64 (exp.f64 #s(literal 8 binary64)) (/.f64 (*.f64 #s(literal 1/32 binary64) (log.f64 x)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) #s(literal 1/16 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 x)) #s(literal 2 binary64)))
(pow.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x x))) #s(literal 1/64 binary64))
(pow.f64 (pow.f64 x #s(literal 1/32 binary64)) #s(literal 4 binary64))
(pow.f64 (pow.f64 x #s(literal 1/16 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 1/32 binary64))
(pow.f64 (exp.f64 #s(literal 1/32 binary64)) (*.f64 (log.f64 x) #s(literal 4 binary64)))
(pow.f64 (exp.f64 #s(literal 1/16 binary64)) (*.f64 #s(literal 2 binary64) (log.f64 x)))
(pow.f64 (exp.f64 #s(literal 1/16 binary64)) (/.f64 (*.f64 (log.f64 x) #s(literal 4 binary64)) #s(literal 2 binary64)))
(pow.f64 (E.f64) (*.f64 #s(literal 1/8 binary64) (log.f64 x)))
(*.f64 (pow.f64 x #s(literal 1/32 binary64)) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (pow.f64 x #s(literal 3/64 binary64)) (pow.f64 x #s(literal 5/64 binary64)))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (pow.f64 x #s(literal 1/32 binary64)))
(*.f64 (pow.f64 x #s(literal 1/64 binary64)) (pow.f64 x #s(literal 7/64 binary64)))
(*.f64 (pow.f64 x #s(literal 7/64 binary64)) (pow.f64 x #s(literal 1/64 binary64)))
(*.f64 (pow.f64 x #s(literal 5/64 binary64)) (pow.f64 x #s(literal 3/64 binary64)))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 1/32 binary64))) (fabs.f64 (pow.f64 x #s(literal 3/32 binary64))))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 3/32 binary64))) (fabs.f64 (pow.f64 x #s(literal 1/32 binary64))))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 1/64 binary64))) (fabs.f64 (pow.f64 x #s(literal 7/64 binary64))))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 7/64 binary64))) (fabs.f64 (pow.f64 x #s(literal 1/64 binary64))))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 3/64 binary64))) (fabs.f64 (pow.f64 x #s(literal 5/64 binary64))))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 5/64 binary64))) (fabs.f64 (pow.f64 x #s(literal 3/64 binary64))))

simplify254.0ms (6.6%)

Algorithm
egg-herbie
Rules
2610×*-lowering-*.f32
2610×*-lowering-*.f64
2378×fma-lowering-fma.f32
2378×fma-lowering-fma.f64
2090×sum3-define
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
069952
1166904
2478888
31016888
41288884
51925884
63362884
76657884
08453884
Stop Event
iter limit
node limit
Counts
180 → 180
Calls
Call 1
Inputs
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow (* 1 x) 1/4)
(pow (* 1 x) 1/4)
(pow (* 1 x) 1/4)
(pow (* 1 x) 1/4)
(pow (* 1 x) 1/4)
(pow (* 1 x) 1/4)
(pow (* 1 x) 1/4)
(pow (* 1 x) 1/4)
(exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))
(exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))
(exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))
(exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(* (pow (* -1 (pow x 3)) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(* (pow (* -1 (pow x 3)) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(* (pow (* -1 (pow x 3)) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(* (pow (* -1 (pow x 3)) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(* 2 (sqrt (pow x 3)))
(* 2 (sqrt (pow x 3)))
(* 2 (sqrt (pow x 3)))
(* 2 (sqrt (pow x 3)))
(* 2 (sqrt (pow x 3)))
(* 2 (sqrt (pow x 3)))
(* 2 (sqrt (pow x 3)))
(* 2 (sqrt (pow x 3)))
(* 2 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(* 2 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(* 2 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(* 2 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* (pow -1 1/4) (* x (sqrt -2))))
(* -1 (* (pow -1 1/4) (* x (sqrt -2))))
(* -1 (* (pow -1 1/4) (* x (sqrt -2))))
(* -1 (* (pow -1 1/4) (* x (sqrt -2))))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(* (exp (* 1/8 (+ (log -1) (* -7 (log (/ -1 x)))))) (sqrt -2))
(* (exp (* 1/8 (+ (log -1) (* -7 (log (/ -1 x)))))) (sqrt -2))
(* (exp (* 1/8 (+ (log -1) (* -7 (log (/ -1 x)))))) (sqrt -2))
(* (exp (* 1/8 (+ (log -1) (* -7 (log (/ -1 x)))))) (sqrt -2))
(pow (* 1 x) 1/8)
(pow (* 1 x) 1/8)
(pow (* 1 x) 1/8)
(pow (* 1 x) 1/8)
(pow (* 1 x) 1/8)
(pow (* 1 x) 1/8)
(pow (* 1 x) 1/8)
(pow (* 1 x) 1/8)
(exp (* 1/8 (+ (log -1) (* -1 (log (/ -1 x))))))
(exp (* 1/8 (+ (log -1) (* -1 (log (/ -1 x))))))
(exp (* 1/8 (+ (log -1) (* -1 (log (/ -1 x))))))
(exp (* 1/8 (+ (log -1) (* -1 (log (/ -1 x))))))
Outputs
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(/.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(/.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(/.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(/.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 (sqrt.f64 x) (-.f64 #s(literal 0 binary64) (sqrt.f64 #s(literal -1 binary64)))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 (sqrt.f64 x) (-.f64 #s(literal 0 binary64) (sqrt.f64 #s(literal -1 binary64)))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 (sqrt.f64 x) (-.f64 #s(literal 0 binary64) (sqrt.f64 #s(literal -1 binary64)))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 (sqrt.f64 x) (-.f64 #s(literal 0 binary64) (sqrt.f64 #s(literal -1 binary64)))))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* x (sqrt 2)))
(-.f64 #s(literal 0 binary64) (*.f64 x (sqrt.f64 #s(literal 2 binary64))))
(* -1 (* x (sqrt 2)))
(-.f64 #s(literal 0 binary64) (*.f64 x (sqrt.f64 #s(literal 2 binary64))))
(* -1 (* x (sqrt 2)))
(-.f64 #s(literal 0 binary64) (*.f64 x (sqrt.f64 #s(literal 2 binary64))))
(* -1 (* x (sqrt 2)))
(-.f64 #s(literal 0 binary64) (*.f64 x (sqrt.f64 #s(literal 2 binary64))))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow (* 1 x) 1/4)
(pow.f64 x #s(literal 1/4 binary64))
(pow (* 1 x) 1/4)
(pow.f64 x #s(literal 1/4 binary64))
(pow (* 1 x) 1/4)
(pow.f64 x #s(literal 1/4 binary64))
(pow (* 1 x) 1/4)
(pow.f64 x #s(literal 1/4 binary64))
(pow (* 1 x) 1/4)
(pow.f64 x #s(literal 1/4 binary64))
(pow (* 1 x) 1/4)
(pow.f64 x #s(literal 1/4 binary64))
(pow (* 1 x) 1/4)
(pow.f64 x #s(literal 1/4 binary64))
(pow (* 1 x) 1/4)
(pow.f64 x #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))
(pow.f64 x #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))
(pow.f64 x #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))
(pow.f64 x #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log -1) (* -1 (log (/ -1 x))))))
(pow.f64 x #s(literal 1/4 binary64))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(*.f64 (*.f64 x (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 (sqrt.f64 #s(literal -1 binary64))) (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(*.f64 (*.f64 x (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 (sqrt.f64 #s(literal -1 binary64))) (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(*.f64 (*.f64 x (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 (sqrt.f64 #s(literal -1 binary64))) (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(*.f64 (*.f64 x (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 (sqrt.f64 #s(literal -1 binary64))) (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64))))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64)))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64)))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64)))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64)))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64)))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64)))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64)))
(* (pow (* 1 (pow x 3)) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64)))
(* (pow (* -1 (pow x 3)) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (sqrt.f64 #s(literal -1 binary64))) (pow.f64 (*.f64 x (/.f64 x (/.f64 #s(literal -1 binary64) x))) #s(literal 1/4 binary64))))
(* (pow (* -1 (pow x 3)) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (sqrt.f64 #s(literal -1 binary64))) (pow.f64 (*.f64 x (/.f64 x (/.f64 #s(literal -1 binary64) x))) #s(literal 1/4 binary64))))
(* (pow (* -1 (pow x 3)) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (sqrt.f64 #s(literal -1 binary64))) (pow.f64 (*.f64 x (/.f64 x (/.f64 #s(literal -1 binary64) x))) #s(literal 1/4 binary64))))
(* (pow (* -1 (pow x 3)) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (sqrt.f64 #s(literal -1 binary64))) (pow.f64 (*.f64 x (/.f64 x (/.f64 #s(literal -1 binary64) x))) #s(literal 1/4 binary64))))
(* 2 (sqrt (pow x 3)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 (*.f64 x (*.f64 x x))))
(* 2 (sqrt (pow x 3)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 (*.f64 x (*.f64 x x))))
(* 2 (sqrt (pow x 3)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 (*.f64 x (*.f64 x x))))
(* 2 (sqrt (pow x 3)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 (*.f64 x (*.f64 x x))))
(* 2 (sqrt (pow x 3)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 (*.f64 x (*.f64 x x))))
(* 2 (sqrt (pow x 3)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 (*.f64 x (*.f64 x x))))
(* 2 (sqrt (pow x 3)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 (*.f64 x (*.f64 x x))))
(* 2 (sqrt (pow x 3)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 (*.f64 x (*.f64 x x))))
(* 2 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(*.f64 #s(literal -2 binary64) (sqrt.f64 (*.f64 x (*.f64 x x))))
(* 2 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(*.f64 #s(literal -2 binary64) (sqrt.f64 (*.f64 x (*.f64 x x))))
(* 2 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(*.f64 #s(literal -2 binary64) (sqrt.f64 (*.f64 x (*.f64 x x))))
(* 2 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(*.f64 #s(literal -2 binary64) (sqrt.f64 (*.f64 x (*.f64 x x))))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* (pow -1 1/4) (* x (sqrt -2))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 x (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64))))
(* -1 (* (pow -1 1/4) (* x (sqrt -2))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 x (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64))))
(* -1 (* (pow -1 1/4) (* x (sqrt -2))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 x (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64))))
(* -1 (* (pow -1 1/4) (* x (sqrt -2))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 x (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64))))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (pow.f64 x #s(literal 7 binary64)) #s(literal 1/8 binary64)))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (pow.f64 x #s(literal 7 binary64)) #s(literal 1/8 binary64)))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (pow.f64 x #s(literal 7 binary64)) #s(literal 1/8 binary64)))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (pow.f64 x #s(literal 7 binary64)) #s(literal 1/8 binary64)))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (pow.f64 x #s(literal 7 binary64)) #s(literal 1/8 binary64)))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (pow.f64 x #s(literal 7 binary64)) #s(literal 1/8 binary64)))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (pow.f64 x #s(literal 7 binary64)) #s(literal 1/8 binary64)))
(* (pow (* 1 (pow x 7)) 1/8) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (pow.f64 x #s(literal 7 binary64)) #s(literal 1/8 binary64)))
(* (exp (* 1/8 (+ (log -1) (* -7 (log (/ -1 x)))))) (sqrt -2))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (pow.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -7 binary64))) #s(literal 1/8 binary64)))
(* (exp (* 1/8 (+ (log -1) (* -7 (log (/ -1 x)))))) (sqrt -2))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (pow.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -7 binary64))) #s(literal 1/8 binary64)))
(* (exp (* 1/8 (+ (log -1) (* -7 (log (/ -1 x)))))) (sqrt -2))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (pow.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -7 binary64))) #s(literal 1/8 binary64)))
(* (exp (* 1/8 (+ (log -1) (* -7 (log (/ -1 x)))))) (sqrt -2))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (pow.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -7 binary64))) #s(literal 1/8 binary64)))
(pow (* 1 x) 1/8)
(pow.f64 x #s(literal 1/8 binary64))
(pow (* 1 x) 1/8)
(pow.f64 x #s(literal 1/8 binary64))
(pow (* 1 x) 1/8)
(pow.f64 x #s(literal 1/8 binary64))
(pow (* 1 x) 1/8)
(pow.f64 x #s(literal 1/8 binary64))
(pow (* 1 x) 1/8)
(pow.f64 x #s(literal 1/8 binary64))
(pow (* 1 x) 1/8)
(pow.f64 x #s(literal 1/8 binary64))
(pow (* 1 x) 1/8)
(pow.f64 x #s(literal 1/8 binary64))
(pow (* 1 x) 1/8)
(pow.f64 x #s(literal 1/8 binary64))
(exp (* 1/8 (+ (log -1) (* -1 (log (/ -1 x))))))
(pow.f64 x #s(literal 1/8 binary64))
(exp (* 1/8 (+ (log -1) (* -1 (log (/ -1 x))))))
(pow.f64 x #s(literal 1/8 binary64))
(exp (* 1/8 (+ (log -1) (* -1 (log (/ -1 x))))))
(pow.f64 x #s(literal 1/8 binary64))
(exp (* 1/8 (+ (log -1) (* -1 (log (/ -1 x))))))
(pow.f64 x #s(literal 1/8 binary64))

eval125.0ms (3.2%)

Compiler

Compiled 9465 to 1216 computations (87.2% saved)

prune69.0ms (1.8%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New8082810
Fresh314
Picked325
Done011
Total8146820
Accuracy
100.0%
Counts
820 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.4%
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
70.1%
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
99.4%
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (sqrt.f64 x))
99.3%
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
99.1%
(*.f64 (exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))) x)
51.5%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Compiler

Compiled 50 to 40 computations (20% saved)

simplify34.0ms (0.9%)

Algorithm
egg-herbie
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f64 x)
cost-diff0
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
cost-diff64
(pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64))
cost-diff64
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
cost-diff0
(sqrt.f64 x)
cost-diff0
(*.f64 #s(literal 2 binary64) x)
cost-diff0
(sqrt.f64 (*.f64 #s(literal 2 binary64) x))
cost-diff0
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (sqrt.f64 x))
cost-diff0
(log.f64 #s(literal 2 binary64))
cost-diff0
(*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))
cost-diff6528
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64))))
cost-diff6528
(*.f64 (exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))) x)
Rules
24×*-lowering-*.f32
24×*-lowering-*.f64
12×*-commutative
sqrt-lowering-sqrt.f64
pow-lowering-pow.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01666
12562
22860
33060
03060
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* (exp (* 1/2 (log 2))) x)
(exp (* 1/2 (log 2)))
(* 1/2 (log 2))
1/2
(log 2)
2
x
(* (sqrt (* 2 x)) (sqrt x))
(sqrt (* 2 x))
(* 2 x)
2
x
(sqrt x)
(* (pow (* 2 (sqrt x)) 1/2) (pow x 3/4))
(pow (* 2 (sqrt x)) 1/2)
(* 2 (sqrt x))
2
(sqrt x)
x
1/2
(pow x 3/4)
3/4
Outputs
(* (exp (* 1/2 (log 2))) x)
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(exp (* 1/2 (log 2)))
(sqrt.f64 #s(literal 2 binary64))
(* 1/2 (log 2))
(*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))
1/2
#s(literal 1/2 binary64)
(log 2)
(log.f64 #s(literal 2 binary64))
2
#s(literal 2 binary64)
x
(* (sqrt (* 2 x)) (sqrt x))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (sqrt.f64 x))
(sqrt (* 2 x))
(sqrt.f64 (*.f64 #s(literal 2 binary64) x))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
2
#s(literal 2 binary64)
x
(sqrt x)
(sqrt.f64 x)
(* (pow (* 2 (sqrt x)) 1/2) (pow x 3/4))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3/4 binary64)))
(pow (* 2 (sqrt x)) 1/2)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))
(* 2 (sqrt x))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
2
#s(literal 2 binary64)
(sqrt x)
(sqrt.f64 x)
x
1/2
#s(literal 1/2 binary64)
(pow x 3/4)
(pow.f64 x #s(literal 3/4 binary64))
3/4
#s(literal 3/4 binary64)

localize101.0ms (2.6%)

Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
accuracy100.0%
(sqrt.f64 x)
accuracy99.8%
(pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64))
accuracy99.5%
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
accuracy100.0%
(*.f64 #s(literal 2 binary64) x)
accuracy100.0%
(sqrt.f64 (*.f64 #s(literal 2 binary64) x))
accuracy100.0%
(sqrt.f64 x)
accuracy99.4%
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (sqrt.f64 x))
accuracy100.0%
(*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))
accuracy100.0%
(log.f64 #s(literal 2 binary64))
accuracy99.3%
(*.f64 (exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))) x)
accuracy98.4%
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64))))
Results
79.0ms256×0valid
Compiler

Compiled 70 to 17 computations (75.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 34.0ms
ival-mult: 10.0ms (29.7% of total)
ival-pow: 10.0ms (29.7% of total)
ival-log: 6.0ms (17.8% of total)
ival-sqrt: 4.0ms (11.9% of total)
ival-exp: 3.0ms (8.9% of total)
const: 1.0ms (3% of total)
backward-pass: 0.0ms (0% of total)

series12.0ms (0.3%)

Counts
11 → 96
Calls
Call 1
Inputs
#<alt (* (exp (* 1/2 (log 2))) x)>
#<alt (exp (* 1/2 (log 2)))>
#<alt (* 1/2 (log 2))>
#<alt (log 2)>
#<alt (* (sqrt (* 2 x)) (sqrt x))>
#<alt (sqrt (* 2 x))>
#<alt (* 2 x)>
#<alt (sqrt x)>
#<alt (* (pow (* 2 (sqrt x)) 1/2) (pow x 3/4))>
#<alt (pow (* 2 (sqrt x)) 1/2)>
#<alt (* 2 (sqrt x))>
Outputs
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* -1 (* x (* (sqrt -2) (sqrt -1))))>
#<alt (* -1 (* x (* (sqrt -2) (sqrt -1))))>
#<alt (* -1 (* x (* (sqrt -2) (sqrt -1))))>
#<alt (* -1 (* x (* (sqrt -2) (sqrt -1))))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* (sqrt x) (sqrt 2))>
#<alt (* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))>
#<alt (* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))>
#<alt (* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))>
#<alt (* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (* 2 x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (* -1 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -1 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -1 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -1 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))>
#<alt (* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))>
#<alt (* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))>
#<alt (* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))>
#<alt (* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))>
#<alt (* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))>
#<alt (* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* -2 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -2 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -2 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -2 (* (sqrt x) (pow (sqrt -1) 2)))>
Calls

24 calls:

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

rewrite257.0ms (6.7%)

Algorithm
batch-egg-rewrite
Rules
2974×*-lowering-*.f32
2974×*-lowering-*.f64
1296×pow-lowering-pow.f64
1296×pow-lowering-pow.f32
1272×+-lowering-+.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01650
14038
28638
318738
440838
5182838
6722738
0806538
Stop Event
iter limit
node limit
Counts
11 → 277
Calls
Call 1
Inputs
(* (exp (* 1/2 (log 2))) x)
(exp (* 1/2 (log 2)))
(* 1/2 (log 2))
(log 2)
(* (sqrt (* 2 x)) (sqrt x))
(sqrt (* 2 x))
(* 2 x)
(sqrt x)
(* (pow (* 2 (sqrt x)) 1/2) (pow x 3/4))
(pow (* 2 (sqrt x)) 1/2)
(* 2 (sqrt x))
Outputs
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))))
(pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 9/16 binary64))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 1/16 binary64))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 3/16 binary64))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3/16 binary64))))
(*.f64 (pow.f64 x #s(literal 1/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 9/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64)))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))) (pow.f64 x #s(literal 5/8 binary64)))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/8 binary64))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3/16 binary64))) (pow.f64 x #s(literal 9/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 3/16 binary64))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 9/16 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 1/16 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))) (pow.f64 x #s(literal 1/32 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))) (pow.f64 x #s(literal 9/32 binary64)))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64))))
(sqrt.f64 #s(literal 2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))
(*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))
(log.f64 #s(literal 2 binary64))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))))
(pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 9/16 binary64))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 1/16 binary64))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 3/16 binary64))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3/16 binary64))))
(*.f64 (pow.f64 x #s(literal 1/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 9/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64)))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))) (pow.f64 x #s(literal 5/8 binary64)))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/8 binary64))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3/16 binary64))) (pow.f64 x #s(literal 9/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 3/16 binary64))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 9/16 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 1/16 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))) (pow.f64 x #s(literal 1/32 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))) (pow.f64 x #s(literal 9/32 binary64)))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) x))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) x))
(pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) x)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (pow.f64 x #s(literal 1/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (pow.f64 x #s(literal 3/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/8 binary64))))
(*.f64 (pow.f64 x #s(literal 1/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 9/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))) (pow.f64 x #s(literal 1/32 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))) (pow.f64 x #s(literal 9/32 binary64)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (pow.f64 x #s(literal 3/8 binary64)))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (pow.f64 x #s(literal 1/8 binary64)))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))) (pow.f64 x #s(literal 3/32 binary64)))
(exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) x)))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(*.f64 (sqrt.f64 x) (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (pow.f64 x #s(literal 3/8 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (pow.f64 x #s(literal 1/8 binary64))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64)))) (pow.f64 x #s(literal 9/16 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64))))) (pow.f64 x #s(literal 1/4 binary64)))
(exp.f64 (/.f64 (log.f64 x) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 x) #s(literal 4 binary64)) #s(literal 1/8 binary64)))
(fabs.f64 (sqrt.f64 x))
(fabs.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x)))
(fabs.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 x))))
(sqrt.f64 x)
(pow.f64 x #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 x) #s(literal 1 binary64))
(pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 x))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) (log.f64 x)) #s(literal 2 binary64)))
(pow.f64 (*.f64 x x) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 x #s(literal 1/8 binary64)) #s(literal 4 binary64))
(pow.f64 (*.f64 x (*.f64 x (*.f64 x x))) #s(literal 1/8 binary64))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (log.f64 x)))
(pow.f64 (E.f64) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(pow.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 x (*.f64 x (*.f64 x x)))) #s(literal 1/16 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) #s(literal 1/4 binary64)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) #s(literal 1/2 binary64)) (*.f64 (log.f64 x) #s(literal 4 binary64)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) #s(literal 2 binary64)) (log.f64 x))
(pow.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) (log.f64 x)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) #s(literal 4 binary64)) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(pow.f64 (pow.f64 (E.f64) #s(literal 1/2 binary64)) (log.f64 x))
(pow.f64 (pow.f64 (E.f64) #s(literal 2 binary64)) (*.f64 (log.f64 x) #s(literal 1/4 binary64)))
(pow.f64 (pow.f64 (E.f64) #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (log.f64 x)))
(pow.f64 (pow.f64 (E.f64) #s(literal 1 binary64)) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(pow.f64 (*.f64 (exp.f64 #s(literal 1/4 binary64)) (exp.f64 #s(literal 1/4 binary64))) (log.f64 x))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (pow.f64 x #s(literal 5/16 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (*.f64 (log.f64 x) #s(literal 5/4 binary64))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (pow.f64 x #s(literal 5/8 binary64))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (fabs.f64 (pow.f64 x #s(literal 5/16 binary64))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (pow.f64 x #s(literal 7/16 binary64)))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (*.f64 (log.f64 x) #s(literal 7/4 binary64))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (pow.f64 x #s(literal 7/8 binary64))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (fabs.f64 (pow.f64 x #s(literal 7/16 binary64))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 x #s(literal 1/32 binary64)) (sqrt.f64 (pow.f64 x #s(literal 15/16 binary64))))
(*.f64 (pow.f64 x #s(literal 9/32 binary64)) (sqrt.f64 (pow.f64 x #s(literal 7/16 binary64))))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (sqrt.f64 (pow.f64 x #s(literal 13/16 binary64))))
(*.f64 (pow.f64 x #s(literal 5/16 binary64)) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (pow.f64 x #s(literal 7/16 binary64)) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (*.f64 (log.f64 x) #s(literal 5/4 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (*.f64 (log.f64 x) #s(literal 7/4 binary64))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (pow.f64 x #s(literal 7/16 binary64))) (pow.f64 x #s(literal 9/32 binary64)))
(*.f64 (sqrt.f64 (pow.f64 x #s(literal 7/8 binary64))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (pow.f64 x #s(literal 13/16 binary64))) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (sqrt.f64 (pow.f64 x #s(literal 15/16 binary64))) (pow.f64 x #s(literal 1/32 binary64)))
(*.f64 (sqrt.f64 (pow.f64 x #s(literal 5/8 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 7/16 binary64))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 5/16 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))))
(pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 9/16 binary64))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 1/16 binary64))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 3/16 binary64))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3/16 binary64))))
(*.f64 (pow.f64 x #s(literal 1/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 9/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64)))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 7/8 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))) (pow.f64 x #s(literal 5/8 binary64)))
(*.f64 (pow.f64 x #s(literal 5/8 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/8 binary64))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 3/16 binary64))) (pow.f64 x #s(literal 9/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 3/16 binary64))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))) (pow.f64 x #s(literal 9/16 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))) (pow.f64 x #s(literal 1/16 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64))))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))) (pow.f64 x #s(literal 1/32 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 7/4 binary64))))) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 5/4 binary64))))) (pow.f64 x #s(literal 9/32 binary64)))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
(pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/8 binary64))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/16 binary64))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/16 binary64))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64)))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/16 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 3/16 binary64))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64)))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64)))) (pow.f64 x #s(literal 1/16 binary64)))
(exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))

simplify186.0ms (4.8%)

Algorithm
egg-herbie
Rules
3126×fnmadd-define
2160×fma-define
1762×fma-lowering-fma.f32
1762×fma-lowering-fma.f64
1738×sum3-define
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
035472
182472
2247468
3642468
4870468
51361468
62626468
74336468
85333468
96864468
107472468
117873468
08034468
Stop Event
iter limit
node limit
Counts
96 → 96
Calls
Call 1
Inputs
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
Outputs
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(-.f64 #s(literal 0 binary64) (*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 x (sqrt.f64 #s(literal -1 binary64)))))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(-.f64 #s(literal 0 binary64) (*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 x (sqrt.f64 #s(literal -1 binary64)))))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(-.f64 #s(literal 0 binary64) (*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 x (sqrt.f64 #s(literal -1 binary64)))))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(-.f64 #s(literal 0 binary64) (*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 x (sqrt.f64 #s(literal -1 binary64)))))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 x))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (sqrt.f64 x))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (sqrt.f64 x))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (sqrt.f64 x))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (sqrt.f64 x))))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (sqrt.f64 #s(literal -1 binary64))) (*.f64 x (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64)))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (sqrt.f64 #s(literal -1 binary64))) (*.f64 x (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64)))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (sqrt.f64 #s(literal -1 binary64))) (*.f64 x (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64)))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (sqrt.f64 #s(literal -1 binary64))) (*.f64 x (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64)))))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (sqrt.f64 #s(literal -1 binary64)))))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (sqrt.f64 #s(literal -1 binary64)))))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (sqrt.f64 #s(literal -1 binary64)))))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (sqrt.f64 #s(literal -1 binary64)))))
(* 2 (sqrt x))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* 2 (sqrt x))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* 2 (sqrt x))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* 2 (sqrt x))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* 2 (sqrt x))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* 2 (sqrt x))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* 2 (sqrt x))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* 2 (sqrt x))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))

eval47.0ms (1.2%)

Compiler

Compiled 5089 to 684 computations (86.6% saved)

prune31.0ms (0.8%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New4361437
Fresh000
Picked123
Done033
Total4376443
Accuracy
100.0%
Counts
443 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.4%
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
70.1%
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
99.4%
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (sqrt.f64 x))
99.3%
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
99.1%
(*.f64 (exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))) x)
51.5%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Compiler

Compiled 49 to 39 computations (20.4% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
cost-diff0
(sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))
cost-diff0
(pow.f64 x #s(literal 3/4 binary64))
cost-diff0
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
Rules
*-lowering-*.f32
*-lowering-*.f64
*-commutative
sqrt-lowering-sqrt.f64
sqrt-lowering-sqrt.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0826
11026
01026
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* (pow x 3/4) (sqrt (* 2 (sqrt x))))
(pow x 3/4)
x
3/4
(sqrt (* 2 (sqrt x)))
(* 2 (sqrt x))
2
(sqrt x)
Outputs
(* (pow x 3/4) (sqrt (* 2 (sqrt x))))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
(pow x 3/4)
(pow.f64 x #s(literal 3/4 binary64))
x
3/4
#s(literal 3/4 binary64)
(sqrt (* 2 (sqrt x)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))
(* 2 (sqrt x))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
2
#s(literal 2 binary64)
(sqrt x)
(sqrt.f64 x)

localize54.0ms (1.4%)

Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
accuracy100.0%
(sqrt.f64 x)
accuracy99.8%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))
accuracy99.5%
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
Results
43.0ms256×0valid
Compiler

Compiled 28 to 9 computations (67.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-mult: 8.0ms (43% of total)
ival-pow: 6.0ms (32.3% of total)
ival-sqrt: 4.0ms (21.5% of total)
const: 1.0ms (5.4% of total)
backward-pass: 0.0ms (0% of total)

series43.0ms (1.1%)

Counts
5 → 60
Calls
Call 1
Inputs
#<alt (* (pow x 3/4) (sqrt (* 2 (sqrt x))))>
#<alt (pow x 3/4)>
#<alt (sqrt (* 2 (sqrt x)))>
#<alt (* 2 (sqrt x))>
#<alt (sqrt x)>
Outputs
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* x (sqrt 2))>
#<alt (* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))>
#<alt (* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))>
#<alt (* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))>
#<alt (* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))>
#<alt (pow (* 1 (pow x 3)) 1/4)>
#<alt (pow (* 1 (pow x 3)) 1/4)>
#<alt (pow (* 1 (pow x 3)) 1/4)>
#<alt (pow (* 1 (pow x 3)) 1/4)>
#<alt (pow (* 1 (pow x 3)) 1/4)>
#<alt (pow (* 1 (pow x 3)) 1/4)>
#<alt (pow (* 1 (pow x 3)) 1/4)>
#<alt (pow (* 1 (pow x 3)) 1/4)>
#<alt (exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))>
#<alt (exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))>
#<alt (exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))>
#<alt (exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* 1 x) 1/4) (sqrt 2))>
#<alt (* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))>
#<alt (* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))>
#<alt (* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))>
#<alt (* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* 2 (sqrt x))>
#<alt (* -2 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -2 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -2 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -2 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (sqrt x)>
#<alt (* -1 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -1 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -1 (* (sqrt x) (pow (sqrt -1) 2)))>
#<alt (* -1 (* (sqrt x) (pow (sqrt -1) 2)))>
Calls

15 calls:

TimeVariablePointExpression
24.0ms
x
@-inf
(pow x 3/4)
10.0ms
x
@0
(pow x 3/4)
7.0ms
x
@inf
(pow x 3/4)
0.0ms
x
@-inf
(sqrt (* 2 (sqrt x)))
0.0ms
x
@inf
(sqrt (* 2 (sqrt x)))

rewrite196.0ms (5.1%)

Algorithm
batch-egg-rewrite
Rules
2232×*-lowering-*.f32
2232×*-lowering-*.f64
1758×+-lowering-+.f64
1758×+-lowering-+.f32
1644×pow-lowering-pow.f64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0823
11923
23820
37418
413318
526518
656018
7233518
8729518
0824418
Stop Event
iter limit
node limit
Counts
5 → 121
Calls
Call 1
Inputs
(* (pow x 3/4) (sqrt (* 2 (sqrt x))))
(pow x 3/4)
(sqrt (* 2 (sqrt x)))
(* 2 (sqrt x))
(sqrt x)
Outputs
(exp.f64 (+.f64 (log.f64 x) (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 9/16 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/16 binary64))))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 13/16 binary64))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 15/16 binary64))))
(*.f64 (pow.f64 x #s(literal 3/64 binary64)) (*.f64 (pow.f64 x #s(literal 1/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 15/16 binary64)))))
(*.f64 (pow.f64 x #s(literal 3/64 binary64)) (*.f64 (pow.f64 x #s(literal 9/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 13/16 binary64)))))
(*.f64 (pow.f64 x #s(literal 1/64 binary64)) (*.f64 (pow.f64 x #s(literal 3/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 15/16 binary64)))))
(*.f64 (pow.f64 x #s(literal 9/64 binary64)) (*.f64 (pow.f64 x #s(literal 3/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 13/16 binary64)))))
(*.f64 (pow.f64 x #s(literal 9/64 binary64)) (*.f64 (pow.f64 x #s(literal 27/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/16 binary64)))))
(*.f64 (pow.f64 x #s(literal 27/64 binary64)) (*.f64 (pow.f64 x #s(literal 9/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/16 binary64)))))
(*.f64 (pow.f64 x #s(literal 7/16 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 9/16 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/16 binary64))) (pow.f64 x #s(literal 9/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 15/16 binary64))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 13/16 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64)))) (pow.f64 x #s(literal 13/16 binary64)))
(*.f64 (pow.f64 x #s(literal 13/16 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 15/16 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/16 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 9/16 binary64))) (pow.f64 x #s(literal 7/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/16 binary64))) (pow.f64 x #s(literal 15/16 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 9/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/16 binary64)))) (pow.f64 x #s(literal 27/64 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 15/16 binary64)))) (pow.f64 x #s(literal 3/64 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 13/16 binary64)))) (pow.f64 x #s(literal 9/64 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 9/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 13/16 binary64)))) (pow.f64 x #s(literal 3/64 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 27/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 7/16 binary64)))) (pow.f64 x #s(literal 9/64 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 15/16 binary64)))) (pow.f64 x #s(literal 1/64 binary64)))
(exp.f64 (*.f64 #s(literal 3/4 binary64) (log.f64 x)))
(pow.f64 x #s(literal 3/4 binary64))
(pow.f64 (pow.f64 x #s(literal 3/4 binary64)) #s(literal 1 binary64))
(pow.f64 (exp.f64 #s(literal 3/4 binary64)) (log.f64 x))
(pow.f64 (E.f64) (*.f64 #s(literal 3/4 binary64) (log.f64 x)))
(pow.f64 (pow.f64 (E.f64) #s(literal 3/4 binary64)) (log.f64 x))
(pow.f64 (*.f64 (exp.f64 #s(literal 9/16 binary64)) (exp.f64 #s(literal 3/16 binary64))) (log.f64 x))
(pow.f64 (*.f64 (exp.f64 #s(literal 3/16 binary64)) (exp.f64 #s(literal 9/16 binary64))) (log.f64 x))
(*.f64 (pow.f64 x #s(literal 9/16 binary64)) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (pow.f64 x #s(literal 9/16 binary64)))
(*.f64 (pow.f64 x #s(literal 3/64 binary64)) (pow.f64 x #s(literal 45/64 binary64)))
(*.f64 (pow.f64 x #s(literal 9/64 binary64)) (pow.f64 x #s(literal 39/64 binary64)))
(*.f64 (pow.f64 x #s(literal 27/64 binary64)) (pow.f64 x #s(literal 21/64 binary64)))
(*.f64 (pow.f64 x #s(literal 39/64 binary64)) (pow.f64 x #s(literal 9/64 binary64)))
(*.f64 (pow.f64 x #s(literal 45/64 binary64)) (pow.f64 x #s(literal 3/64 binary64)))
(*.f64 (pow.f64 x #s(literal 21/64 binary64)) (pow.f64 x #s(literal 27/64 binary64)))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))
(pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (*.f64 #s(literal 1 binary64) (log.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/16 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/16 binary64))))
(*.f64 (pow.f64 x #s(literal 1/16 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 3/64 binary64)) (*.f64 (pow.f64 x #s(literal 1/64 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/64 binary64)) (*.f64 (pow.f64 x #s(literal 9/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/16 binary64)))))
(*.f64 (pow.f64 x #s(literal 3/64 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 9/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/64 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/64 binary64)) (*.f64 (pow.f64 x #s(literal 3/64 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))))
(*.f64 (pow.f64 x #s(literal 1/64 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))))
(*.f64 (pow.f64 x #s(literal 9/64 binary64)) (*.f64 (pow.f64 x #s(literal 3/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/16 binary64)))))
(*.f64 (pow.f64 x #s(literal 9/64 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64)))) (pow.f64 x #s(literal 1/16 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/16 binary64))) (pow.f64 x #s(literal 3/16 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/64 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))) (pow.f64 x #s(literal 3/64 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 9/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/16 binary64)))) (pow.f64 x #s(literal 3/64 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/64 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/16 binary64)))) (pow.f64 x #s(literal 9/64 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/64 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))) (pow.f64 x #s(literal 1/64 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 9/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))))) (pow.f64 x #s(literal 3/64 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))) (pow.f64 x #s(literal 1/64 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 3/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))))) (pow.f64 x #s(literal 9/64 binary64)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))) (pow.f64 x #s(literal 3/64 binary64)))
(exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
(*.f64 #s(literal 2 binary64) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))))))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (*.f64 (pow.f64 x #s(literal 1/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (*.f64 (pow.f64 x #s(literal 9/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 1/32 binary64)) (*.f64 (pow.f64 x #s(literal 3/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64)))))
(*.f64 (pow.f64 x #s(literal 9/32 binary64)) (*.f64 (pow.f64 x #s(literal 3/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64)))))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64)))) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64)))) (pow.f64 x #s(literal 1/32 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 9/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64)))) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/32 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64)))) (pow.f64 x #s(literal 9/32 binary64)))
(*.f64 (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/8 binary64))))) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 1/8 binary64))))) (pow.f64 x #s(literal 3/8 binary64)))
(exp.f64 (/.f64 (log.f64 x) #s(literal 2 binary64)))
(sqrt.f64 x)
(/.f64 #s(literal 1 binary64) (pow.f64 (E.f64) (/.f64 (log.f64 x) #s(literal -2 binary64))))
(/.f64 #s(literal 1 binary64) (exp.f64 (/.f64 (log.f64 x) #s(literal -2 binary64))))
(pow.f64 x #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 x) #s(literal 1 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 x))
(pow.f64 (E.f64) (/.f64 (log.f64 x) #s(literal 2 binary64)))
(pow.f64 (/.f64 #s(literal 1 binary64) x) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (E.f64) #s(literal 1/2 binary64)) (log.f64 x))
(pow.f64 (*.f64 (exp.f64 #s(literal 1/8 binary64)) (exp.f64 #s(literal 3/8 binary64))) (log.f64 x))
(pow.f64 (*.f64 (exp.f64 #s(literal 3/8 binary64)) (exp.f64 #s(literal 1/8 binary64))) (log.f64 x))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 x #s(literal 3/8 binary64)))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (pow.f64 x #s(literal 1/8 binary64)))
(*.f64 (pow.f64 x #s(literal 3/32 binary64)) (pow.f64 x #s(literal 13/32 binary64)))
(*.f64 (pow.f64 x #s(literal 1/32 binary64)) (pow.f64 x #s(literal 15/32 binary64)))
(*.f64 (pow.f64 x #s(literal 9/32 binary64)) (pow.f64 x #s(literal 7/32 binary64)))
(*.f64 (pow.f64 x #s(literal 3/128 binary64)) (sqrt.f64 (pow.f64 x #s(literal 61/64 binary64))))
(*.f64 (pow.f64 x #s(literal 1/128 binary64)) (sqrt.f64 (pow.f64 x #s(literal 63/64 binary64))))
(*.f64 (pow.f64 x #s(literal 13/32 binary64)) (pow.f64 x #s(literal 3/32 binary64)))
(*.f64 (pow.f64 x #s(literal 9/128 binary64)) (sqrt.f64 (pow.f64 x #s(literal 55/64 binary64))))
(*.f64 (pow.f64 x #s(literal 27/128 binary64)) (sqrt.f64 (pow.f64 x #s(literal 37/64 binary64))))
(*.f64 (pow.f64 x #s(literal 7/32 binary64)) (pow.f64 x #s(literal 9/32 binary64)))
(*.f64 (pow.f64 x #s(literal 15/32 binary64)) (pow.f64 x #s(literal 1/32 binary64)))
(*.f64 (sqrt.f64 (pow.f64 x #s(literal 61/64 binary64))) (pow.f64 x #s(literal 3/128 binary64)))
(*.f64 (sqrt.f64 (pow.f64 x #s(literal 63/64 binary64))) (pow.f64 x #s(literal 1/128 binary64)))
(*.f64 (sqrt.f64 (pow.f64 x #s(literal 55/64 binary64))) (pow.f64 x #s(literal 9/128 binary64)))
(*.f64 (sqrt.f64 (pow.f64 x #s(literal 37/64 binary64))) (pow.f64 x #s(literal 27/128 binary64)))

simplify126.0ms (3.3%)

Algorithm
egg-herbie
Rules
2834×fma-define
1646×fnmadd-define
1070×sum3-define
982×fma-lowering-fma.f32
982×fma-lowering-fma.f64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
039336
187332
2221320
3521320
4931316
51327316
62469316
73419316
84249316
95087316
105342316
115347316
125350316
135350316
145499316
155503316
05503316
Stop Event
iter limit
saturated
Counts
60 → 60
Calls
Call 1
Inputs
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(pow (* 1 (pow x 3)) 1/4)
(pow (* 1 (pow x 3)) 1/4)
(pow (* 1 (pow x 3)) 1/4)
(pow (* 1 (pow x 3)) 1/4)
(pow (* 1 (pow x 3)) 1/4)
(pow (* 1 (pow x 3)) 1/4)
(pow (* 1 (pow x 3)) 1/4)
(pow (* 1 (pow x 3)) 1/4)
(exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))
(exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))
(exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))
(exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* 1 x) 1/4) (sqrt 2))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* 2 (sqrt x))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
Outputs
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* x (sqrt 2))
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(*.f64 (*.f64 (*.f64 x (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (sqrt.f64 #s(literal -1 binary64)))) (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64)))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(*.f64 (*.f64 (*.f64 x (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (sqrt.f64 #s(literal -1 binary64)))) (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64)))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(*.f64 (*.f64 (*.f64 x (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (sqrt.f64 #s(literal -1 binary64)))) (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64)))
(* -1 (* (pow -1 1/4) (* (* x (sqrt 2)) (sqrt (sqrt -1)))))
(*.f64 (*.f64 (*.f64 x (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (sqrt.f64 #s(literal -1 binary64)))) (pow.f64 #s(literal -1 binary64) #s(literal 5/4 binary64)))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))
(*.f64 (pow.f64 #s(literal -1 binary64) #s(literal 1/4 binary64)) (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -3/4 binary64)))
(exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))
(*.f64 (pow.f64 #s(literal -1 binary64) #s(literal 1/4 binary64)) (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -3/4 binary64)))
(exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))
(*.f64 (pow.f64 #s(literal -1 binary64) #s(literal 1/4 binary64)) (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -3/4 binary64)))
(exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))
(*.f64 (pow.f64 #s(literal -1 binary64) #s(literal 1/4 binary64)) (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -3/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* 1 x) 1/4) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 x #s(literal 1/4 binary64)))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (sqrt.f64 #s(literal -1 binary64)))))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (sqrt.f64 #s(literal -1 binary64)))))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (sqrt.f64 #s(literal -1 binary64)))))
(* (pow (* -1 x) 1/4) (* (sqrt (sqrt -1)) (sqrt 2)))
(*.f64 (pow.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (sqrt.f64 #s(literal -1 binary64)))))
(* 2 (sqrt x))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(* 2 (sqrt x))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(* 2 (sqrt x))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(* 2 (sqrt x))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(* 2 (sqrt x))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(* 2 (sqrt x))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(* 2 (sqrt x))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(* 2 (sqrt x))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(* -2 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f64 (sqrt.f64 x) #s(literal 2 binary64))
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)

eval21.0ms (0.5%)

Compiler

Compiled 2244 to 431 computations (80.8% saved)

prune18.0ms (0.5%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New1810181
Fresh000
Picked011
Done055
Total1816187
Accuracy
100.0%
Counts
187 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.4%
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
70.1%
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
99.4%
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (sqrt.f64 x))
99.3%
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
99.1%
(*.f64 (exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))) x)
51.5%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Compiler

Compiled 162 to 92 computations (43.2% saved)

regimes41.0ms (1.1%)

Counts
13 → 1
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(*.f64 (exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))) x)
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (sqrt.f64 x))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64)) (sqrt.f64 x))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 8 binary64))))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x))))
(sqrt.f64 (*.f64 (pow.f64 x #s(literal 5/4 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/4 binary64)))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3/2 binary64)))))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 x)) #s(literal 1/2 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (pow.f64 x #s(literal 1/8 binary64)) (*.f64 (pow.f64 x #s(literal 3/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))))
(*.f64 (pow.f64 x #s(literal 3/8 binary64)) (*.f64 (pow.f64 x #s(literal 1/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 1/2 binary64))))
Outputs
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (sqrt.f64 x))
Calls

4 calls:

16.0ms
x
4.0ms
(*.f64 #s(literal 2 binary64) (*.f64 x x))
4.0ms
(*.f64 x x)
4.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Results
AccuracySegmentsBranch
99.4%1x
99.4%1(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
99.4%1(*.f64 #s(literal 2 binary64) (*.f64 x x))
99.4%1(*.f64 x x)
Compiler

Compiled 19 to 12 computations (36.8% saved)

regimes7.0ms (0.2%)

Accuracy

Total -31.0b remaining (-7344.9%)

Threshold costs -31b (-7344.9%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(*.f64 (exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))) x)
Outputs
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
Calls

4 calls:

2.0ms
x
2.0ms
(*.f64 x x)
2.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
2.0ms
(*.f64 #s(literal 2 binary64) (*.f64 x x))
Results
AccuracySegmentsBranch
99.3%1x
99.3%1(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
99.3%1(*.f64 #s(literal 2 binary64) (*.f64 x x))
99.3%1(*.f64 x x)
Compiler

Compiled 19 to 12 computations (36.8% saved)

simplify10.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
11111
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (sqrt.f64 x))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
Outputs
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) x)) (sqrt.f64 x))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(*.f64 x (sqrt.f64 #s(literal 2 binary64)))

soundness481.0ms (12.5%)

Rules
2622×*-lowering-*.f32
2622×*-lowering-*.f64
2426×*-lowering-*.f32
2426×*-lowering-*.f64
1850×fma-define
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0511
11511
23910
37910
424210
579610
6396610
0815510
02679
16474
214260
334060
4122660
5544660
0816760
Stop Event
done
iter limit
node limit
iter limit
node limit
Compiler

Compiled 34 to 25 computations (26.5% saved)

preprocess27.0ms (0.7%)

Compiler

Compiled 70 to 50 computations (28.6% saved)

end0.0ms (0%)

Profiling

Loading profile data...