sqrt E (should all be same)

Time bar (total: 2.4s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 10 to 6 computations (40% saved)

sample588.0ms (24.1%)

Memory
19.6MiB live, 759.1MiB allocated
Samples
389.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 207.0ms
ival-pow2: 99.0ms (47.7% of total)
ival-sqrt: 60.0ms (28.9% of total)
ival-add: 39.0ms (18.8% of total)
ival-true: 6.0ms (2.9% of total)
ival-assert: 3.0ms (1.4% of total)
Bogosity

explain73.0ms (3%)

Memory
-6.3MiB live, 115.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1240-2(-4.739140339998984e-162)(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
00-0-(pow.f64 x #s(literal 2 binary64))
00-0-#s(literal 2 binary64)
00-0-(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))oflow-rescue650
(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))overflow65
(pow.f64 x #s(literal 2 binary64))overflow130
sqrt.f64(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))uflow-rescue570
(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))underflow57
(pow.f64 x #s(literal 2 binary64))underflow114
Confusion
Predicted +Predicted -
+1223
-0131
Precision
1.0
Recall
0.976
Confusion?
Predicted +Predicted MaybePredicted -
+12203
-00131
Precision?
1.0
Recall?
0.976
Freqs
test
numberfreq
0134
1122
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
32.0ms512×0valid
Compiler

Compiled 52 to 19 computations (63.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-sqrt: 6.0ms (39.9% of total)
ival-pow2: 6.0ms (39.9% of total)
ival-add: 2.0ms (13.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess16.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
11513
23513
314613
428613
531313
631513
058
086
1106
2156
3186
0183
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
Outputs
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
(hypot.f64 x x)
Compiler

Compiled 8 to 5 computations (37.5% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.1%
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
Compiler

Compiled 8 to 5 computations (37.5% saved)

simplify7.0ms (0.3%)

Memory
-34.9MiB live, 3.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff-5184
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
cost-diff192
(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
cost-diff6144
(pow.f64 x #s(literal 2 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0520
0816
11016
21516
31816
01813
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(pow.f64 x #s(literal 2 binary64))
x
#s(literal 2 binary64)
Outputs
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
(hypot.f64 x x)
(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(*.f64 x x)
x
#s(literal 2 binary64)

localize16.0ms (0.7%)

Memory
22.5MiB live, 22.5MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(pow.f64 x #s(literal 2 binary64))
accuracy0.0078125
(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
accuracy28.710000619475718
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
Samples
12.0ms256×0valid
Compiler

Compiled 22 to 7 computations (68.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-pow2: 3.0ms (47.3% of total)
ival-sqrt: 2.0ms (31.5% of total)
ival-add: 1.0ms (15.8% 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.2%)

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

3 calls:

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

simplify5.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
08148
115148
232148
337148
441148
553148
665148
776148
896148
9101148
0101148
Stop Event
iter limit
saturated
Counts
36 → 36
Calls
Call 1
Inputs
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
Outputs
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x 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))
(* 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)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x 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))
(* 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)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x 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))
(* -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)))

rewrite33.0ms (1.3%)

Memory
-2.7MiB live, 35.2MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0518
0814
12810
01709
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
3 → 33
Calls
Call 1
Inputs
(pow.f64 x #s(literal 2 binary64))
(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 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>

eval12.0ms (0.5%)

Memory
-21.9MiB live, 15.7MiB allocated
Compiler

Compiled 693 to 114 computations (83.5% saved)

prune5.0ms (0.2%)

Memory
10.0MiB live, 10.0MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New83487
Fresh000
Picked101
Done000
Total84488
Accuracy
100.0%
Counts
88 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
55.1%
(sqrt.f64 (*.f64 x (+.f64 x x)))
49.2%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
52.2%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))))
Compiler

Compiled 20 to 17 computations (15% saved)

simplify12.0ms (0.5%)

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

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(hypot.f64 x x)
cost-diff-5184
(sqrt.f64 (*.f64 x (+.f64 x x)))
cost-diff-128
(+.f64 x x)
cost-diff0
(*.f64 x (+.f64 x x))
cost-diff0
(sqrt.f64 #s(literal 2 binary64))
cost-diff0
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
cost-diff0
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
cost-diff0
(sqrt.f64 #s(literal 2 binary64))
cost-diff0
(neg.f64 x)
cost-diff0
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))
cost-diff0
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01565
02552
13652
24852
35952
46552
57652
610452
712352
813852
921652
1034652
1136052
1236452
036452
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(neg.f64 x)
x
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
x
(sqrt.f64 (*.f64 x (+.f64 x x)))
(*.f64 x (+.f64 x x))
x
(+.f64 x x)
(hypot.f64 x x)
x
Outputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 x)))
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 x))
(neg.f64 x)
x
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
x
(sqrt.f64 (*.f64 x (+.f64 x x)))
(hypot.f64 x x)
(*.f64 x (+.f64 x x))
(*.f64 (*.f64 #s(literal 2 binary64) x) x)
x
(+.f64 x x)
(*.f64 #s(literal 2 binary64) x)
(hypot.f64 x x)
x

localize47.0ms (1.9%)

Memory
-25.5MiB live, 54.4MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0.01171875
(hypot.f64 x x)
accuracy0
(+.f64 x x)
accuracy0
(*.f64 x (+.f64 x x))
accuracy28.710000619475718
(sqrt.f64 (*.f64 x (+.f64 x x)))
accuracy0
(sqrt.f64 #s(literal 2 binary64))
accuracy0.4296875
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
accuracy32.2898628052697
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
accuracy0
(sqrt.f64 #s(literal 2 binary64))
accuracy0
(neg.f64 x)
accuracy0.4296875
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))
accuracy30.373239791276287
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))))
Samples
35.0ms256×0valid
Compiler

Compiled 61 to 15 computations (75.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-mult: 6.0ms (27.7% of total)
ival-sqrt: 5.0ms (23.1% of total)
ival-hypot: 4.0ms (18.5% of total)
ival-pow2: 3.0ms (13.9% of total)
ival-add: 2.0ms (9.2% of total)
ival-neg: 1.0ms (4.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series6.0ms (0.2%)

Memory
8.6MiB live, 8.6MiB allocated
Counts
10 → 108
Calls
Call 1
Inputs
#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())
#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())
#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())
#s(alt (sqrt.f64 #s(literal 2 binary64)) (patch (sqrt.f64 #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) #<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 (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())
#s(alt (+.f64 x x) (patch (+.f64 x x) #<representation binary64>) () ())
#s(alt (sqrt.f64 (*.f64 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())
#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())
Outputs
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.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 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (+.f64 x x) (patch (+.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (+.f64 x x) (patch (+.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (+.f64 x x) (patch (+.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (+.f64 x x) (patch (+.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (*.f64 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.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 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (+.f64 x x) (patch (+.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (+.f64 x x) (patch (+.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (+.f64 x x) (patch (+.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf 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 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (*.f64 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.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 #s(literal 2 binary64)) x) (patch (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 x (+.f64 x x)) (patch (*.f64 x (+.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (+.f64 x x) (patch (+.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (+.f64 x x) (patch (+.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (+.f64 x x) (patch (+.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (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 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (sqrt.f64 (*.f64 x (+.f64 x x))) (patch (sqrt.f64 (*.f64 x (+.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (hypot.f64 x x) (patch (hypot.f64 x x) #<representation binary64>) () ())) ())
Calls

3 calls:

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

simplify7.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
010436
119436
233436
337436
445436
556436
667436
789436
8100436
9100436
0100436
Stop Event
iter limit
saturated
Counts
108 → 108
Calls
Call 1
Inputs
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 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))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 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)
(* -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)))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.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)
(* 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))
(* 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)
(* 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)
(* 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)))
(*.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)))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.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)
(* 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))
(* 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)
(* 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)
(* -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)))
(* -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)))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 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)))
(* 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))
(* 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 (* 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)))
(* -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)))

rewrite33.0ms (1.3%)

Memory
-7.0MiB live, 30.7MiB allocated
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01557
02546
16642
030342
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
10 → 111
Calls
Call 1
Inputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(neg.f64 x)
(sqrt.f64 #s(literal 2 binary64))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(*.f64 x (+.f64 x x))
(+.f64 x x)
(sqrt.f64 (*.f64 x (+.f64 x x)))
(hypot.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>

eval23.0ms (0.9%)

Memory
-1.8MiB live, 35.4MiB allocated
Compiler

Compiled 1 636 to 248 computations (84.8% saved)

prune16.0ms (0.6%)

Memory
31.1MiB live, 31.0MiB allocated
Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New2203223
Fresh000
Picked044
Done000
Total2207227
Accuracy
100.0%
Counts
227 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
26.4%
(sqrt.f64 (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x) (fma.f64 x x #s(literal 0 binary64))))
3.4%
(sqrt.f64 (+.f64 x x))
55.1%
(sqrt.f64 (*.f64 x (+.f64 x x)))
49.2%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
52.2%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))))
52.1%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))))
Compiler

Compiled 46 to 39 computations (15.2% saved)

simplify212.0ms (8.7%)

Memory
-15.2MiB live, 111.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64)))
cost-diff64
(fma.f64 x x #s(literal 0 binary64))
cost-diff320
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x)
cost-diff7168
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x) (fma.f64 x x #s(literal 0 binary64)))
cost-diff-128
(+.f64 x x)
cost-diff0
(sqrt.f64 (+.f64 x x))
cost-diff0
(neg.f64 x)
cost-diff0
(*.f64 (neg.f64 x) (exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
cost-diff0
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))))
cost-diff12480
(exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02297
03686
16177
212973
327169
452569
5109769
6218269
7280269
8450369
9795369
0805763
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))))
(*.f64 (neg.f64 x) (exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(neg.f64 x)
x
(exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))
(log.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1/2 binary64)
(sqrt.f64 (+.f64 x x))
(+.f64 x x)
x
(sqrt.f64 (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x) (fma.f64 x x #s(literal 0 binary64))))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x) (fma.f64 x x #s(literal 0 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x)
(*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64)))
#s(literal 2 binary64)
(pow.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
(fma.f64 x x #s(literal 0 binary64))
#s(literal 0 binary64)
Outputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 x)))
(*.f64 (neg.f64 x) (exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 x))
(neg.f64 x)
x
(exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(sqrt.f64 #s(literal 2 binary64))
(*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (log.f64 #s(literal 2 binary64)))
(log.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1/2 binary64)
(sqrt.f64 (+.f64 x x))
(sqrt.f64 (*.f64 #s(literal 2 binary64) x))
(+.f64 x x)
(*.f64 #s(literal 2 binary64) x)
x
(sqrt.f64 (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x) (fma.f64 x x #s(literal 0 binary64))))
(hypot.f64 x x)
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x) (fma.f64 x x #s(literal 0 binary64)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x)
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 binary64))
#s(literal 2 binary64)
(pow.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
(fma.f64 x x #s(literal 0 binary64))
(*.f64 x x)
#s(literal 0 binary64)

localize87.0ms (3.6%)

Memory
-5.2MiB live, 111.4MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64)))
accuracy0.05078125
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x)
accuracy13.343429085971412
(sqrt.f64 (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x) (fma.f64 x x #s(literal 0 binary64))))
accuracy20.18886500844867
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x) (fma.f64 x x #s(literal 0 binary64)))
accuracy0
(+.f64 x x)
accuracy0
(sqrt.f64 (+.f64 x x))
accuracy0
(log.f64 #s(literal 2 binary64))
accuracy0.203125
(*.f64 (neg.f64 x) (exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
accuracy0.484375
(exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
accuracy30.373239791276287
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))))
Samples
43.0ms132×0invalid
27.0ms124×0valid
Compiler

Compiled 93 to 24 computations (74.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 59.0ms
ival-pow: 18.0ms (30.7% of total)
ival-mult: 15.0ms (25.5% of total)
ival-log: 8.0ms (13.6% of total)
ival-sqrt: 5.0ms (8.5% of total)
ival-add: 4.0ms (6.8% of total)
ival-exp: 3.0ms (5.1% of total)
ival-pow2: 3.0ms (5.1% of total)
ival-div: 2.0ms (3.4% of total)
exact: 1.0ms (1.7% of total)
ival-neg: 1.0ms (1.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series10.0ms (0.4%)

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

3 calls:

TimeVariablePointExpression
3.0ms
x
@inf
((exp (* (log 2) 1/2)) (sqrt (+ (pow x 2) (pow x 2))) (* (neg x) (exp (* (log 2) 1/2))) (neg x) (sqrt (+ x x)) (+ x x) (/ (* (* 2 (pow x 3)) x) (+ (* x x) 0)) (* (* 2 (pow x 3)) x) (+ (* x x) 0) (* 2 (pow x 3)) (log 2) (sqrt (/ (* (* 2 (pow x 3)) x) (+ (* x x) 0))))
2.0ms
x
@-inf
((exp (* (log 2) 1/2)) (sqrt (+ (pow x 2) (pow x 2))) (* (neg x) (exp (* (log 2) 1/2))) (neg x) (sqrt (+ x x)) (+ x x) (/ (* (* 2 (pow x 3)) x) (+ (* x x) 0)) (* (* 2 (pow x 3)) x) (+ (* x x) 0) (* 2 (pow x 3)) (log 2) (sqrt (/ (* (* 2 (pow x 3)) x) (+ (* x x) 0))))
2.0ms
x
@0
((exp (* (log 2) 1/2)) (sqrt (+ (pow x 2) (pow x 2))) (* (neg x) (exp (* (log 2) 1/2))) (neg x) (sqrt (+ x x)) (+ x x) (/ (* (* 2 (pow x 3)) x) (+ (* x x) 0)) (* (* 2 (pow x 3)) x) (+ (* x x) 0) (* 2 (pow x 3)) (log 2) (sqrt (/ (* (* 2 (pow x 3)) x) (+ (* x x) 0))))

simplify19.0ms (0.8%)

Memory
-17.6MiB live, 20.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024516
146516
297516
3156516
4176516
5221516
6265516
7315516
8373516
9382516
10382516
0382516
Stop Event
iter limit
saturated
Counts
120 → 120
Calls
Call 1
Inputs
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 2 (pow x 3))
(* 2 (pow x 3))
(* 2 (pow x 3))
(* 2 (pow x 3))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* (sqrt x) (sqrt 2))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 2 (pow x 3))
(* 2 (pow x 3))
(* 2 (pow x 3))
(* 2 (pow x 3))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(* -1 (* (sqrt x) (* (sqrt -2) (sqrt -1))))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 2))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 2 (pow x 3))
(* 2 (pow x 3))
(* 2 (pow x 3))
(* 2 (pow x 3))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 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)
(* -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)))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 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)
(* 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))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #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)
(* 2 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 binary64))
(* 2 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 binary64))
(* 2 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 binary64))
(* 2 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 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)
(* -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)))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 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)
(* 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))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #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)
(* 2 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 binary64))
(* 2 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 binary64))
(* 2 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 binary64))
(* 2 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 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)))
(*.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)))
(* -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)))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.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)))
(* -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)
(* 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))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #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)
(* 2 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 binary64))
(* 2 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 binary64))
(* 2 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 2 binary64))
(* 2 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #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)))
(* -1 (* x (sqrt 2)))
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))

rewrite93.0ms (3.8%)

Memory
15.3MiB live, 98.8MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02282
03665
111419
277518
3403418
0841218
Stop Event
iter limit
node limit
iter limit
Counts
12 → 356
Calls
Call 1
Inputs
(exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))))
(*.f64 (neg.f64 x) (exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(neg.f64 x)
(sqrt.f64 (+.f64 x x))
(+.f64 x x)
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x) (fma.f64 x x #s(literal 0 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x)
(fma.f64 x x #s(literal 0 binary64))
(*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64)))
(log.f64 #s(literal 2 binary64))
(sqrt.f64 (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x) (fma.f64 x x #s(literal 0 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>

eval81.0ms (3.3%)

Memory
3.8MiB live, 76.8MiB allocated
Compiler

Compiled 6 410 to 1 284 computations (80% saved)

prune17.0ms (0.7%)

Memory
1.2MiB live, 37.0MiB allocated
Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New4733476
Fresh000
Picked213
Done044
Total4758483
Accuracy
100.0%
Counts
483 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
26.4%
(sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))))
3.4%
(sqrt.f64 (+.f64 x x))
55.1%
(sqrt.f64 (*.f64 x (+.f64 x x)))
49.2%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
52.1%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))))
52.2%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))))
3.7%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
Compiler

Compiled 47 to 42 computations (10.6% saved)

simplify58.0ms (2.4%)

Memory
-20.2MiB live, 30.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)))
cost-diff0
(/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))
cost-diff0
(sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))))
cost-diff64
(fma.f64 x x #s(literal 0 binary64))
cost-diff0
(neg.f64 x)
cost-diff0
(*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))
cost-diff0
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))))
cost-diff6464
(pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))
cost-diff0
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024116
034109
15397
210797
320497
423697
524697
628497
730597
832297
949997
1096997
11106997
12116197
13124097
14126797
15130297
16132497
17132697
0132691
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
#s(literal 0 binary64)
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))))
(*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))
(neg.f64 x)
x
(pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))
(pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64))
#s(literal 4 binary64)
#s(literal 1/8 binary64)
#s(literal 2 binary64)
(sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))))
(/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))
#s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
#s(literal 2 binary64)
(fma.f64 x x #s(literal 0 binary64))
#s(literal 0 binary64)
Outputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
#s(literal 0 binary64)
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)) (neg.f64 x)))
(*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)) (neg.f64 x))
(neg.f64 x)
x
(pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))
(pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64))
(pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64))
#s(literal 4 binary64)
#s(literal 1/8 binary64)
#s(literal 2 binary64)
(sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))))
(sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (*.f64 x x)))
(/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))
(/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (*.f64 x x))
#s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
#s(literal 2 binary64)
(fma.f64 x x #s(literal 0 binary64))
(*.f64 x x)
#s(literal 0 binary64)

localize112.0ms (4.6%)

Memory
1.0MiB live, 78.4MiB allocated
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
accuracy0
#s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)))
accuracy28.710000619475718
(sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))))
accuracy42.837587556584474
(/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))
accuracy0
(neg.f64 x)
accuracy0.4296875
(*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))
accuracy1.0
(pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))
accuracy30.373239791276287
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))))
accuracy61.663102596546
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
Samples
99.0ms256×0valid
Compiler

Compiled 92 to 24 computations (73.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 88.0ms
ival-pow2: 36.0ms (40.9% of total)
ival-mult: 31.0ms (35.2% of total)
ival-pow: 12.0ms (13.6% of total)
ival-add: 3.0ms (3.4% of total)
ival-sqrt: 3.0ms (3.4% of total)
ival-div: 2.0ms (2.3% of total)
exact: 1.0ms (1.1% of total)
ival-neg: 1.0ms (1.1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series82.0ms (3.4%)

Memory
-16.9MiB live, 106.3MiB allocated
Counts
10 → 108
Calls
Call 1
Inputs
#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())
#s(alt (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())
#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())
#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())
#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())
#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())
#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())
#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor 0 x) (#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor 0 x) (#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor 0 x) (#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor 0 x) (#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor 0 x) (#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor 0 x) (#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor 0 x) (#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor 0 x) (#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor 0 x) (#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (sqrt 2)) (taylor inf x) (#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor inf x) (#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor inf x) (#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor inf x) (#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor inf x) (#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor inf x) (#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor inf x) (#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor inf x) (#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor inf x) (#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) (patch #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow 4 1/4) x)) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) (patch (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal 0 binary64)) (patch (fma.f64 x x #s(literal 0 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (sqrt 2))) (taylor -inf x) (#s(alt (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (patch (sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) (patch (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor -inf x) (#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor -inf x) (#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor -inf x) (#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor -inf x) (#s(alt #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (patch #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) (patch (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
55.0ms
x
@0
((sqrt (+ (pow x 2) (pow x 2))) (pow (pow 4 1/8) 2) (sqrt (+ (pow x 2) (pow x 2))) (* (neg x) (pow (pow 4 1/8) 2)) (neg x) (+ (* x x) 0) (sqrt (/ (* (* 2 (pow x 3)) x) (+ (* x x) 0))) (/ (* (* 2 (pow x 3)) x) (+ (* x x) 0)) (* (* 2 (pow x 3)) x) (* (pow x 4) 2))
9.0ms
x
@inf
((sqrt (+ (pow x 2) (pow x 2))) (pow (pow 4 1/8) 2) (sqrt (+ (pow x 2) (pow x 2))) (* (neg x) (pow (pow 4 1/8) 2)) (neg x) (+ (* x x) 0) (sqrt (/ (* (* 2 (pow x 3)) x) (+ (* x x) 0))) (/ (* (* 2 (pow x 3)) x) (+ (* x x) 0)) (* (* 2 (pow x 3)) x) (* (pow x 4) 2))
7.0ms
x
@-inf
((sqrt (+ (pow x 2) (pow x 2))) (pow (pow 4 1/8) 2) (sqrt (+ (pow x 2) (pow x 2))) (* (neg x) (pow (pow 4 1/8) 2)) (neg x) (+ (* x x) 0) (sqrt (/ (* (* 2 (pow x 3)) x) (+ (* x x) 0))) (/ (* (* 2 (pow x 3)) x) (+ (* x x) 0)) (* (* 2 (pow x 3)) x) (* (pow x 4) 2))

simplify8.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
016468
130468
253468
360468
474468
592468
6110468
7141468
8156468
9156468
0156468
Stop Event
iter limit
saturated
Counts
108 → 108
Calls
Call 1
Inputs
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* x (sqrt 2))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(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))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 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))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(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))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* x (sqrt 2)))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 (* (pow 4 1/4) x))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(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))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
(* 2 (pow x 4))
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)
(* 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 (* (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)))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 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))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 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)
(* -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)))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 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))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #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)))
(* -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)))
(* -1 (* x (sqrt 2)))
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 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)))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* -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))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))
(* 2 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))

rewrite119.0ms (4.9%)

Memory
2.1MiB live, 122.0MiB allocated
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
024101
03479
112142
266939
3555530
0822230
Stop Event
iter limit
node limit
iter limit
Counts
10 → 534
Calls
Call 1
Inputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
(pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))))
(*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64)))
(neg.f64 x)
(fma.f64 x x #s(literal 0 binary64))
(sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))))
(/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64)))
#s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval79.0ms (3.3%)

Memory
18.3MiB live, 125.4MiB allocated
Compiler

Compiled 8 656 to 1 559 computations (82% saved)

prune31.0ms (1.3%)

Memory
-14.5MiB live, 66.1MiB allocated
Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New6411642
Fresh000
Picked123
Done055
Total6428650
Accuracy
100.0%
Counts
650 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x x)
26.4%
(sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (*.f64 x x)))
3.4%
(sqrt.f64 (+.f64 x x))
55.1%
(sqrt.f64 (*.f64 x (+.f64 x x)))
49.2%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
52.1%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))))
52.2%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))))
3.7%
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
Compiler

Compiled 134 to 86 computations (35.8% saved)

regimes80.0ms (3.3%)

Memory
0.1MiB live, 76.6MiB allocated
Counts
12 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
(sqrt.f64 (+.f64 x x))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))))
(sqrt.f64 (*.f64 x (+.f64 x x)))
(hypot.f64 x x)
(sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (*.f64 x x)))
(sqrt.f64 (/.f64 #s(approx (* (* 2 (pow x 3)) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))) (fma.f64 x x #s(literal 0 binary64))))
(sqrt.f64 (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) x) (fma.f64 x x #s(literal 0 binary64))))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))))
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
Outputs
(hypot.f64 x x)
Calls

4 calls:

55.0ms
x
9.0ms
(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
7.0ms
(pow.f64 x #s(literal 2 binary64))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
100.0%1(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
100.0%1(pow.f64 x #s(literal 2 binary64))
Compiler

Compiled 19 to 13 computations (31.6% saved)

regimes18.0ms (0.7%)

Memory
24.3MiB live, 24.3MiB allocated
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
(sqrt.f64 (+.f64 x x))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))))
(sqrt.f64 (*.f64 x (+.f64 x x)))
Outputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
Calls

4 calls:

4.0ms
x
4.0ms
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
4.0ms
(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
4.0ms
(pow.f64 x #s(literal 2 binary64))
Results
AccuracySegmentsBranch
99.3%2x
78.0%3(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
78.0%3(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
78.0%3(pow.f64 x #s(literal 2 binary64))
Compiler

Compiled 19 to 13 computations (31.6% saved)

regimes28.0ms (1.1%)

Memory
-21.9MiB live, 24.8MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
(sqrt.f64 (+.f64 x x))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
Outputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
Calls

4 calls:

16.0ms
(pow.f64 x #s(literal 2 binary64))
3.0ms
x
3.0ms
(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
3.0ms
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
Results
AccuracySegmentsBranch
49.2%1(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
49.2%1(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
49.2%1(pow.f64 x #s(literal 2 binary64))
49.2%1x
Compiler

Compiled 19 to 13 computations (31.6% saved)

regimes15.0ms (0.6%)

Memory
-10.5MiB live, 25.1MiB allocated
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
(sqrt.f64 (+.f64 x x))
Outputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
(sqrt.f64 (+.f64 x x))
Calls

4 calls:

3.0ms
x
3.0ms
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
3.0ms
(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
3.0ms
(pow.f64 x #s(literal 2 binary64))
Results
AccuracySegmentsBranch
3.7%1(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
3.7%1(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
3.7%1(pow.f64 x #s(literal 2 binary64))
5.5%2x
Compiler

Compiled 19 to 13 computations (31.6% saved)

regimes10.0ms (0.4%)

Memory
20.2MiB live, 20.2MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
Outputs
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
Calls

4 calls:

2.0ms
x
2.0ms
(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
2.0ms
(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
2.0ms
(pow.f64 x #s(literal 2 binary64))
Results
AccuracySegmentsBranch
3.7%1(sqrt.f64 (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
3.7%1(+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
3.7%1(pow.f64 x #s(literal 2 binary64))
3.7%1x
Compiler

Compiled 19 to 13 computations (31.6% saved)

bsearch30.0ms (1.2%)

Memory
-14.4MiB live, 59.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
26.0ms
-1.5676609307514507e-303
6.170978050982554e-295
Samples
16.0ms160×0valid
Compiler

Compiled 121 to 138 computations (-14% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-sqrt: 6.0ms (58% of total)
ival-pow2: 3.0ms (29% of total)
ival-add: 1.0ms (9.7% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch29.0ms (1.2%)

Memory
-20.0MiB live, 42.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
27.0ms
1.0961656231478106e-210
2.6712807973958285e-192
Samples
17.0ms160×0valid
Compiler

Compiled 71 to 88 computations (-23.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-sqrt: 8.0ms (65.6% of total)
ival-pow2: 3.0ms (24.6% of total)
ival-add: 1.0ms (8.2% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify33.0ms (1.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02275
12975
23675
34175
44475
54575
Stop Event
saturated
Calls
Call 1
Inputs
(hypot.f64 x x)
(if (<=.f64 x #s(literal -20240225330731/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
(if (<=.f64 x #s(literal 7229475734293037/180736893357325919804742965901096183254486650358500961579737723575212405143116703993975930943694719806137463391890175780999890999416217020648099397663164550811570949854893831716648452639533025774320471006645409943407034368 binary64)) #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (sqrt.f64 (+.f64 x x)))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))
Outputs
(hypot.f64 x x)
(if (<=.f64 x #s(literal -20240225330731/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))) #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)))
(if (<=.f64 x #s(literal -20240225330731/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 x))) #s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x)))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
(if (<=.f64 x #s(literal 7229475734293037/180736893357325919804742965901096183254486650358500961579737723575212405143116703993975930943694719806137463391890175780999890999416217020648099397663164550811570949854893831716648452639533025774320471006645409943407034368 binary64)) #s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64)) (sqrt.f64 (+.f64 x x)))
#s(approx (sqrt (+ (pow x 2) (pow x 2))) #s(literal 0 binary64))

soundness217.0ms (8.9%)

Memory
5.8MiB live, 118.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01557
02546
16642
030342
0518
0814
12810
01709
02282
03665
111419
277518
3403418
0841218
08148
115148
232148
337148
441148
553148
665148
776148
896148
9101148
0101148
Stop Event
fuel
iter limit
saturated
iter limit
node limit
iter limit
iter limit
iter limit
iter limit
unsound
iter limit
iter limit
iter limit
iter limit
unsound
iter limit
Compiler

Compiled 123 to 91 computations (26% saved)

preprocess73.0ms (3%)

Memory
-18.2MiB live, 63.5MiB allocated
Compiler

Compiled 86 to 48 computations (44.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...