sqrt C (should all be same)

Time bar (total: 11.8s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
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 7 computations (12.5% saved)

sample792.0ms (6.7%)

Memory
12.5MiB live, 861.7MiB allocated
Samples
435.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 202.0ms
ival-mult: 131.0ms (65% of total)
ival-sqrt: 58.0ms (28.8% of total)
ival-true: 6.0ms (3% of total)
exact: 4.0ms (2% of total)
ival-assert: 3.0ms (1.5% of total)
Bogosity

explain60.0ms (0.5%)

Memory
-2.7MiB live, 116.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1200-2(4.864449213424914e-160)(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
00-0-#s(literal 2 binary64)
00-0-(*.f64 x x)
00-0-(*.f64 #s(literal 2 binary64) (*.f64 x x))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))oflow-rescue680
(*.f64 #s(literal 2 binary64) (*.f64 x x))overflow68
(*.f64 x x)overflow68
sqrt.f64(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))uflow-rescue500
(*.f64 #s(literal 2 binary64) (*.f64 x x))underflow50
(*.f64 x x)underflow50
Confusion
Predicted +Predicted -
+1182
-0136
Precision
1.0
Recall
0.9833333333333333
Confusion?
Predicted +Predicted MaybePredicted -
+11802
-00136
Precision?
1.0
Recall?
0.9833333333333333
Freqs
test
numberfreq
0138
1118
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
28.0ms512×0valid
Compiler

Compiled 42 to 19 computations (54.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-sqrt: 9.0ms (49.6% of total)
ival-mult: 8.0ms (44.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess15.0ms (0.1%)

Memory
21.4MiB live, 21.4MiB allocated
Algorithm
egg-herbie
Rules
34×associate-*l*
32×associate-*r*
26×distribute-lft-neg-in
24×distribute-lft-in
24×neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
12113
26313
314113
420413
522113
622313
056
086
1116
2146
0146
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Outputs
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(sqrt.f64 (*.f64 (*.f64 x x) #s(literal 2 binary64)))
Symmetry

(abs x)

Compiler

Compiled 6 to 5 computations (16.7% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.6%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify3.0ms (0%)

Memory
3.9MiB live, 3.9MiB allocated
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×lower-*.f32
10×lower-*.f64
*-commutative
lift-*.f64
lift-sqrt.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0516
0816
11116
21416
01416
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(*.f64 #s(literal 2 binary64) (*.f64 x x))
#s(literal 2 binary64)
(*.f64 x x)
x
Outputs
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(sqrt.f64 (*.f64 (*.f64 x x) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 x x)
x

localize27.0ms (0.2%)

Memory
-13.5MiB live, 22.6MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0
(*.f64 #s(literal 2 binary64) (*.f64 x x))
accuracy27.77118890026165
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Samples
22.0ms256×0valid
Compiler

Compiled 18 to 7 computations (61.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 4.0ms (64.9% of total)
ival-sqrt: 2.0ms (32.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series4.0ms (0%)

Memory
6.0MiB live, 6.0MiB allocated
Counts
3 → 36
Calls
Call 1
Inputs
#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
Outputs
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 2 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
Calls

3 calls:

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

simplify5.0ms (0%)

Memory
6.6MiB live, 6.6MiB allocated
Algorithm
egg-herbie
Rules
38×lower-*.f64
38×lower-fma.f64
38×lower-fma.f32
38×lower-*.f32
36×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08148
115148
232148
338148
442148
554148
666148
777148
897148
9102148
0102148
Stop Event
iter limit
saturated
Counts
36 → 36
Calls
Call 1
Inputs
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 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)
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 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)
(* -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))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
Outputs
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x 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)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x 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)
(* -1 (* x (sqrt 2)))
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* x (sqrt 2)))
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* x (sqrt 2)))
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* x (sqrt 2)))
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x 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)

rewrite212.0ms (1.8%)

Memory
-37.2MiB live, 248.3MiB allocated
Rules
6 020×lower-fma.f64
6 020×lower-fma.f32
3 692×lower-*.f32
3 688×lower-*.f64
1 894×lower-pow.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0514
0814
11713
24612
312312
458012
5391412
0817912
Stop Event
iter limit
node limit
iter limit
Counts
3 → 226
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(*.f64 #s(literal 2 binary64) (*.f64 x x))
(*.f64 x x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval33.0ms (0.3%)

Memory
31.7MiB live, 69.4MiB allocated
Compiler

Compiled 3 146 to 747 computations (76.3% saved)

prune13.0ms (0.1%)

Memory
-17.1MiB live, 27.2MiB allocated
Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2557262
Fresh000
Picked011
Done000
Total2558263
Accuracy
100.0%
Counts
263 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
30.0%
(pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64))
99.5%
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
99.5%
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 2 binary64))))
99.2%
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x))
99.5%
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
99.4%
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
56.3%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
56.6%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Compiler

Compiled 112 to 97 computations (13.4% saved)

simplify5.0ms (0%)

Memory
7.5MiB live, 7.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
cost-diff0
(pow.f64 x #s(literal 4 binary64))
cost-diff0
(*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64)))
cost-diff0
(pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64))
cost-diff0
(sqrt.f64 x)
cost-diff0
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
cost-diff0
(*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))
cost-diff0
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
cost-diff0
(sqrt.f64 x)
cost-diff0
(*.f64 x #s(literal 2 binary64))
cost-diff0
(sqrt.f64 (*.f64 x #s(literal 2 binary64)))
cost-diff0
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
cost-diff0
(sqrt.f64 #s(literal 2 binary64))
cost-diff0
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
cost-diff0
(pow.f64 x #s(literal 3/4 binary64))
cost-diff0
(*.f64 #s(literal 4 binary64) x)
cost-diff0
(pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64))
cost-diff0
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
Rules
28×lower-*.f32
14×*-commutative
14×lower-*.f64
14×lift-*.f64
10×lift-pow.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02190
03790
14490
04490
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64))
(*.f64 #s(literal 4 binary64) x)
#s(literal 4 binary64)
x
#s(literal 1/4 binary64)
(pow.f64 x #s(literal 3/4 binary64))
#s(literal 3/4 binary64)
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
x
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
(sqrt.f64 (*.f64 x #s(literal 2 binary64)))
(*.f64 x #s(literal 2 binary64))
x
#s(literal 2 binary64)
(sqrt.f64 x)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
(*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))
#s(literal 2 binary64)
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
(sqrt.f64 x)
x
#s(literal 4 binary64)
(pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64))
(*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64)))
#s(literal 4 binary64)
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 1/4 binary64)
Outputs
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64)))
(pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(*.f64 #s(literal 4 binary64) x)
(*.f64 x #s(literal 4 binary64))
#s(literal 4 binary64)
x
#s(literal 1/4 binary64)
(pow.f64 x #s(literal 3/4 binary64))
#s(literal 3/4 binary64)
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
x
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 #s(literal 2 binary64) x)))
(sqrt.f64 (*.f64 x #s(literal 2 binary64)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) x))
(*.f64 x #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) x)
x
#s(literal 2 binary64)
(sqrt.f64 x)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
(sqrt.f64 (*.f64 (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))
(*.f64 (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #s(literal 2 binary64))
#s(literal 2 binary64)
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
(sqrt.f64 x)
x
#s(literal 4 binary64)
(pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64))
(pow.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64)) #s(literal 1/4 binary64))
(*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
#s(literal 4 binary64)
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 1/4 binary64)

localize71.0ms (0.6%)

Memory
11.5MiB live, 122.4MiB allocated
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
accuracy0
(pow.f64 x #s(literal 4 binary64))
accuracy0.00390625
(*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64)))
accuracy44.79658170266059
(pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64))
accuracy0
(*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))
accuracy0
(sqrt.f64 x)
accuracy0.48357026374793477
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
accuracy27.77118890026165
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
accuracy0
(*.f64 x #s(literal 2 binary64))
accuracy0
(sqrt.f64 (*.f64 x #s(literal 2 binary64)))
accuracy0
(sqrt.f64 x)
accuracy0.30859375
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
accuracy0
(sqrt.f64 #s(literal 2 binary64))
accuracy0.39453125
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
accuracy0
(pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64))
accuracy0
(pow.f64 x #s(literal 3/4 binary64))
accuracy0
(*.f64 #s(literal 4 binary64) x)
accuracy0.296875
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
Samples
58.0ms256×0valid
Compiler

Compiled 92 to 23 computations (75% saved)

Precisions
Click to see histograms. Total time spent on operations: 41.0ms
ival-pow: 22.0ms (53.1% of total)
ival-mult: 12.0ms (29% of total)
ival-sqrt: 7.0ms (16.9% of total)
exact: 1.0ms (2.4% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series239.0ms (2%)

Memory
-29.5MiB live, 416.9MiB allocated
Counts
16 → 180
Calls
Call 1
Inputs
#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())
#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())
#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())
#s(alt (sqrt.f64 #s(literal 2 binary64)) (patch (sqrt.f64 #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())
#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())
#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())
#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())
#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())
#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* (pow 4 1/4) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log 4) (log x)))) (taylor 0 x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log 4) (log x)))) (taylor 0 x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log 4) (log x)))) (taylor 0 x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log 4) (log x)))) (taylor 0 x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 4 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 4 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 4 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 4 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow (* 1 (pow x 3)) 1/4) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (* 1 (pow x 3)) 1/4) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (* 1 (pow x 3)) 1/4) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (* 1 (pow x 3)) 1/4) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* (sqrt x) (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (sqrt x) (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (sqrt x) (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (sqrt x) (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor 0 x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor 0 x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor 0 x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor 0 x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 4 (pow x 4)) (taylor 0 x) (#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 4 (pow x 4)) (taylor 0 x) (#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 4 (pow x 4)) (taylor 0 x) (#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 4 (pow x 4)) (taylor 0 x) (#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log 4) (* -1 (log (/ 1 x)))))) (taylor inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log 4) (* -1 (log (/ 1 x)))))) (taylor inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log 4) (* -1 (log (/ 1 x)))))) (taylor inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log 4) (* -1 (log (/ 1 x)))))) (taylor inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 4 x) (taylor inf x) (#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 4 x) (taylor inf x) (#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 4 x) (taylor inf x) (#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 4 x) (taylor inf x) (#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow (* 1 (pow x 3)) 1/4) (taylor inf x) (#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (* 1 (pow x 3)) 1/4) (taylor inf x) (#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (* 1 (pow x 3)) 1/4) (taylor inf x) (#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (* 1 (pow x 3)) 1/4) (taylor inf x) (#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* (sqrt x) (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (sqrt x) (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (sqrt x) (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (sqrt x) (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 4 (pow x 4)) (taylor inf x) (#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 4 (pow x 4)) (taylor inf x) (#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 4 (pow x 4)) (taylor inf x) (#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 4 (pow x 4)) (taylor inf x) (#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor inf x) (#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor inf x) (#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor inf x) (#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor inf x) (#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor -inf x) (#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor -inf x) (#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor -inf x) (#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor -inf x) (#s(alt (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) (patch (*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log -4) (* -1 (log (/ -1 x)))))) (taylor -inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log -4) (* -1 (log (/ -1 x)))))) (taylor -inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log -4) (* -1 (log (/ -1 x)))))) (taylor -inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log -4) (* -1 (log (/ -1 x)))))) (taylor -inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 4 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 4 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 4 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 4 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 4 binary64) x) (patch (*.f64 #s(literal 4 binary64) x) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x)))))) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x)))))) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x)))))) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x)))))) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 3/4 binary64)) (patch (pow.f64 x #s(literal 3/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor -inf x) (#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor -inf x) (#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor -inf x) (#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor -inf x) (#s(alt (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (* (sqrt -2) (sqrt -1)))) (taylor -inf x) (#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (* (sqrt -2) (sqrt -1)))) (taylor -inf x) (#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (* (sqrt -2) (sqrt -1)))) (taylor -inf x) (#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (* (sqrt -2) (sqrt -1)))) (taylor -inf x) (#s(alt (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) (patch (*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1)))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1)))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1)))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1)))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (patch (sqrt.f64 (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2)))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2)))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2)))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2)))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) (patch (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 2 (* (pow x 2) (pow (sqrt -1) 4))) (taylor -inf x) (#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (* (pow x 2) (pow (sqrt -1) 4))) (taylor -inf x) (#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (* (pow x 2) (pow (sqrt -1) 4))) (taylor -inf x) (#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (* (pow x 2) (pow (sqrt -1) 4))) (taylor -inf x) (#s(alt (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) (patch (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (pow (sqrt -1) 4)) (taylor -inf x) (#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (pow (sqrt -1) 4)) (taylor -inf x) (#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (pow (sqrt -1) 4)) (taylor -inf x) (#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (pow (sqrt -1) 4)) (taylor -inf x) (#s(alt (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) (patch (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor -inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor -inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor -inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor -inf x) (#s(alt (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) (patch (pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 4 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 4 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 4 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 4 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) (patch (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 4 binary64)) (patch (pow.f64 x #s(literal 4 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
101.0ms
x
@0
((* (pow (* 4 x) 1/4) (pow x 3/4)) (pow (* 4 x) 1/4) (* 4 x) (pow x 3/4) (* (sqrt 2) x) (sqrt 2) (* (sqrt (* x 2)) (sqrt x)) (sqrt (* x 2)) (* x 2) (sqrt x) (sqrt (* 2 (pow (sqrt x) 4))) (* 2 (pow (sqrt x) 4)) (pow (sqrt x) 4) (pow (* 4 (pow x 4)) 1/4) (* 4 (pow x 4)) (pow x 4))
68.0ms
x
@-inf
((* (pow (* 4 x) 1/4) (pow x 3/4)) (pow (* 4 x) 1/4) (* 4 x) (pow x 3/4) (* (sqrt 2) x) (sqrt 2) (* (sqrt (* x 2)) (sqrt x)) (sqrt (* x 2)) (* x 2) (sqrt x) (sqrt (* 2 (pow (sqrt x) 4))) (* 2 (pow (sqrt x) 4)) (pow (sqrt x) 4) (pow (* 4 (pow x 4)) 1/4) (* 4 (pow x 4)) (pow x 4))
64.0ms
x
@inf
((* (pow (* 4 x) 1/4) (pow x 3/4)) (pow (* 4 x) 1/4) (* 4 x) (pow x 3/4) (* (sqrt 2) x) (sqrt 2) (* (sqrt (* x 2)) (sqrt x)) (sqrt (* x 2)) (* x 2) (sqrt x) (sqrt (* 2 (pow (sqrt x) 4))) (* 2 (pow (sqrt x) 4)) (pow (sqrt x) 4) (pow (* 4 (pow x 4)) 1/4) (* 4 (pow x 4)) (pow x 4))

simplify150.0ms (1.3%)

Memory
39.1MiB live, 146.4MiB allocated
Algorithm
egg-herbie
Rules
3 070×lower-*.f64
3 070×lower-*.f32
2 554×lower-fma.f64
2 554×lower-fma.f32
1 676×lower--.f64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
065836
1154836
2377812
3695788
41553784
53074784
65342784
76972784
08120784
Stop Event
iter limit
node limit
Counts
180 → 180
Calls
Call 1
Inputs
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(exp (* 1/4 (+ (log 4) (log x))))
(exp (* 1/4 (+ (log 4) (log x))))
(exp (* 1/4 (+ (log 4) (log x))))
(exp (* 1/4 (+ (log 4) (log x))))
(* 4 x)
(* 4 x)
(* 4 x)
(* 4 x)
(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)
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 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 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* 4 (pow x 4))
(* 4 (pow x 4))
(* 4 (pow x 4))
(* 4 (pow x 4))
(pow x 4)
(pow x 4)
(pow x 4)
(pow x 4)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(exp (* 1/4 (+ (log 4) (* -1 (log (/ 1 x))))))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ 1 x))))))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ 1 x))))))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ 1 x))))))
(* 4 x)
(* 4 x)
(* 4 x)
(* 4 x)
(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)
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 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 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* 4 (pow x 4))
(* 4 (pow x 4))
(* 4 (pow x 4))
(* 4 (pow x 4))
(pow x 4)
(pow x 4)
(pow x 4)
(pow x 4)
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(exp (* 1/4 (+ (log -4) (* -1 (log (/ -1 x))))))
(exp (* 1/4 (+ (log -4) (* -1 (log (/ -1 x))))))
(exp (* 1/4 (+ (log -4) (* -1 (log (/ -1 x))))))
(exp (* 1/4 (+ (log -4) (* -1 (log (/ -1 x))))))
(* 4 x)
(* 4 x)
(* 4 x)
(* 4 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))))))
(exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 x))))))
(* 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))))
(* -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)
(* -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)))
(* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2))))
(* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2))))
(* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2))))
(* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2))))
(* 2 (* (pow x 2) (pow (sqrt -1) 4)))
(* 2 (* (pow x 2) (pow (sqrt -1) 4)))
(* 2 (* (pow x 2) (pow (sqrt -1) 4)))
(* 2 (* (pow x 2) (pow (sqrt -1) 4)))
(* (pow x 2) (pow (sqrt -1) 4))
(* (pow x 2) (pow (sqrt -1) 4))
(* (pow x 2) (pow (sqrt -1) 4))
(* (pow x 2) (pow (sqrt -1) 4))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* 4 (pow x 4))
(* 4 (pow x 4))
(* 4 (pow x 4))
(* 4 (pow x 4))
(pow x 4)
(pow x 4)
(pow x 4)
(pow x 4)
Outputs
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(exp (* 1/4 (+ (log 4) (log x))))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log 4) (log x))))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log 4) (log x))))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log 4) (log x))))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(* 4 x)
(*.f64 x #s(literal 4 binary64))
(* 4 x)
(*.f64 x #s(literal 4 binary64))
(* 4 x)
(*.f64 x #s(literal 4 binary64))
(* 4 x)
(*.f64 x #s(literal 4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/4 binary64))
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x 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 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* 4 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
(* 4 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
(* 4 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
(* 4 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ 1 x))))))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ 1 x))))))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ 1 x))))))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ 1 x))))))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(* 4 x)
(*.f64 x #s(literal 4 binary64))
(* 4 x)
(*.f64 x #s(literal 4 binary64))
(* 4 x)
(*.f64 x #s(literal 4 binary64))
(* 4 x)
(*.f64 x #s(literal 4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/4 binary64))
(pow (* 1 (pow x 3)) 1/4)
(pow.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/4 binary64))
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* (sqrt x) (sqrt 2))
(*.f64 (sqrt.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (pow x 2))
(*.f64 (*.f64 x 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 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* 4 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
(* 4 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
(* 4 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
(* 4 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(* -1 (* (pow 4 1/4) x))
(*.f64 (neg.f64 x) (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* -1 (* (pow 4 1/4) x))
(*.f64 (neg.f64 x) (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* -1 (* (pow 4 1/4) x))
(*.f64 (neg.f64 x) (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* -1 (* (pow 4 1/4) x))
(*.f64 (neg.f64 x) (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(exp (* 1/4 (+ (log -4) (* -1 (log (/ -1 x))))))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log -4) (* -1 (log (/ -1 x))))))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log -4) (* -1 (log (/ -1 x))))))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(exp (* 1/4 (+ (log -4) (* -1 (log (/ -1 x))))))
(pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64))
(* 4 x)
(*.f64 x #s(literal 4 binary64))
(* 4 x)
(*.f64 x #s(literal 4 binary64))
(* 4 x)
(*.f64 x #s(literal 4 binary64))
(* 4 x)
(*.f64 x #s(literal 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 (neg.f64 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 (neg.f64 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 (neg.f64 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 (neg.f64 x) #s(literal -3/4 binary64)))
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(*.f64 (neg.f64 x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal -2 binary64))))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(*.f64 (neg.f64 x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal -2 binary64))))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(*.f64 (neg.f64 x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal -2 binary64))))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(*.f64 (neg.f64 x) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal -2 binary64))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal -2 binary64))) (sqrt.f64 x)))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal -2 binary64))) (sqrt.f64 x)))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal -2 binary64))) (sqrt.f64 x)))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal -2 binary64))) (sqrt.f64 x)))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) 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)
(* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* 2 (* (pow x 2) (pow (sqrt -1) 4)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (* (pow x 2) (pow (sqrt -1) 4)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (* (pow x 2) (pow (sqrt -1) 4)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* 2 (* (pow x 2) (pow (sqrt -1) 4)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* (pow x 2) (pow (sqrt -1) 4))
(*.f64 x x)
(* (pow x 2) (pow (sqrt -1) 4))
(*.f64 x x)
(* (pow x 2) (pow (sqrt -1) 4))
(*.f64 x x)
(* (pow x 2) (pow (sqrt -1) 4))
(*.f64 x x)
(* -1 (* (pow 4 1/4) x))
(*.f64 (neg.f64 x) (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* -1 (* (pow 4 1/4) x))
(*.f64 (neg.f64 x) (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* -1 (* (pow 4 1/4) x))
(*.f64 (neg.f64 x) (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* -1 (* (pow 4 1/4) x))
(*.f64 (neg.f64 x) (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* 4 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
(* 4 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
(* 4 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
(* 4 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))

rewrite103.0ms (0.9%)

Memory
-21.7MiB live, 133.8MiB allocated
Rules
1 640×lower-/.f64
1 640×lower-/.f32
1 624×lower-*.f32
1 622×lower-*.f64
954×lower-fma.f64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02174
03796
18896
225356
3112524
4552524
0809524
Stop Event
iter limit
node limit
iter limit
Counts
16 → 380
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64))
(*.f64 #s(literal 4 binary64) x)
(pow.f64 x #s(literal 3/4 binary64))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 #s(literal 2 binary64))
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
(sqrt.f64 (*.f64 x #s(literal 2 binary64)))
(*.f64 x #s(literal 2 binary64))
(sqrt.f64 x)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
(*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
(pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64))
(*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64)))
(pow.f64 x #s(literal 4 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval88.0ms (0.7%)

Memory
0.5MiB live, 123.3MiB allocated
Compiler

Compiled 4 955 to 344 computations (93.1% saved)

prune27.0ms (0.2%)

Memory
26.9MiB live, 61.5MiB allocated
Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New5722574
Fresh112
Picked145
Done011
Total5748582
Accuracy
100.0%
Counts
582 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.1%
(*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x)
99.5%
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
99.2%
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x))
99.5%
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
99.4%
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
56.3%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
56.6%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
5.5%
(sqrt.f64 #s(literal 2 binary64))
Compiler

Compiled 51 to 46 computations (9.8% saved)

simplify10.0ms (0.1%)

Memory
-19.5MiB live, 13.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
cost-diff0
(pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64))
cost-diff0
(*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x)
cost-diff6464
(pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64))
cost-diff0
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
cost-diff0
(pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64))
cost-diff6784
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x))
cost-diff0
(sqrt.f64 #s(literal 2 binary64))
Rules
28×lower-*.f32
22×lower-*.f64
10×*-commutative
10×lower-pow.f32
lift-pow.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01342
02042
12634
23734
33834
03834
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x))
(pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64))
#s(literal 4 binary64)
#s(literal 1/8 binary64)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
x
(*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x)
(pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64))
(pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64))
#s(literal 256 binary64)
#s(literal 1/32 binary64)
#s(literal 2 binary64)
x
Outputs
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)) x)
(pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64))
#s(literal 4 binary64)
#s(literal 1/8 binary64)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)))
x
(*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)
(pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64))
(pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64))
(pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64))
#s(literal 256 binary64)
#s(literal 1/32 binary64)
#s(literal 2 binary64)
x

localize47.0ms (0.4%)

Memory
1.2MiB live, 82.5MiB allocated
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
accuracy0
(pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64))
accuracy0.39453125
(*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x)
accuracy1.0
(pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64))
accuracy0
(pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64))
accuracy0.2109375
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
accuracy0.33203125
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x))
accuracy0
(sqrt.f64 #s(literal 2 binary64))
Samples
26.0ms256×0valid
Compiler

Compiled 44 to 15 computations (65.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-pow: 6.0ms (38% of total)
ival-mult: 4.0ms (25.3% of total)
ival-sqrt: 2.0ms (12.7% of total)
ival-pow2: 2.0ms (12.7% of total)
exact: 1.0ms (6.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series64.0ms (0.5%)

Memory
30.5MiB live, 188.2MiB allocated
Counts
7 → 36
Calls
Call 1
Inputs
#s(alt (sqrt.f64 #s(literal 2 binary64)) (patch (sqrt.f64 #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())
#s(alt (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (patch (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())
#s(alt (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())
#s(alt (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) (patch (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* (pow 4 1/4) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/8) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/8) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/8) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/8) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 256 1/16) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 256 1/16) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 256 1/16) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 256 1/16) x) (taylor 0 x) (#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/8) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/8) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/8) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/8) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 256 1/16) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 256 1/16) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 256 1/16) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 256 1/16) x) (taylor inf x) (#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor -inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor -inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor -inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/4) x) (taylor -inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/8) x) (taylor -inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/8) x) (taylor -inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/8) x) (taylor -inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 4 1/8) x) (taylor -inf x) (#s(alt (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) (patch (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 256 1/16) x) (taylor -inf x) (#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 256 1/16) x) (taylor -inf x) (#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 256 1/16) x) (taylor -inf x) (#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow 256 1/16) x) (taylor -inf x) (#s(alt (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) (patch (*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
32.0ms
x
@0
((sqrt 2) (* (pow 4 1/8) (* (pow 4 1/8) x)) (pow 4 1/8) (* (pow 4 1/8) x) (pow (pow 256 1/32) 2) (* (pow (pow 256 1/32) 2) x) (pow 256 1/32))
17.0ms
x
@-inf
((sqrt 2) (* (pow 4 1/8) (* (pow 4 1/8) x)) (pow 4 1/8) (* (pow 4 1/8) x) (pow (pow 256 1/32) 2) (* (pow (pow 256 1/32) 2) x) (pow 256 1/32))
15.0ms
x
@inf
((sqrt 2) (* (pow 4 1/8) (* (pow 4 1/8) x)) (pow 4 1/8) (* (pow 4 1/8) x) (pow (pow 256 1/32) 2) (* (pow (pow 256 1/32) 2) x) (pow 256 1/32))

simplify4.0ms (0%)

Memory
6.1MiB live, 6.1MiB allocated
Algorithm
egg-herbie
Rules
12×lower-*.f64
12×lower-*.f32
*-commutative
lower-pow.f64
lower-pow.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012180
115180
015180
Stop Event
iter limit
saturated
Counts
36 → 36
Calls
Call 1
Inputs
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/8) x)
(* (pow 4 1/8) x)
(* (pow 4 1/8) x)
(* (pow 4 1/8) x)
(* (pow 256 1/16) x)
(* (pow 256 1/16) x)
(* (pow 256 1/16) x)
(* (pow 256 1/16) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/8) x)
(* (pow 4 1/8) x)
(* (pow 4 1/8) x)
(* (pow 4 1/8) x)
(* (pow 256 1/16) x)
(* (pow 256 1/16) x)
(* (pow 256 1/16) x)
(* (pow 256 1/16) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/4) x)
(* (pow 4 1/8) x)
(* (pow 4 1/8) x)
(* (pow 4 1/8) x)
(* (pow 4 1/8) x)
(* (pow 256 1/16) x)
(* (pow 256 1/16) x)
(* (pow 256 1/16) x)
(* (pow 256 1/16) x)
Outputs
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/8) x)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(* (pow 4 1/8) x)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(* (pow 4 1/8) x)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(* (pow 4 1/8) x)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(* (pow 256 1/16) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)
(* (pow 256 1/16) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)
(* (pow 256 1/16) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)
(* (pow 256 1/16) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/8) x)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(* (pow 4 1/8) x)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(* (pow 4 1/8) x)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(* (pow 4 1/8) x)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(* (pow 256 1/16) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)
(* (pow 256 1/16) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)
(* (pow 256 1/16) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)
(* (pow 256 1/16) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/4) x)
(*.f64 x (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* (pow 4 1/8) x)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(* (pow 4 1/8) x)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(* (pow 4 1/8) x)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(* (pow 4 1/8) x)
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(* (pow 256 1/16) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)
(* (pow 256 1/16) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)
(* (pow 256 1/16) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)
(* (pow 256 1/16) x)
(*.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/16 binary64)) x)

rewrite61.0ms (0.5%)

Memory
-18.3MiB live, 58.5MiB allocated
Rules
430×lower-*.f32
426×lower-*.f64
348×associate-*r*
278×associate-*l*
238×prod-exp
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01334
02035
15123
214620
347113
0230413
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
7 → 82
Calls
Call 1
Inputs
(sqrt.f64 #s(literal 2 binary64))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x))
(pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x)
(pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64))
(*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x)
(pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval11.0ms (0.1%)

Memory
16.6MiB live, 16.6MiB allocated
Compiler

Compiled 1 081 to 96 computations (91.1% saved)

prune24.0ms (0.2%)

Memory
-20.9MiB live, 18.0MiB allocated
Pruning

9 alts after pruning (2 fresh and 7 done)

PrunedKeptTotal
New1172119
Fresh000
Picked123
Done055
Total1189127
Accuracy
100.0%
Counts
127 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.1%
(*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x)
99.5%
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
99.2%
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x))
99.5%
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
99.4%
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
20.3%
(*.f64 x #s(literal 1 binary64))
56.3%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
56.6%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
5.5%
#s(literal 1 binary64)
Compiler

Compiled 53 to 48 computations (9.4% saved)

simplify3.0ms (0%)

Memory
6.7MiB live, 6.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
cost-diff320
(*.f64 x #s(literal 1 binary64))
Rules
lower-*.f32
*-commutative
lower-*.f64
*-rgt-identity
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036
044
174
284
084
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(literal 1 binary64)
(*.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
Outputs
#s(literal 1 binary64)
(*.f64 x #s(literal 1 binary64))
x
x
#s(literal 1 binary64)

localize14.0ms (0.1%)

Memory
-17.4MiB live, 21.7MiB allocated
Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x #s(literal 1 binary64))
Samples
6.0ms256×0valid
Compiler

Compiled 8 to 5 computations (37.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-mult: 2.0ms (99.8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Counts
1 → 12
Calls
Call 1
Inputs
#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())
Outputs
#s(alt x (taylor 0 x) (#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (*.f64 x #s(literal 1 binary64)) (patch (*.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
((* x 1))
0.0ms
x
@inf
((* x 1))
0.0ms
x
@0
((* x 1))

simplify2.0ms (0%)

Memory
2.6MiB live, 2.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0112
0112
Stop Event
saturated
saturated
Counts
12 → 0
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
x
x
x
x
Outputs
x
x
x
x
x
x
x
x
x
x
x
x

rewrite6.0ms (0.1%)

Memory
6.4MiB live, 6.4MiB allocated
Rules
lower-*.f32
lower-*.f64
*-rgt-identity
*-commutative
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
041
171
281
081
Stop Event
iter limit
saturated
iter limit
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 x #s(literal 1 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>

eval0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Compiler

Compiled 7 to 4 computations (42.9% saved)

prune5.0ms (0%)

Memory
8.5MiB live, 8.5MiB allocated
Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New213
Fresh000
Picked202
Done077
Total4812
Accuracy
100.0%
Counts
12 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.1%
(*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x)
99.5%
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
99.2%
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x))
99.5%
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
99.4%
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
56.3%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
56.6%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
20.3%
x
Compiler

Compiled 123 to 85 computations (30.9% saved)

regimes21.0ms (0.2%)

Memory
-14.8MiB live, 22.7MiB allocated
Counts
13 → 1
Calls
Call 1
Inputs
#s(literal 1 binary64)
x
(*.f64 x #s(literal 1 binary64))
(sqrt.f64 #s(literal 2 binary64))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
(*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x)
(pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x))
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (pow.f64 x #s(literal 7/8 binary64)) (sqrt.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 2 binary64))))
Outputs
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
Calls

4 calls:

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

Compiled 15 to 12 computations (20% saved)

regimes15.0ms (0.1%)

Memory
25.0MiB live, 25.0MiB allocated
Counts
11 → 1
Calls
Call 1
Inputs
#s(literal 1 binary64)
x
(*.f64 x #s(literal 1 binary64))
(sqrt.f64 #s(literal 2 binary64))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
(*.f64 (pow.f64 (pow.f64 #s(literal 256 binary64) #s(literal 1/32 binary64)) #s(literal 2 binary64)) x)
(pow.f64 (*.f64 #s(literal 4 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/4 binary64))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) x))
Outputs
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
Calls

4 calls:

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

Compiled 15 to 12 computations (20% saved)

regimes61.0ms (0.5%)

Memory
-16.9MiB live, 20.2MiB allocated
Counts
6 → 1
Calls
Call 1
Inputs
#s(literal 1 binary64)
x
(*.f64 x #s(literal 1 binary64))
(sqrt.f64 #s(literal 2 binary64))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Outputs
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
Calls

4 calls:

53.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
3.0ms
x
2.0ms
(*.f64 x x)
2.0ms
(*.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 15 to 12 computations (20% saved)

regimes8.0ms (0.1%)

Memory
14.3MiB live, 14.3MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(literal 1 binary64)
x
(*.f64 x #s(literal 1 binary64))
(sqrt.f64 #s(literal 2 binary64))
Outputs
x
Calls

4 calls:

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

Compiled 15 to 12 computations (20% saved)

regimes5.0ms (0%)

Memory
10.7MiB live, 10.7MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(literal 1 binary64)
Outputs
#s(literal 1 binary64)
Calls

4 calls:

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

Compiled 15 to 12 computations (20% saved)

simplify25.0ms (0.2%)

Memory
-10.1MiB live, 28.2MiB allocated
Algorithm
egg-herbie
Rules
10×*-commutative-binary64-*.f64
1-exp-binary32-exp.f32
1-exp-binary64-exp.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01622
12422
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
x
#s(literal 1 binary64)
Outputs
(*.f64 (pow.f64 (*.f64 #s(literal 4 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (pow.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 #s(literal 2 binary64) x)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
x
#s(literal 1 binary64)

soundness9.5s (80.7%)

Memory
-32.4MiB live, 448.8MiB allocated
Rules
6 020×lower-fma.f64
6 020×lower-fma.f32
3 692×lower-*.f32
3 688×lower-*.f64
1 894×lower-pow.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02174
03796
18896
225356
3112524
4552524
0809524
01334
02035
15123
214620
347113
0230413
033
041
171
281
081
0514
0814
11713
24612
312312
458012
5391412
0817912
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
saturated
iter limit
iter limit
iter limit
iter limit
unsound
iter limit
iter limit
node limit
iter limit
Compiler

Compiled 67 to 50 computations (25.4% saved)

preprocess43.0ms (0.4%)

Memory
18.2MiB live, 139.0MiB allocated
Compiler

Compiled 110 to 90 computations (18.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...