Bouland and Aaronson, Equation (24)

Time bar (total: 2.1s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

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

Compiled 31 to 19 computations (38.7% saved)

sample1.2s (56.4%)

Memory
-38.6MiB live, 1 925.5MiB allocated
Samples
831.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 620.0ms
ival-mult: 276.0ms (44.5% of total)
ival-add: 142.0ms (22.9% of total)
ival-pow2: 105.0ms (16.9% of total)
ival-sub: 78.0ms (12.6% of total)
exact: 10.0ms (1.6% of total)
ival-true: 6.0ms (1% of total)
ival-assert: 4.0ms (0.6% of total)
Bogosity

explain254.0ms (11.9%)

Memory
16.1MiB live, 505.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
440-0-(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
440-0-(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
210-1(-2.343632709764736e+249 -5.2782494987578534e-160)(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
00-0-(*.f64 a a)
00-0-a
00-0-#s(literal 3 binary64)
00-0-#s(literal 1 binary64)
00-0-(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
00-0-(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
00-0-(*.f64 b b)
00-0-(-.f64 #s(literal 1 binary64) a)
00-0-(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
00-0-(+.f64 (*.f64 a a) (*.f64 b b))
00-0-(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
00-0-#s(literal 4 binary64)
00-0-#s(literal 2 binary64)
00-0-(+.f64 #s(literal 3 binary64) a)
00-0-b
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))nan-rescue440
(*.f64 b b)overflow64
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))overflow156
(*.f64 a a)overflow72
(+.f64 (*.f64 a a) (*.f64 b b))overflow117
(*.f64 b b)overflow64
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))overflow132
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))overflow132
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))overflow83
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))overflow93
(*.f64 a a)overflow72
+.f64(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))nan-rescue440
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))overflow93
(*.f64 a a)overflow72
(*.f64 b b)overflow64
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))overflow83
Confusion
Predicted +Predicted -
+660
-0190
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+6600
-00190
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0190
144
222
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
56.0ms512×0valid
Compiler

Compiled 441 to 76 computations (82.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 36.0ms
ival-mult: 14.0ms (39.2% of total)
ival-add: 10.0ms (28% of total)
ival-pow2: 6.0ms (16.8% of total)
ival-sub: 4.0ms (11.2% of total)
exact: 1.0ms (2.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess3.0ms (0.1%)

Memory
6.4MiB live, 6.4MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Outputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Compiler

Compiled 29 to 18 computations (37.9% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.1%
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Compiler

Compiled 29 to 18 computations (37.9% saved)

simplify1.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 (*.f64 a a) (*.f64 b b))
cost-diff0
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
cost-diff0
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
cost-diff0
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Calls
Call 1
Inputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
a
(*.f64 b b)
b
#s(literal 2 binary64)
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(literal 4 binary64)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
Outputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
a
(*.f64 b b)
b
#s(literal 2 binary64)
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(literal 4 binary64)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)

localize43.0ms (2%)

Memory
-12.2MiB live, 65.3MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.12890625
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
accuracy4.662088952771031
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
accuracy8.769531250000002
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
accuracy9.894485838264533
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
Samples
31.0ms256×0valid
Compiler

Compiled 274 to 38 computations (86.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-mult: 9.0ms (48.3% of total)
ival-add: 4.0ms (21.5% of total)
ival-pow2: 3.0ms (16.1% of total)
ival-sub: 2.0ms (10.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series10.0ms (0.5%)

Memory
16.5MiB live, 16.5MiB allocated
Counts
6 → 55
Calls
Call 1
Inputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
Outputs
(- (+ (* 12 (pow b 2)) (pow b 4)) 1)
(- (+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4))) 1)
(+ (* 12 (pow b 2)) (pow b 4))
(+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4)))
(pow b 4)
(+ (* 2 (* (pow a 2) (pow b 2))) (pow b 4))
(+ (* (pow a 2) (+ (* 2 (pow b 2)) (pow a 2))) (pow b 4))
(pow b 2)
(+ (pow a 2) (pow b 2))
(* 3 (pow b 2))
(+ (* 3 (pow b 2)) (* a (pow b 2)))
(+ (* 3 (pow b 2)) (* a (+ a (pow b 2))))
(+ (* 3 (pow b 2)) (* a (+ (* a (+ 1 (* -1 a))) (pow b 2))))
(pow a 4)
(* (pow a 4) (- 1 (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ 4 (pow a 2)))) (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (+ (* 4 (/ (pow b 2) (pow a 3))) (/ 4 (pow a 2))))) (* 4 (/ 1 a))))
(* (pow a 4) (+ 1 (* 2 (/ (pow b 2) (pow a 2)))))
(* (pow a 4) (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ (pow b 4) (pow a 4)))))
(pow a 2)
(* (pow a 2) (+ 1 (/ (pow b 2) (pow a 2))))
(* -1 (pow a 3))
(* (pow a 3) (- (/ 1 a) 1))
(* (pow a 3) (- (+ (/ 1 a) (/ (pow b 2) (pow a 2))) 1))
(* (pow a 3) (- (+ (* 3 (/ (pow b 2) (pow a 3))) (+ (/ 1 a) (/ (pow b 2) (pow a 2)))) 1))
(* a (pow b 2))
(* a (+ (* 3 (/ (pow b 2) a)) (pow b 2)))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (* 2 (pow b 2))) a))) a))))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (+ (* 2 (pow b 2)) (* 4 (/ (pow b 2) a)))) a))) a))))
(* -1 (* (pow a 3) (- 1 (/ 1 a))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (/ (pow b 2) a)) a)))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (* -1 (/ (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2))) a))) a)))))
(* -1 (* a (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2)))))
(- (+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4)) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4))) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4))) 1)
(+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4)))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4)))
(+ (* 2 (* (pow a 2) (pow b 2))) (pow a 4))
(+ (* (pow b 2) (+ (* 2 (pow a 2)) (pow b 2))) (pow a 4))
(* (pow a 2) (- 1 a))
(+ (* (pow a 2) (- 1 a)) (* (pow b 2) (+ 3 a)))
(* (pow b 2) (+ 3 a))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (* 4 (/ (+ 3 a) (pow b 2))))))
(* (pow b 4) (- (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))) (/ 1 (pow b 4))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))))
(* (pow b 4) (+ 1 (* 2 (/ (pow a 2) (pow b 2)))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (/ (pow a 4) (pow b 4)))))
(* (pow b 2) (+ 1 (/ (pow a 2) (pow b 2))))
(* (pow b 2) (+ 3 (+ a (/ (* (pow a 2) (- 1 a)) (pow b 2)))))
Calls

6 calls:

TimeVariablePointExpression
2.0ms
b
@inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (* (* b b) (+ 3 a)))
2.0ms
b
@0
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (* (* b b) (+ 3 a)))
2.0ms
a
@inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (* (* b b) (+ 3 a)))
1.0ms
a
@0
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (* (* b b) (+ 3 a)))
1.0ms
a
@-inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (* (* b b) (+ 3 a)))

simplify1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
egg-herbie
Counts
55 → 6
Calls
Call 1
Inputs
(- (+ (* 12 (pow b 2)) (pow b 4)) 1)
(- (+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4))) 1)
(+ (* 12 (pow b 2)) (pow b 4))
(+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4)))
(pow b 4)
(+ (* 2 (* (pow a 2) (pow b 2))) (pow b 4))
(+ (* (pow a 2) (+ (* 2 (pow b 2)) (pow a 2))) (pow b 4))
(pow b 2)
(+ (pow a 2) (pow b 2))
(* 3 (pow b 2))
(+ (* 3 (pow b 2)) (* a (pow b 2)))
(+ (* 3 (pow b 2)) (* a (+ a (pow b 2))))
(+ (* 3 (pow b 2)) (* a (+ (* a (+ 1 (* -1 a))) (pow b 2))))
(pow a 4)
(* (pow a 4) (- 1 (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ 4 (pow a 2)))) (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (+ (* 4 (/ (pow b 2) (pow a 3))) (/ 4 (pow a 2))))) (* 4 (/ 1 a))))
(* (pow a 4) (+ 1 (* 2 (/ (pow b 2) (pow a 2)))))
(* (pow a 4) (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ (pow b 4) (pow a 4)))))
(pow a 2)
(* (pow a 2) (+ 1 (/ (pow b 2) (pow a 2))))
(* -1 (pow a 3))
(* (pow a 3) (- (/ 1 a) 1))
(* (pow a 3) (- (+ (/ 1 a) (/ (pow b 2) (pow a 2))) 1))
(* (pow a 3) (- (+ (* 3 (/ (pow b 2) (pow a 3))) (+ (/ 1 a) (/ (pow b 2) (pow a 2)))) 1))
(* a (pow b 2))
(* a (+ (* 3 (/ (pow b 2) a)) (pow b 2)))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (* 2 (pow b 2))) a))) a))))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (+ (* 2 (pow b 2)) (* 4 (/ (pow b 2) a)))) a))) a))))
(* -1 (* (pow a 3) (- 1 (/ 1 a))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (/ (pow b 2) a)) a)))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (* -1 (/ (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2))) a))) a)))))
(* -1 (* a (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2)))))
(- (+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4)) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4))) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4))) 1)
(+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4)))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4)))
(+ (* 2 (* (pow a 2) (pow b 2))) (pow a 4))
(+ (* (pow b 2) (+ (* 2 (pow a 2)) (pow b 2))) (pow a 4))
(* (pow a 2) (- 1 a))
(+ (* (pow a 2) (- 1 a)) (* (pow b 2) (+ 3 a)))
(* (pow b 2) (+ 3 a))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (* 4 (/ (+ 3 a) (pow b 2))))))
(* (pow b 4) (- (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))) (/ 1 (pow b 4))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))))
(* (pow b 4) (+ 1 (* 2 (/ (pow a 2) (pow b 2)))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (/ (pow a 4) (pow b 4)))))
(* (pow b 2) (+ 1 (/ (pow a 2) (pow b 2))))
(* (pow b 2) (+ 3 (+ a (/ (* (pow a 2) (- 1 a)) (pow b 2)))))
Outputs
(- (+ (* 12 (pow b 2)) (pow b 4)) 1)
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
(- (+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4))) 1)
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4))) 1)
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4))) 1)
(+.f64 (*.f64 a a) (*.f64 b b))
(+ (* 12 (pow b 2)) (pow b 4))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))

rewrite0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
Outputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))

eval4.0ms (0.2%)

Memory
-39.4MiB live, 2.8MiB allocated
Compiler

Compiled 448 to 42 computations (90.6% saved)

prune4.0ms (0.2%)

Memory
8.0MiB live, 8.0MiB allocated
Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New7512
Fresh000
Picked011
Done000
Total7613
Accuracy
99.9%
Counts
13 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.1%
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
51.2%
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
47.6%
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
75.9%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
50.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
48.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
Compiler

Compiled 459 to 282 computations (38.6% saved)

simplify2.0ms (0.1%)

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

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 (*.f64 a a) (*.f64 b b))
cost-diff0
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
cost-diff0
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
cost-diff0
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
cost-diff0
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
cost-diff0
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
cost-diff0
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
cost-diff0
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
cost-diff0
(*.f64 b b)
cost-diff0
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
cost-diff0
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
cost-diff0
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
cost-diff0
(*.f64 b b)
cost-diff0
(*.f64 a a)
cost-diff0
(+.f64 (*.f64 a a) (*.f64 b b))
cost-diff0
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
cost-diff0
(*.f64 a a)
cost-diff0
(+.f64 (*.f64 a a) (*.f64 b b))
cost-diff0
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
cost-diff0
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
a
(*.f64 b b)
b
#s(literal 2 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
a
(*.f64 b b)
b
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(*.f64 b b)
b
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
#s(literal 1 binary64)
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
a
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(*.f64 b b)
b
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
a
(*.f64 b b)
b
#s(literal 2 binary64)
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(literal 4 binary64)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
a
(*.f64 b b)
b
#s(literal 2 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
a
(*.f64 b b)
b
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(*.f64 b b)
b
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
#s(literal 1 binary64)
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
a
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(*.f64 b b)
b
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
a
(*.f64 b b)
b
#s(literal 2 binary64)
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(literal 4 binary64)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)

localize59.0ms (2.8%)

Memory
-4.8MiB live, 112.1MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy4.662088952771031
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
accuracy8.769531250000002
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
accuracy9.894485838264533
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
accuracy15.134579789032129
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
accuracy0.0390625
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
accuracy4.662088952771031
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
accuracy9.894485838264533
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
accuracy35.07558113774685
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
accuracy0.0
(+.f64 #s(literal 3 binary64) a)
accuracy0.0
(*.f64 b b)
accuracy4.662088952771031
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
accuracy43.250897220769154
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
accuracy0.0
(*.f64 b b)
accuracy0.0
(*.f64 a a)
accuracy0.00390625
(+.f64 (*.f64 a a) (*.f64 b b))
accuracy33.05395267582544
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
accuracy0.0
(*.f64 a a)
accuracy0.00390625
(+.f64 (*.f64 a a) (*.f64 b b))
accuracy0.12890625
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
accuracy15.378242195524221
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
Samples
37.0ms256×0valid
Compiler

Compiled 912 to 60 computations (93.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 7.0ms (38% of total)
ival-add: 6.0ms (32.5% of total)
ival-sub: 2.0ms (10.8% of total)
ival-pow2: 2.0ms (10.8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series8.0ms (0.4%)

Memory
12.2MiB live, 12.2MiB allocated
Counts
16 → 60
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 b b)
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(+.f64 #s(literal 3 binary64) a)
Outputs
(- (+ (* 12 (pow b 2)) (pow b 4)) 1)
(- (+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4))) 1)
(pow b 4)
(+ (* 2 (* (pow a 2) (pow b 2))) (pow b 4))
(+ (* (pow a 2) (+ (* 2 (pow b 2)) (pow a 2))) (pow b 4))
(pow b 2)
(+ (pow a 2) (pow b 2))
(pow a 2)
(+ (* 12 (pow b 2)) (pow b 4))
(+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4)))
(* 3 (pow b 2))
(+ (* 3 (pow b 2)) (* a (pow b 2)))
(+ (* 3 (pow b 2)) (* a (+ a (pow b 2))))
(+ (* 3 (pow b 2)) (* a (+ (* a (+ 1 (* -1 a))) (pow b 2))))
(* (pow a 2) (+ 1 (* -1 a)))
3
(+ 3 a)
(pow a 4)
(* (pow a 4) (- 1 (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ 4 (pow a 2)))) (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (+ (* 4 (/ (pow b 2) (pow a 3))) (/ 4 (pow a 2))))) (* 4 (/ 1 a))))
(* (pow a 4) (+ 1 (* 2 (/ (pow b 2) (pow a 2)))))
(* (pow a 4) (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ (pow b 4) (pow a 4)))))
(* (pow a 2) (+ 1 (/ (pow b 2) (pow a 2))))
(* a (pow b 2))
(* a (+ (* 3 (/ (pow b 2) a)) (pow b 2)))
(* -1 (pow a 3))
(* (pow a 3) (- (/ 1 a) 1))
(* (pow a 3) (- (+ (/ 1 a) (/ (pow b 2) (pow a 2))) 1))
(* (pow a 3) (- (+ (* 3 (/ (pow b 2) (pow a 3))) (+ (/ 1 a) (/ (pow b 2) (pow a 2)))) 1))
a
(* a (+ 1 (* 3 (/ 1 a))))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (* 2 (pow b 2))) a))) a))))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (+ (* 2 (pow b 2)) (* 4 (/ (pow b 2) a)))) a))) a))))
(* -1 (* a (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2)))))
(* -1 (* (pow a 3) (- 1 (/ 1 a))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (/ (pow b 2) a)) a)))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (* -1 (/ (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2))) a))) a)))))
(- (+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4)) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4))) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4))) 1)
(+ (* 2 (* (pow a 2) (pow b 2))) (pow a 4))
(+ (* (pow b 2) (+ (* 2 (pow a 2)) (pow b 2))) (pow a 4))
(+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4)))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4)))
(* (pow b 2) (+ 3 a))
(* (pow a 2) (- 1 a))
(+ (* (pow a 2) (- 1 a)) (* (pow b 2) (+ 3 a)))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (* 4 (/ (+ 3 a) (pow b 2))))))
(* (pow b 4) (- (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))) (/ 1 (pow b 4))))
(* (pow b 4) (+ 1 (* 2 (/ (pow a 2) (pow b 2)))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (/ (pow a 4) (pow b 4)))))
(* (pow b 2) (+ 1 (/ (pow a 2) (pow b 2))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))))
(* (pow b 2) (+ 3 (+ a (/ (* (pow a 2) (- 1 a)) (pow b 2)))))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
b
@-inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (* (* b b) (+ 3 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (* (* a a) (- 1 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ 3 a))
1.0ms
b
@inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (* (* b b) (+ 3 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (* (* a a) (- 1 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ 3 a))
1.0ms
a
@inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (* (* b b) (+ 3 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (* (* a a) (- 1 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ 3 a))
1.0ms
a
@-inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (* (* b b) (+ 3 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (* (* a a) (- 1 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ 3 a))
1.0ms
a
@0
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (* (* b b) (+ 3 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (* (* a a) (- 1 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ 3 a))

simplify1.0ms (0.1%)

Memory
2.1MiB live, 2.1MiB allocated
Algorithm
egg-herbie
Counts
60 → 16
Calls
Call 1
Inputs
(- (+ (* 12 (pow b 2)) (pow b 4)) 1)
(- (+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4))) 1)
(pow b 4)
(+ (* 2 (* (pow a 2) (pow b 2))) (pow b 4))
(+ (* (pow a 2) (+ (* 2 (pow b 2)) (pow a 2))) (pow b 4))
(pow b 2)
(+ (pow a 2) (pow b 2))
(pow a 2)
(+ (* 12 (pow b 2)) (pow b 4))
(+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4)))
(* 3 (pow b 2))
(+ (* 3 (pow b 2)) (* a (pow b 2)))
(+ (* 3 (pow b 2)) (* a (+ a (pow b 2))))
(+ (* 3 (pow b 2)) (* a (+ (* a (+ 1 (* -1 a))) (pow b 2))))
(* (pow a 2) (+ 1 (* -1 a)))
3
(+ 3 a)
(pow a 4)
(* (pow a 4) (- 1 (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ 4 (pow a 2)))) (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (+ (* 4 (/ (pow b 2) (pow a 3))) (/ 4 (pow a 2))))) (* 4 (/ 1 a))))
(* (pow a 4) (+ 1 (* 2 (/ (pow b 2) (pow a 2)))))
(* (pow a 4) (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ (pow b 4) (pow a 4)))))
(* (pow a 2) (+ 1 (/ (pow b 2) (pow a 2))))
(* a (pow b 2))
(* a (+ (* 3 (/ (pow b 2) a)) (pow b 2)))
(* -1 (pow a 3))
(* (pow a 3) (- (/ 1 a) 1))
(* (pow a 3) (- (+ (/ 1 a) (/ (pow b 2) (pow a 2))) 1))
(* (pow a 3) (- (+ (* 3 (/ (pow b 2) (pow a 3))) (+ (/ 1 a) (/ (pow b 2) (pow a 2)))) 1))
a
(* a (+ 1 (* 3 (/ 1 a))))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (* 2 (pow b 2))) a))) a))))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (+ (* 2 (pow b 2)) (* 4 (/ (pow b 2) a)))) a))) a))))
(* -1 (* a (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2)))))
(* -1 (* (pow a 3) (- 1 (/ 1 a))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (/ (pow b 2) a)) a)))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (* -1 (/ (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2))) a))) a)))))
(- (+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4)) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4))) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4))) 1)
(+ (* 2 (* (pow a 2) (pow b 2))) (pow a 4))
(+ (* (pow b 2) (+ (* 2 (pow a 2)) (pow b 2))) (pow a 4))
(+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4)))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4)))
(* (pow b 2) (+ 3 a))
(* (pow a 2) (- 1 a))
(+ (* (pow a 2) (- 1 a)) (* (pow b 2) (+ 3 a)))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (* 4 (/ (+ 3 a) (pow b 2))))))
(* (pow b 4) (- (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))) (/ 1 (pow b 4))))
(* (pow b 4) (+ 1 (* 2 (/ (pow a 2) (pow b 2)))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (/ (pow a 4) (pow b 4)))))
(* (pow b 2) (+ 1 (/ (pow a 2) (pow b 2))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))))
(* (pow b 2) (+ 3 (+ a (/ (* (pow a 2) (- 1 a)) (pow b 2)))))
Outputs
(- (+ (* 12 (pow b 2)) (pow b 4)) 1)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
(- (+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4))) 1)
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4))) 1)
(+.f64 (*.f64 a a) (*.f64 b b))
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4))) 1)
(*.f64 a a)
(pow b 4)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(+ (* 2 (* (pow a 2) (pow b 2))) (pow b 4))
(*.f64 b b)
(+ (* (pow a 2) (+ (* 2 (pow b 2)) (pow a 2))) (pow b 4))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
(pow b 2)
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(+ (pow a 2) (pow b 2))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(pow a 2)
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
(+ (* 12 (pow b 2)) (pow b 4))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4)))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(* 3 (pow b 2))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(+ (* 3 (pow b 2)) (* a (pow b 2)))
(+.f64 #s(literal 3 binary64) a)

rewrite1.0ms (0.1%)

Memory
1.9MiB live, 1.9MiB allocated
Counts
16 → 16
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 b b)
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(+.f64 #s(literal 3 binary64) a)
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 b b)
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(+.f64 #s(literal 3 binary64) a)

eval6.0ms (0.3%)

Memory
10.0MiB live, 10.0MiB allocated
Compiler

Compiled 3 556 to 104 computations (97.1% saved)

prune14.0ms (0.7%)

Memory
-27.1MiB live, 17.8MiB allocated
Pruning

14 alts after pruning (9 fresh and 5 done)

PrunedKeptTotal
New53962
Fresh000
Picked145
Done011
Total541468
Accuracy
99.9%
Counts
68 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.1%
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
44.9%
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
47.6%
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
45.4%
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
75.9%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
50.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
60.1%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
48.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
51.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
27.9%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
51.2%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
30.7%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
27.8%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
24.5%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
Compiler

Compiled 1 297 to 628 computations (51.6% saved)

simplify3.0ms (0.1%)

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

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
cost-diff0
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
cost-diff0
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
cost-diff0
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
cost-diff0
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
cost-diff0
#s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64)))
cost-diff0
(+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b))
cost-diff0
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
cost-diff0
(*.f64 b b)
cost-diff0
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
cost-diff0
#s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
cost-diff0
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
cost-diff0
(*.f64 b b)
cost-diff0
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
cost-diff0
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
cost-diff0
(+.f64 (*.f64 a a) (*.f64 b b))
cost-diff0
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
cost-diff0
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))))
cost-diff0
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
a
(*.f64 b b)
b
#s(literal 2 binary64)
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))
#s(literal 4 binary64)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
(*.f64 b b)
b
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(*.f64 b b)
b
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
(+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b))
#s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
a
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(*.f64 b b)
b
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(*.f64 b b)
b
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
#s(literal 1 binary64)
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(literal 4 binary64)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
(-.f64 #s(literal 1 binary64) a)
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
a
(*.f64 b b)
b
#s(literal 2 binary64)
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))
#s(literal 4 binary64)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
(*.f64 b b)
b
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(*.f64 b b)
b
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
(+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b))
#s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
a
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(*.f64 b b)
b
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(*.f64 b b)
b
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
#s(literal 1 binary64)
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(literal 4 binary64)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
(-.f64 #s(literal 1 binary64) a)

localize64.0ms (3%)

Memory
6.4MiB live, 84.5MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy9.894485838264533
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
accuracy15.134579789032129
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
accuracy15.378242195524221
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
accuracy43.250897220769154
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
accuracy9.894485838264533
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
accuracy33.05395267582544
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
accuracy35.07558113774685
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
accuracy44.34699752941376
#s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64)))
accuracy0.0
(*.f64 b b)
accuracy4.662088952771031
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
accuracy33.05395267582544
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
accuracy42.900340864419015
#s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
accuracy0.0
(*.f64 b b)
accuracy15.378242195524221
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
accuracy39.558083765159125
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
accuracy8.769531250000002
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))))
accuracy9.894485838264533
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
accuracy15.134579789032129
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
accuracy61.054934741958945
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
Samples
39.0ms256×0valid
Compiler

Compiled 1 536 to 71 computations (95.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 8.0ms (44.6% of total)
ival-add: 4.0ms (22.3% of total)
ival-pow2: 3.0ms (16.7% of total)
ival-sub: 2.0ms (11.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series10.0ms (0.4%)

Memory
13.8MiB live, 13.8MiB allocated
Counts
23 → 55
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
(*.f64 b b)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
(+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b))
#s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
Outputs
(- (+ (* 12 (pow b 2)) (pow b 4)) 1)
(- (+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4))) 1)
(+ (* 12 (pow b 2)) (pow b 4))
(+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4)))
(pow b 4)
(+ (* 2 (* (pow a 2) (pow b 2))) (pow b 4))
(+ (* (pow a 2) (+ (* 2 (pow b 2)) (pow a 2))) (pow b 4))
(pow b 2)
(+ (pow a 2) (pow b 2))
(* 3 (pow b 2))
(+ (* 3 (pow b 2)) (* a (pow b 2)))
(pow a 2)
(+ (* 3 (pow b 2)) (* a (+ a (pow b 2))))
(+ (* 3 (pow b 2)) (* a (+ (* a (+ 1 (* -1 a))) (pow b 2))))
(pow a 4)
(* (pow a 4) (- 1 (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ 4 (pow a 2)))) (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (+ (* 4 (/ (pow b 2) (pow a 3))) (/ 4 (pow a 2))))) (* 4 (/ 1 a))))
(* (pow a 4) (+ 1 (* 2 (/ (pow b 2) (pow a 2)))))
(* (pow a 4) (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ (pow b 4) (pow a 4)))))
(* (pow a 2) (+ 1 (/ (pow b 2) (pow a 2))))
(* a (pow b 2))
(* a (+ (* 3 (/ (pow b 2) a)) (pow b 2)))
(* -1 (pow a 3))
(* (pow a 3) (- (/ 1 a) 1))
(* (pow a 3) (- (+ (/ 1 a) (/ (pow b 2) (pow a 2))) 1))
(* (pow a 3) (- (+ (* 3 (/ (pow b 2) (pow a 3))) (+ (/ 1 a) (/ (pow b 2) (pow a 2)))) 1))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (* 2 (pow b 2))) a))) a))))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (+ (* 2 (pow b 2)) (* 4 (/ (pow b 2) a)))) a))) a))))
(* -1 (* a (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2)))))
(* -1 (* (pow a 3) (- 1 (/ 1 a))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (/ (pow b 2) a)) a)))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (* -1 (/ (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2))) a))) a)))))
(- (+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4)) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4))) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4))) 1)
(+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4)))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4)))
(+ (* 2 (* (pow a 2) (pow b 2))) (pow a 4))
(+ (* (pow b 2) (+ (* 2 (pow a 2)) (pow b 2))) (pow a 4))
(* (pow b 2) (+ 3 a))
(* (pow a 2) (- 1 a))
(+ (* (pow a 2) (- 1 a)) (* (pow b 2) (+ 3 a)))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (* 4 (/ (+ 3 a) (pow b 2))))))
(* (pow b 4) (- (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))) (/ 1 (pow b 4))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))))
(* (pow b 4) (+ 1 (* 2 (/ (pow a 2) (pow b 2)))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (/ (pow a 4) (pow b 4)))))
(* (pow b 2) (+ 1 (/ (pow a 2) (pow b 2))))
(* (pow b 2) (+ 3 (+ a (/ (* (pow a 2) (- 1 a)) (pow b 2)))))
Calls

6 calls:

TimeVariablePointExpression
2.0ms
b
@-inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow (+ (* a a) (* b b)) 2) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* (* b b) (+ 3 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* (* b b) (+ 3 a)) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))))
2.0ms
b
@inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow (+ (* a a) (* b b)) 2) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* (* b b) (+ 3 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* (* b b) (+ 3 a)) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))))
1.0ms
a
@-inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow (+ (* a a) (* b b)) 2) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* (* b b) (+ 3 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* (* b b) (+ 3 a)) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))))
1.0ms
a
@inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow (+ (* a a) (* b b)) 2) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* (* b b) (+ 3 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* (* b b) (+ 3 a)) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))))
1.0ms
b
@0
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow (+ (* a a) (* b b)) 2) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* (* b b) (+ 3 a)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* (* b b) (+ 3 a)) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))))

simplify1.0ms (0.1%)

Memory
2.6MiB live, 2.6MiB allocated
Algorithm
egg-herbie
Counts
55 → 23
Calls
Call 1
Inputs
(- (+ (* 12 (pow b 2)) (pow b 4)) 1)
(- (+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4))) 1)
(+ (* 12 (pow b 2)) (pow b 4))
(+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4)))
(pow b 4)
(+ (* 2 (* (pow a 2) (pow b 2))) (pow b 4))
(+ (* (pow a 2) (+ (* 2 (pow b 2)) (pow a 2))) (pow b 4))
(pow b 2)
(+ (pow a 2) (pow b 2))
(* 3 (pow b 2))
(+ (* 3 (pow b 2)) (* a (pow b 2)))
(pow a 2)
(+ (* 3 (pow b 2)) (* a (+ a (pow b 2))))
(+ (* 3 (pow b 2)) (* a (+ (* a (+ 1 (* -1 a))) (pow b 2))))
(pow a 4)
(* (pow a 4) (- 1 (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ 4 (pow a 2)))) (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (+ (* 4 (/ (pow b 2) (pow a 3))) (/ 4 (pow a 2))))) (* 4 (/ 1 a))))
(* (pow a 4) (+ 1 (* 2 (/ (pow b 2) (pow a 2)))))
(* (pow a 4) (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ (pow b 4) (pow a 4)))))
(* (pow a 2) (+ 1 (/ (pow b 2) (pow a 2))))
(* a (pow b 2))
(* a (+ (* 3 (/ (pow b 2) a)) (pow b 2)))
(* -1 (pow a 3))
(* (pow a 3) (- (/ 1 a) 1))
(* (pow a 3) (- (+ (/ 1 a) (/ (pow b 2) (pow a 2))) 1))
(* (pow a 3) (- (+ (* 3 (/ (pow b 2) (pow a 3))) (+ (/ 1 a) (/ (pow b 2) (pow a 2)))) 1))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (* 2 (pow b 2))) a))) a))))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (+ (* 2 (pow b 2)) (* 4 (/ (pow b 2) a)))) a))) a))))
(* -1 (* a (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2)))))
(* -1 (* (pow a 3) (- 1 (/ 1 a))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (/ (pow b 2) a)) a)))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (* -1 (/ (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2))) a))) a)))))
(- (+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4)) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4))) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4))) 1)
(+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4)))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4)))
(+ (* 2 (* (pow a 2) (pow b 2))) (pow a 4))
(+ (* (pow b 2) (+ (* 2 (pow a 2)) (pow b 2))) (pow a 4))
(* (pow b 2) (+ 3 a))
(* (pow a 2) (- 1 a))
(+ (* (pow a 2) (- 1 a)) (* (pow b 2) (+ 3 a)))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (* 4 (/ (+ 3 a) (pow b 2))))))
(* (pow b 4) (- (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))) (/ 1 (pow b 4))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))))
(* (pow b 4) (+ 1 (* 2 (/ (pow a 2) (pow b 2)))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (/ (pow a 4) (pow b 4)))))
(* (pow b 2) (+ 1 (/ (pow a 2) (pow b 2))))
(* (pow b 2) (+ 3 (+ a (/ (* (pow a 2) (- 1 a)) (pow b 2)))))
Outputs
(- (+ (* 12 (pow b 2)) (pow b 4)) 1)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
(- (+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4))) 1)
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))))
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4))) 1)
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4))) 1)
(+.f64 (*.f64 a a) (*.f64 b b))
(+ (* 12 (pow b 2)) (pow b 4))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
(+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4)))
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4)))
(*.f64 b b)
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(pow b 4)
#s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(+ (* 2 (* (pow a 2) (pow b 2))) (pow b 4))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(+ (* (pow a 2) (+ (* 2 (pow b 2)) (pow a 2))) (pow b 4))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
(pow b 2)
(+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b))
(+ (pow a 2) (pow b 2))
#s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64)))
(* 3 (pow b 2))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
(+ (* 3 (pow b 2)) (* a (pow b 2)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(pow a 2)
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(+ (* 3 (pow b 2)) (* a (+ a (pow b 2))))
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(+ (* 3 (pow b 2)) (* a (+ (* a (+ 1 (* -1 a))) (pow b 2))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
(pow a 4)
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
(* (pow a 4) (- 1 (* 4 (/ 1 a))))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ 4 (pow a 2)))) (* 4 (/ 1 a))))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (+ (* 4 (/ (pow b 2) (pow a 3))) (/ 4 (pow a 2))))) (* 4 (/ 1 a))))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(* (pow a 4) (+ 1 (* 2 (/ (pow b 2) (pow a 2)))))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))

rewrite2.0ms (0.1%)

Memory
4.7MiB live, 4.7MiB allocated
Counts
23 → 23
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
(*.f64 b b)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
(+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b))
#s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
(*.f64 b b)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
(+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b))
#s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))

eval7.0ms (0.3%)

Memory
-21.9MiB live, 17.3MiB allocated
Compiler

Compiled 5 265 to 131 computations (97.5% saved)

prune17.0ms (0.8%)

Memory
-10.8MiB live, 31.7MiB allocated
Pruning

19 alts after pruning (9 fresh and 10 done)

PrunedKeptTotal
New56561
Fresh044
Picked055
Done055
Total561975
Accuracy
99.9%
Counts
75 → 19
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.1%
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
44.9%
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
47.6%
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
45.4%
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
75.9%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
50.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
60.1%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
69.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
48.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
51.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
31.7%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) #s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))))))))
27.7%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
27.9%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
51.2%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
51.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
30.7%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
27.8%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
24.5%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
2.8%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
Compiler

Compiled 1 968 to 811 computations (58.8% saved)

simplify3.0ms (0.1%)

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

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
cost-diff0
#s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
cost-diff0
(+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))
cost-diff0
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
cost-diff0
(*.f64 b b)
cost-diff0
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
cost-diff0
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
cost-diff0
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
cost-diff0
(*.f64 a a)
cost-diff0
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
cost-diff0
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)))
cost-diff0
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
cost-diff0
(+.f64 #s(literal 3 binary64) a)
cost-diff0
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
cost-diff0
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
cost-diff0
(+.f64 (*.f64 a a) (*.f64 b b))
cost-diff0
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
cost-diff0
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))))
cost-diff0
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
a
(*.f64 b b)
b
#s(literal 2 binary64)
(*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))
#s(literal 4 binary64)
#s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
#s(literal 1 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
a
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
(*.f64 b b)
b
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(literal 4 binary64)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
a
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
(+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))
#s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(*.f64 b b)
b
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
#s(literal 1 binary64)
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(literal 4 binary64)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
(-.f64 #s(literal 1 binary64) a)
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a a)
a
(*.f64 b b)
b
#s(literal 2 binary64)
(*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))
#s(literal 4 binary64)
#s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
#s(literal 1 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
a
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
(*.f64 b b)
b
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(literal 4 binary64)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
a
(-.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
(+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))
#s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
(*.f64 b b)
b
(+.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
#s(literal 1 binary64)
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(literal 4 binary64)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
(-.f64 #s(literal 1 binary64) a)

localize64.0ms (3%)

Memory
3.4MiB live, 81.0MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy15.378242195524221
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
accuracy33.05395267582544
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
accuracy39.545482221045205
#s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
accuracy43.250897220769154
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
accuracy8.769531250000002
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
accuracy9.894485838264533
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
accuracy15.134579789032129
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
accuracy39.558083765159125
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
accuracy0.0
(-.f64 #s(literal 1 binary64) a)
accuracy0.0
(*.f64 a a)
accuracy0.0390625
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
accuracy44.802284381774555
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)))
accuracy0.0
(+.f64 #s(literal 3 binary64) a)
accuracy48.29942972842183
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
accuracy61.054934741958945
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
accuracy8.769531250000002
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))))
accuracy15.134579789032129
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
accuracy40.658972875793445
#s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
accuracy43.250897220769154
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
Samples
37.0ms256×0valid
Compiler

Compiled 1 800 to 70 computations (96.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-mult: 7.0ms (42.6% of total)
ival-add: 4.0ms (24.4% of total)
ival-sub: 2.0ms (12.2% of total)
ival-pow2: 2.0ms (12.2% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series10.0ms (0.4%)

Memory
13.1MiB live, 13.1MiB allocated
Counts
24 → 65
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
(*.f64 b b)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
(+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))
#s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
#s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(-.f64 #s(literal 1 binary64) a)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
Outputs
(- (+ (* 12 (pow b 2)) (pow b 4)) 1)
(- (+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4))) 1)
(+ (* 12 (pow b 2)) (pow b 4))
(+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4)))
(pow b 4)
(+ (* 2 (* (pow a 2) (pow b 2))) (pow b 4))
(+ (* (pow a 2) (+ (* 2 (pow b 2)) (pow a 2))) (pow b 4))
(pow b 2)
(+ (pow a 2) (pow b 2))
(* 3 (pow b 2))
(+ (* 3 (pow b 2)) (* a (pow b 2)))
3
(+ 3 a)
(pow a 2)
(* (pow a 2) (+ 1 (* -1 a)))
(+ (* 3 (pow b 2)) (* a (+ a (pow b 2))))
(+ (* 3 (pow b 2)) (* a (+ (* a (+ 1 (* -1 a))) (pow b 2))))
1
(+ 1 (* -1 a))
(pow a 4)
(* (pow a 4) (- 1 (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ 4 (pow a 2)))) (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (+ (* 4 (/ (pow b 2) (pow a 3))) (/ 4 (pow a 2))))) (* 4 (/ 1 a))))
(* (pow a 4) (+ 1 (* 2 (/ (pow b 2) (pow a 2)))))
(* (pow a 4) (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ (pow b 4) (pow a 4)))))
(* (pow a 2) (+ 1 (/ (pow b 2) (pow a 2))))
(* a (pow b 2))
(* a (+ (* 3 (/ (pow b 2) a)) (pow b 2)))
a
(* a (+ 1 (* 3 (/ 1 a))))
(* -1 (pow a 3))
(* (pow a 3) (- (/ 1 a) 1))
(* (pow a 3) (- (+ (/ 1 a) (/ (pow b 2) (pow a 2))) 1))
(* (pow a 3) (- (+ (* 3 (/ (pow b 2) (pow a 3))) (+ (/ 1 a) (/ (pow b 2) (pow a 2)))) 1))
(* -1 a)
(* a (- (/ 1 a) 1))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (* 2 (pow b 2))) a))) a))))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (+ (* 2 (pow b 2)) (* 4 (/ (pow b 2) a)))) a))) a))))
(* -1 (* a (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2)))))
(* -1 (* (pow a 3) (- 1 (/ 1 a))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (/ (pow b 2) a)) a)))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (* -1 (/ (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2))) a))) a)))))
(* -1 (* a (- 1 (/ 1 a))))
(- (+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4)) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4))) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4))) 1)
(+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4)))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4)))
(+ (* 2 (* (pow a 2) (pow b 2))) (pow a 4))
(+ (* (pow b 2) (+ (* 2 (pow a 2)) (pow b 2))) (pow a 4))
(* (pow b 2) (+ 3 a))
(* (pow a 2) (- 1 a))
(+ (* (pow a 2) (- 1 a)) (* (pow b 2) (+ 3 a)))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (* 4 (/ (+ 3 a) (pow b 2))))))
(* (pow b 4) (- (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))) (/ 1 (pow b 4))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))))
(* (pow b 4) (+ 1 (* 2 (/ (pow a 2) (pow b 2)))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (/ (pow a 4) (pow b 4)))))
(* (pow b 2) (+ 1 (/ (pow a 2) (pow b 2))))
(* (pow b 2) (+ 3 (+ a (/ (* (pow a 2) (- 1 a)) (pow b 2)))))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
b
@inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* (* b b) (+ 3 a)) (+ 3 a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (* (* a a) (- 1 a)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* a a) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (- 1 a) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (pow (+ (* a a) (* b b)) 2))
1.0ms
b
@-inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* (* b b) (+ 3 a)) (+ 3 a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (* (* a a) (- 1 a)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* a a) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (- 1 a) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (pow (+ (* a a) (* b b)) 2))
1.0ms
a
@inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* (* b b) (+ 3 a)) (+ 3 a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (* (* a a) (- 1 a)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* a a) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (- 1 a) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (pow (+ (* a a) (* b b)) 2))
1.0ms
a
@-inf
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* (* b b) (+ 3 a)) (+ 3 a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (* (* a a) (- 1 a)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* a a) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (- 1 a) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (pow (+ (* a a) (* b b)) 2))
1.0ms
b
@0
((- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (+ (* a a) (* b b)) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (* (* b b) (+ 3 a)) (+ 3 a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (* (* a a) (- 1 a)) (* a a) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (pow (+ (* a a) (* b b)) 2) (* b b) (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+ (* a a) (* b b)) (* a a) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (- 1 a) (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (pow (+ (* a a) (* b b)) 2))

simplify1.0ms (0.1%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
egg-herbie
Counts
65 → 24
Calls
Call 1
Inputs
(- (+ (* 12 (pow b 2)) (pow b 4)) 1)
(- (+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4))) 1)
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4))) 1)
(+ (* 12 (pow b 2)) (pow b 4))
(+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4)))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4)))
(pow b 4)
(+ (* 2 (* (pow a 2) (pow b 2))) (pow b 4))
(+ (* (pow a 2) (+ (* 2 (pow b 2)) (pow a 2))) (pow b 4))
(pow b 2)
(+ (pow a 2) (pow b 2))
(* 3 (pow b 2))
(+ (* 3 (pow b 2)) (* a (pow b 2)))
3
(+ 3 a)
(pow a 2)
(* (pow a 2) (+ 1 (* -1 a)))
(+ (* 3 (pow b 2)) (* a (+ a (pow b 2))))
(+ (* 3 (pow b 2)) (* a (+ (* a (+ 1 (* -1 a))) (pow b 2))))
1
(+ 1 (* -1 a))
(pow a 4)
(* (pow a 4) (- 1 (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ 4 (pow a 2)))) (* 4 (/ 1 a))))
(* (pow a 4) (- (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (+ (* 4 (/ (pow b 2) (pow a 3))) (/ 4 (pow a 2))))) (* 4 (/ 1 a))))
(* (pow a 4) (+ 1 (* 2 (/ (pow b 2) (pow a 2)))))
(* (pow a 4) (+ 1 (+ (* 2 (/ (pow b 2) (pow a 2))) (/ (pow b 4) (pow a 4)))))
(* (pow a 2) (+ 1 (/ (pow b 2) (pow a 2))))
(* a (pow b 2))
(* a (+ (* 3 (/ (pow b 2) a)) (pow b 2)))
a
(* a (+ 1 (* 3 (/ 1 a))))
(* -1 (pow a 3))
(* (pow a 3) (- (/ 1 a) 1))
(* (pow a 3) (- (+ (/ 1 a) (/ (pow b 2) (pow a 2))) 1))
(* (pow a 3) (- (+ (* 3 (/ (pow b 2) (pow a 3))) (+ (/ 1 a) (/ (pow b 2) (pow a 2)))) 1))
(* -1 a)
(* a (- (/ 1 a) 1))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (* 2 (pow b 2))) a))) a))))
(* (pow a 4) (+ 1 (* -1 (/ (+ 4 (* -1 (/ (+ 4 (+ (* 2 (pow b 2)) (* 4 (/ (pow b 2) a)))) a))) a))))
(* -1 (* a (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2)))))
(* -1 (* (pow a 3) (- 1 (/ 1 a))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (/ (pow b 2) a)) a)))))
(* -1 (* (pow a 3) (+ 1 (* -1 (/ (+ 1 (* -1 (/ (+ (* -3 (/ (pow b 2) a)) (* -1 (pow b 2))) a))) a)))))
(* -1 (* a (- 1 (/ 1 a))))
(- (+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4)) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4))) 1)
(- (+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4))) 1)
(+ (* 4 (* (pow a 2) (- 1 a))) (pow a 4))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (* 4 (+ 3 a)))) (pow a 4)))
(+ (* 4 (* (pow a 2) (- 1 a))) (+ (* (pow b 2) (+ (* 2 (pow a 2)) (+ (* 4 (+ 3 a)) (pow b 2)))) (pow a 4)))
(+ (* 2 (* (pow a 2) (pow b 2))) (pow a 4))
(+ (* (pow b 2) (+ (* 2 (pow a 2)) (pow b 2))) (pow a 4))
(* (pow b 2) (+ 3 a))
(* (pow a 2) (- 1 a))
(+ (* (pow a 2) (- 1 a)) (* (pow b 2) (+ 3 a)))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (* 4 (/ (+ 3 a) (pow b 2))))))
(* (pow b 4) (- (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))) (/ 1 (pow b 4))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (+ (* 4 (/ (* (pow a 2) (- 1 a)) (pow b 4))) (+ (* 4 (/ (+ 3 a) (pow b 2))) (/ (pow a 4) (pow b 4)))))))
(* (pow b 4) (+ 1 (* 2 (/ (pow a 2) (pow b 2)))))
(* (pow b 4) (+ 1 (+ (* 2 (/ (pow a 2) (pow b 2))) (/ (pow a 4) (pow b 4)))))
(* (pow b 2) (+ 1 (/ (pow a 2) (pow b 2))))
(* (pow b 2) (+ 3 (+ a (/ (* (pow a 2) (- 1 a)) (pow b 2)))))
Outputs
(- (+ (* 12 (pow b 2)) (pow b 4)) 1)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(- (+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4))) 1)
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))))
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4))) 1)
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(- (+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4))) 1)
(+.f64 (*.f64 a a) (*.f64 b b))
(+ (* 12 (pow b 2)) (pow b 4))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
(+ (* 4 (* a (pow b 2))) (+ (* 12 (pow b 2)) (pow b 4)))
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (* 2 (pow b 2)))))) (pow b 4)))
(+.f64 #s(literal 3 binary64) a)
(+ (* 12 (pow b 2)) (+ (* a (+ (* 4 (pow b 2)) (* a (+ 4 (+ (* -4 a) (* 2 (pow b 2))))))) (pow b 4)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(pow b 4)
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)))
(+ (* 2 (* (pow a 2) (pow b 2))) (pow b 4))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(+ (* (pow a 2) (+ (* 2 (pow b 2)) (pow a 2))) (pow b 4))
(*.f64 a a)
(pow b 2)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+ (pow a 2) (pow b 2))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(* 3 (pow b 2))
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
(+ (* 3 (pow b 2)) (* a (pow b 2)))
(*.f64 b b)
3
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
(+ 3 a)
(+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))
(pow a 2)
#s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(* (pow a 2) (+ 1 (* -1 a)))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
(+ (* 3 (pow b 2)) (* a (+ a (pow b 2))))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(+ (* 3 (pow b 2)) (* a (+ (* a (+ 1 (* -1 a))) (pow b 2))))
#s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
1
(-.f64 #s(literal 1 binary64) a)
(+ 1 (* -1 a))
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
(pow a 4)
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))

rewrite2.0ms (0.1%)

Memory
2.8MiB live, 2.8MiB allocated
Counts
24 → 24
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
(*.f64 b b)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
(+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))
#s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
#s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(-.f64 #s(literal 1 binary64) a)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))))
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
(+.f64 (*.f64 a a) (*.f64 b b))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))
(+.f64 #s(literal 3 binary64) a)
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
(*.f64 a a)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b))
(*.f64 b b)
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
(+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))
#s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
#s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
#s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))
(-.f64 #s(literal 1 binary64) a)
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
#s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64)))

eval10.0ms (0.5%)

Memory
-25.4MiB live, 13.6MiB allocated
Compiler

Compiled 7 896 to 183 computations (97.7% saved)

prune27.0ms (1.3%)

Memory
-3.4MiB live, 39.1MiB allocated
Pruning

23 alts after pruning (10 fresh and 13 done)

PrunedKeptTotal
New75782
Fresh134
Picked145
Done1910
Total7823101
Accuracy
99.9%
Counts
101 → 23
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.1%
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
44.9%
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
47.6%
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
45.4%
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
45.3%
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64))
75.9%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
60.1%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
65.9%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))))
48.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
51.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
27.7%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
27.9%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
30.7%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) #s(approx (+ 3 a) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))))))))
22.7%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
32.1%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 #s(approx (* (* a a) (- 1 a)) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
43.5%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 a a)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
51.2%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
51.4%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
54.0%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) #s(approx (+ 3 a) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
30.7%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
27.8%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
24.5%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
2.8%
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
Compiler

Compiled 3 718 to 800 computations (78.5% saved)

regimes37.0ms (1.7%)

Memory
0.2MiB live, 39.2MiB allocated
Counts
27 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 a a)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 #s(approx (* (* a a) (- 1 a)) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) #s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) #s(approx (+ 3 a) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) #s(approx (+ 3 a) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Outputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
Calls

5 calls:

8.0ms
a
7.0ms
b
7.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
6.0ms
(*.f64 b b)
6.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
99.9%3a
94.2%3b
99.9%2(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
99.9%2(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
94.1%2(*.f64 b b)
Compiler

Compiled 61 to 42 computations (31.1% saved)

regimes14.0ms (0.7%)

Memory
12.7MiB live, 12.7MiB allocated
Counts
26 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 a a)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 #s(approx (* (* a a) (- 1 a)) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) #s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) #s(approx (+ 3 a) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) #s(approx (+ 3 a) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) #s(approx (+ 3 a) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
Calls

2 calls:

7.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
6.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
99.3%2(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
99.3%2(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
Compiler

Compiled 56 to 35 computations (37.5% saved)

regimes12.0ms (0.6%)

Memory
10.9MiB live, 10.9MiB allocated
Counts
21 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 a a)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 #s(approx (* (* a a) (- 1 a)) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) #s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) #s(approx (+ 3 a) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)))
Calls

2 calls:

6.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
5.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
99.3%2(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
99.3%2(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
Compiler

Compiled 56 to 35 computations (37.5% saved)

regimes33.0ms (1.6%)

Memory
-11.4MiB live, 25.1MiB allocated
Counts
20 → 4
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 a a)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 #s(approx (* (* a a) (- 1 a)) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) #s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) #s(approx (+ 3 a) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))))))))
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) #s(approx (+ 3 a) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b))))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
Calls

5 calls:

11.0ms
a
6.0ms
b
5.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
5.0ms
(*.f64 b b)
5.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
69.4%3b
73.1%4(*.f64 b b)
81.8%5a
82.3%4(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
82.3%4(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
Compiler

Compiled 61 to 42 computations (31.1% saved)

regimes11.0ms (0.5%)

Memory
10.3MiB live, 10.3MiB allocated
Counts
19 → 3
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 a a)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 #s(approx (* (* a a) (- 1 a)) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) #s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))))))))
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
Calls

2 calls:

5.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
5.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
80.7%3(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
80.7%3(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
Compiler

Compiled 56 to 35 computations (37.5% saved)

regimes13.0ms (0.6%)

Memory
12.1MiB live, 12.1MiB allocated
Counts
14 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 a a)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
Calls

3 calls:

4.0ms
a
4.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
4.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
76.0%3a
75.4%2(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
75.4%2(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
Compiler

Compiled 57 to 37 computations (35.1% saved)

regimes13.0ms (0.6%)

Memory
-28.6MiB live, 8.4MiB allocated
Counts
13 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 a a)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a))))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) #s(approx (- 1 a) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))) #s(literal 1 binary64))
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (* a a) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
Calls

2 calls:

8.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
4.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
Results
AccuracySegmentsBranch
75.2%2(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
75.2%2(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
Compiler

Compiled 56 to 35 computations (37.5% saved)

regimes6.0ms (0.3%)

Memory
6.4MiB live, 6.4MiB allocated
Counts
9 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 a a)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
Outputs
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
Calls

2 calls:

3.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
3.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
75.2%2(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
75.2%2(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
Compiler

Compiled 56 to 35 computations (37.5% saved)

regimes9.0ms (0.4%)

Memory
9.0MiB live, 9.0MiB allocated
Counts
8 → 3
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 a a)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
Outputs
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 a a)) (*.f64 #s(literal 4 binary64) #s(approx (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))) (-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))))))
Calls

3 calls:

3.0ms
a
3.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
2.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
75.8%3a
71.7%2(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
71.7%2(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
Compiler

Compiled 57 to 37 computations (35.1% saved)

regimes3.0ms (0.2%)

Memory
3.5MiB live, 3.5MiB allocated
Counts
7 → 3
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
Outputs
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
Calls

1 calls:

3.0ms
a
Results
AccuracySegmentsBranch
75.6%3a
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes7.0ms (0.3%)

Memory
8.0MiB live, 8.0MiB allocated
Counts
6 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
Outputs
(-.f64 #s(approx (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))) #s(literal 1 binary64))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
Calls

3 calls:

2.0ms
a
2.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
2.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
71.7%2(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
71.7%2(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
61.8%2a
Compiler

Compiled 57 to 37 computations (35.1% saved)

regimes16.0ms (0.7%)

Memory
-30.1MiB live, 12.5MiB allocated
Counts
5 → 1
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (+.f64 (*.f64 a a) (*.f64 b b)))
Calls

5 calls:

7.0ms
a
2.0ms
b
2.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
2.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
2.0ms
(*.f64 b b)
Results
AccuracySegmentsBranch
48.4%1a
48.4%1b
48.4%1(*.f64 b b)
48.4%1(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
48.4%1(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
Compiler

Compiled 61 to 42 computations (31.1% saved)

regimes10.0ms (0.5%)

Memory
11.3MiB live, 11.3MiB allocated
Counts
4 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (+ (* a a) (* b b)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) (*.f64 a a))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
Calls

5 calls:

2.0ms
b
2.0ms
a
2.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
2.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
2.0ms
(*.f64 b b)
Results
AccuracySegmentsBranch
47.9%3b
36.8%2(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
36.8%2(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
48.0%3a
47.9%2(*.f64 b b)
Compiler

Compiled 61 to 42 computations (31.1% saved)

regimes7.0ms (0.3%)

Memory
9.4MiB live, 9.4MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (pow (+ (* a a) (* b b)) 2) (*.f64 b b)))
Calls

5 calls:

1.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
1.0ms
a
1.0ms
b
1.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
1.0ms
(*.f64 b b)
Results
AccuracySegmentsBranch
27.8%1(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
27.8%1(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
27.8%1b
27.8%1a
27.8%1(*.f64 b b)
Compiler

Compiled 61 to 42 computations (31.1% saved)

regimes6.0ms (0.3%)

Memory
8.8MiB live, 8.8MiB allocated
Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
Outputs
#s(approx (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1) #s(approx (* (* b b) (+ 3 a)) (+.f64 #s(literal 3 binary64) a)))
Calls

5 calls:

1.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
1.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
1.0ms
a
1.0ms
b
1.0ms
(*.f64 b b)
Results
AccuracySegmentsBranch
2.8%1(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
2.8%1(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
2.8%1(*.f64 b b)
2.8%1b
2.8%1a
Compiler

Compiled 61 to 42 computations (31.1% saved)

bsearch1.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0823185926502287e+27
1.4083774438591208e+50
Compiler

Compiled 32 to 24 computations (25% saved)

bsearch1.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.3354772668912375e-7
64971646116644.88
Compiler

Compiled 32 to 24 computations (25% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.3354772668912375e-7
64971646116644.88
Compiler

Compiled 32 to 24 computations (25% saved)

bsearch1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
0.0ms
2.3476055409684038e+303
+inf
0.0ms
1.333280931506179e+24
1.0823185926502287e+27
Compiler

Compiled 32 to 24 computations (25% saved)

bsearch1.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
0.0ms
1.333280931506179e+24
1.0823185926502287e+27
Compiler

Compiled 32 to 24 computations (25% saved)

bsearch0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
Compiler

Compiled 32 to 24 computations (25% saved)

bsearch0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
Compiler

Compiled 32 to 24 computations (25% saved)

bsearch0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
Compiler

Compiled 32 to 24 computations (25% saved)

bsearch46.0ms (2.1%)

Memory
-8.5MiB live, 29.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
9.017718730751677e-14
0.0010737409988005714
20.0ms
-0.00024160469298282705
-1.9877696782597316e-7
Samples
28.0ms288×0valid
Compiler

Compiled 1 984 to 994 computations (49.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-mult: 12.0ms (54.8% of total)
ival-add: 4.0ms (18.3% of total)
ival-pow2: 3.0ms (13.7% of total)
ival-sub: 2.0ms (9.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch32.0ms (1.5%)

Memory
-18.6MiB live, 16.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
3.345528283590989e+152
5.502132393979964e+164
1.0ms
-0.00024160469298282705
-1.9877696782597316e-7
Samples
14.0ms160×0valid
Compiler

Compiled 1 324 to 874 computations (34% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 4.0ms (40% of total)
ival-add: 3.0ms (30% of total)
ival-sub: 1.0ms (10% of total)
ival-pow2: 1.0ms (10% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.3354772668912375e-7
64971646116644.88
Compiler

Compiled 32 to 24 computations (25% saved)

bsearch11.0ms (0.5%)

Memory
7.8MiB live, 7.8MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
9.0ms
2.9156613827141506e+256
6.811061948800567e+256
Samples
6.0ms80×0valid
Compiler

Compiled 400 to 232 computations (42% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-mult: 2.0ms (42.9% of total)
ival-sub: 1.0ms (21.4% of total)
ival-add: 1.0ms (21.4% of total)
ival-pow2: 1.0ms (21.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify5.0ms (0.2%)

Memory
6.1MiB live, 6.1MiB allocated

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...